When you start learning programming you will start with the basics. You will normally start with Java or C++ and it takes a few months to get better at writing code. But after that it’s very important to specialize in some zone. You cannot just continue writing general code in Java or C++ because that won’t advance your career, unless you want to be a Java or C++ specialist.
That’s why if you apply for a front end web developer job and you say in your CV that you’re a programmer, people who are hiring would not be trusting you as much as a front end web developer. It’s just psychological thing that we trust those who are specialized more than generalists.
I’ll also give you another good example that will illustrates the important of specializing in programming. Say someone needs an urgent heart surgery. They would call a “heart surgeon specialist” NOT “knee surgeon specialist”, because the former knows a lot more than the latter. He or she has probably done lots of surgeries before in the heart and knows all details thoroughly. The same is true when it coms to programming. If you’re a front end web developer, that does not mean you don’t know anything in the back end. But a Back end web developer knows more than you in the back end.
Moreover, if you specialize in programming you will get better at what you do because you only focus on a few stuff rather than lots of details. Programming fields are expanding year after year with the advancement of technology so there is no way that you are going to learn everything. Even if we assume that you’re a ninja man who learns quickly and learns everything, you will end up using a few of them not everything, which means you will have lost lots of time learning things in programming you won’t be using.
The bottom line is that you have got to pick a specialization and get really good at it unless you want to become a programming language expert, a “Java superman” or “C++ batman!”