Answer the question
In order to leave comments, you need to log in
System vs Application programmer?
Good afternoon.
Help with the choice, or rather tell me which of the areas feels / will feel better. I am currently a 2nd year IT student. I firmly decided to link my life with programming, but it is not yet clear with what area. Web programming looks the least attractive, so I don’t particularly consider this option. I myself prefer applied programming, or rather the sphere of game development, but sometimes you read all sorts of "unfortunate experiences" of beginners (and with experience) developers, so you start thinking and thinking. In addition, sys. the area is not intimidating at all. Actually, dispel the myths, is everything so bad in game development?) And tell me in which of the areas there are more:
1) vacancies / less required initial knowledge. (where it is easier to find a job)
2) average salary
3) stability (some sources claim that game dev is extremely unstable: that is, work, then not, then it will take off, then not, unstable salaries, etc. ... is this true? and how are things with system programmers? )
4) promising
5) complexity of the work in general (More likely not even complexity, but dreary / uninteresting. This is a very individual parameter, but it would still be interesting to know)
In case of an unsuccessful choice, is it difficult to change the area? Do I need to start all experience from 0 ?
And of course I would like to hear your opinion about these areas in general. Thanks in advance :)
Answer the question
In order to leave comments, you need to log in
Well, for a student of the 2nd year, without experience, WEB was thrown too categorically.
One way or another, all major systems go to the web.
See for yourself, choose for yourself, but do not chop hot.
1. Most of the vacancies are for web programming and various kinds of financial software. Java, C#, Python, PHP.
2. The salary is about the same for everyone. Best of all those who work remotely for foreign customers.
3. Stability depends on the company. For example, jetbrains and google will always have vacancies. Small companies have less work, respectively, and such a company can suddenly go bankrupt.
4. Google will always be. Machine learning will always be. There will always be games too.
5. Hazing. Gamedev - you make game AI, graphics, etc. Mostly geometry (product of vectors, matrices, etc. Google, etc. web - working with strings, databases, machine learning, etc.
You can always change the complex area to the web, because there's not much to learn there. Especially after writing a game server where you can play with bots. Perhaps the difference is that if you are a good web or Java, C # programmer, then you can become a senior or early at a young age. department with an appropriate salary (more than 100 thousand rubles per month). In the gaming industry, becoming a senior C++ is not so easy, and even more so as a head of a department.
In general, I have a cool attitude towards the gaming industry, since there is no practical benefit from games, but there are times when a person spoils his health because of games. In my opinion, it is better to make medical simulators and equipment, industrial robots, autopilots for civil cars and aircraft, because. if you work for the military, you may be banned from leaving, and good programmers often leave because it's better abroad.
For you, as a second-year student, you need to set a goal to graduate from a university, to comprehend all the basic sciences that you will be given, to study as much as possible on your own what you like best.
It doesn't matter what you go through and comprehend in the remaining time, someday it will come in handy. Though mathematics, even physics, even logic. Yes, in some areas of IT something is not required. But you must leave the university as a universal specialist to work in any high-tech field, and most importantly, you must be able to learn. Since if you decide to associate yourself with computerization, then you will always have to learn, progress is inexorable. And even not only IT, now marketing and management, everything is intertwined with the web and IT.
You will become a good specialist, you will love your job, work will become your hobby - then you will have the best salary with which you will be satisfied, you will be appreciated and employers will pull you apart, if only you go to them ...
And at the expense of those areas that you named - systems engineers or applied engineers - everything is in demand. In our world of technology, everything is needed. While studying at a university, master everything that you cannot master outside its walls, all the fundamental sciences. Try, participate in various projects where it will be more interesting, you yourself will understand and you will be dragged into the area where it will be more comfortable for you, system programming, applied, security, web, etc... Love what you want to do, feel it! And there is nothing wrong with that if you like both. Yes, it is impossible to become a super pro in all areas, there is simply not enough time, but it is real to be at a very good level of development of your skills in these areas. And knowledge in one direction will help in another, in which you work. After all, in the world of high technologies everything is interconnected,
I communicate with programmers of various specializations, it was interesting to compare their opinions about each other.
Web programmers sometimes think about "real" programming. Not in PHP, but in C++. Better on S. To close to the iron. That's real programming, and that's where the hardcore system programmers live. And they pay more there... alenacpp.blogspot.ru/2010/03/blog-post_21.html
IMHO, I'm not a gamer, but I think these criteria are relevant for anyone.
1) Nowhere (or rather, any company has its own list of necessary knowledge for juniors), to study this item, and indeed everyone, you climb on hh.ru or Yandex.work and look for programmer vacancies, and look at who has what requirements and what salary
2) in most cases it depends on what the offices are working on, large projects are larger (not always), well, in each region in its own way, you also need to proceed from experience and (in general, see 1 point)
3) I think any project work is not stable at the beginning, if they came up with and did it, then it might not take off, and if they came up with it, made a plan, conducted research (who needs it or not), then the chances of taking off are higher, but not 99% ( the market is complex. And if you go to an already working project, then over time it will die one way or another (nothing lasts forever) , if there are no features, new versions and other things (since everything gets boring over time, although my father has been playing civilization 3 for 15 years)
4) people will always play games and pay for them accordingly, but for cool games, they will pay a lot, p.s. especially on mobile phones
5) personally deduced for himself, for a programmer there is nothing complicated, there is simply something that he knows how to implement, and if he doesn’t know, he learns and implements it. Interest depends on...Damn, if you are interested in programming, what a question .
If you are not over 50, then changing is nonsense, the main thing is to keep up with the IT world as a whole, and so, the same language is used in different areas, just the objects are different (do not move and do not shoot, etc.)
The web is promising. The probability of getting a job as a junior web dev is much higher than that of a game dev or a software engineer.
Plus, indie game devs at home, after work, no one canceled. Sit sawing, the game will take off, you will leave your main job, it will not take off, so it will be on bread and butter.
For example, I work as a junior, at home after work I pick game devs slowly.
Very personal opinion
The division into system and application programmers is from the distant past.
Now there is almost no work for system programmers.
There is a bit of work, but against the background of the amount of work for application programmers, there are almost no system programmers.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question