Answer the question
In order to leave comments, you need to log in
What are narrow, but popular specializations in programming?
Dear programmers, please tell us what narrow specializations there are in such a big business as programming. Many times I read posts on Habré, and everywhere they write that the most demanded specialist is a good highly specialized professional. I, as a second-year student and already kind of more or less figured out what's what, probably I can and should work to improve myself in a particular area. But it is not very successful to set boundaries, to separate one from the other. Thank you in advance.
Answer the question
In order to leave comments, you need to log in
I think that first you need to figure out what you like best. And for this you need to have a fairly broad specialization. And now, when you decide what exactly you want to do, then go deep into this topic.
And yes. My opinion is that you should not do what brings good money here now, but what you really like. But if you feel high from the work that you are doing, then the money will come for you.
And further. IMHO. If you are a narrow specialist in one particular technology that is being promoted by some particular company, then sooner or later you can find that this particular technology will be obsolete. Of course, if a lot of people and projects were tied to this technology, then it is unlikely that it will be completely abandoned immediately and suddenly. But nevertheless, it may turn out that the demand for specialists in this particular technology will begin to fall. Therefore, it is better to be an expert in a wide range of related technologies, while specializing in one of them. It seems that Spolsky had something similar, but I don’t remember exactly where.
The area you like. In the second year, you should have already decided.
Another tip: the most effective source of practical skills is practice. The university teaches how to study, but it does not give practical skills. Therefore, you will have to combine university and work, or abandon the university.
I agree with risik . In principle, there can be several specializations. But the main thing is to like it. In this case, it will be easy to learn all the details to a sufficiently high level. I can now write desktops in Java. Although now it is no longer needed. Can write server applications (Not J2EE). These basic skills make it possible to write applets (which no one needs either), server applications using other technologies (node.js, Python). I mostly make my living writing JavaScript/CoffeeScript. I can also make simple sites on Wordpress / Yii.
So in case any of my specializations (Swing/Applets) is completely bent, then I will calmly work further with other technologies.
And yes, after choosing a specialization, you need to independently study the technologies just enough to get hired. Learned something - go for an interview in a couple of different companies. They will quickly make it clear that they have learned little. But at the same time they will tell you exactly where to dig.
Really teach will be at work, not at the university. And then how do you get in.
narrow specializations
Narrow specializations usually contain a lot of specific theory and are designed for the fact that you will write at least 1 Phd, well, or do research for 3-5 years.
In such areas, there are the following difficulties:
1) In Russia, if there are, then there are few vacancies and they pay little (all sorts of research institutes).
2) You can go abroad, but you need a lot of experience, and you get it in Russia (see 1).
For example, Rigid Body Simulation, Realtime Render, Embeded Systems. It sounds cool, but understand that in the West this is done mainly in universities. And they bring to production the perfected technology, which was written for several years, for a scholarship.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question