Is it worth it to specialize in one area?
Developers often wonder if it's worth specializing in a particular area, or if it's worth it to understand a little bit of everything. In this article, we will discuss why being a specialist is better. So, programmers can be divided into two types.
Generalists
A generalist understands many areas of programming. For example, he may be able to write code for iOS, Android and .NET. He always looks at new technologies and platforms with interest, studies them.
At the same time, he does not study anything that interests him deeply enough, trying to distribute his efforts to everything at once, and as a result he does not understand well in any of the areas.
Specialists
The specialist focuses on the study of one particular area. It is not enough for him to know something superficially, he is always trying to move further.
This does not mean that specialists do not understand anything other than their field. But compared to a generalist, his skills in the main area are incomparable to his skills in other areas. Specialists also study other areas, but still their main efforts are concentrated on one thing.
Why is it better to be a specialist?
There are several reasons why being a specialist is better:
Employers want programmers who are perfectly versed in their work, and do not know a little bit of everything. Thus, specialists have a higher chance of finding a job.
The state of affairs is changing very quickly, and it is impossible to keep track and understand everything at once. If you focus your efforts on a specific area, then it is much easier to keep up with the times.
If you are the best in your field, then you are paid much more than the second in it. This is known as Zipf's law.
Of course, in the short term it's fun to constantly change the areas of your work, but if you thoroughly understand what it is, then the satisfaction of becoming a master in this area is much greater.
Counterarguments
When people are told that they should specialize in a particular area, the most common objection they make is:
What if I become an expert in a field that will soon become redundant? Yes, the computer world is changing very quickly, and there is such a risk. However, you can choose an area that is guaranteed not to sink into oblivion. For example, iOS and Android seem to be dominating the market for a long time to come. So why not become an Android developer?
For specialists in a particular field, there are not so many jobs. Yes, but it will be much easier to get the vacancy that is available, because you will have practically no competitors. So isn't it better to be a small fish in a big pond than a big fish in a small pond?