Answer the question
In order to leave comments, you need to log in
What should a Senior C++ Developer know?
I'm currently learning C++ from the book Philosophy of C++ by Bruce Eckel.
I want to work as a C++ programmer. Very often I see vacancies - such as a subject is required.
So please answer what I need to know to be able to work in this position?
Or in another way, what should I definitely read/write to become one?
Please take this question seriously.
PS 4 course profile higher.
Answer the question
In order to leave comments, you need to log in
Experience is needed. At least 5 years. In general, a senior should not even be able to write code well, but see the risks and make decisions that will definitely not harm the project. I think a C++ programmer can be considered a senior when he is able to make decisions like:
1. Choice of IDE, compiler, language version.
2. Write from scratch or take ready-made.
3. Use STL\Boost\MFC\ATL\Qt or not. If so, what is better in this case and why.
4. Is it worth refactoring the code or not.
5. Write yourself \ give to Juniory
, etc.
Oh yes, another important sign of "seniorism" is the realization of the fact that for a C ++ programmer there should not be impossible things. Some Java or .NET programmer there can say something like “these are platform limitations.”, “The program here cannot eat less than this amount of memory”, “this cannot be intercepted - the code is in the bowels of the OS / platform”. A C++ senior should be able to dig, disassemble, and debug everything, down to system libraries, drivers, and BIOS.
I advise you to find a job - remote or part-time. Students who are ready to work for 10-20k are taken apart like hot cakes. In this regard, you can immediately go to an interview in 3-5 places and find the most interesting / convenient for you. Experience and special knowledge are not needed, the main thing is brains.
Only (very important!) I advise you to immediately look for a place where it will be interesting to work after receiving a diploma. And also, where team work takes place (in the sense - real, with documentation, svn, etc.) and preferably - sometimes they speak English. If you add high-loaded projects to all this, it’s generally super. By the end of the institute you will already have both knowledge and production experience.
As a C++ programmer, you must be well versed in STL and Boost, debugging tools and APIs for the platform you are writing for (UNIX/Windows), as well as a dozen cross-platform libraries (Crypto++, cURLpp, Qt, wxWidgets , ...). Knowledge of assembler does not hurt. Well, study the development processes, the rules for writing readable and easy-to-maintain code, UML, networks, etc.
It's more about experience, knowledge alone will not be enough, aim first with the encoder
A strange question for a student, how to become a signor right away.
As for the junior, I can tell you a little, because a year ago I was looking for a job for just such a vacancy, but in C#.
Decide what exactly you want to write in C ++ (network programming, system programming, etc.), having decided to write something from the field, take part in a startup. You will gain production experience, which will allow you to talk at the interview not about what you were taught, but about what you really did. Real projects will give code experience and teamwork experience.
In general, there is only one conclusion - it is necessary to write code)))
Senior = experience, so you have to think about Junior for now.
Undertake to do some project, as difficult as possible. Along the way, you will understand what you need to know in order to implement it. There are actually many ways, you can become a universal person, you can delve into a particular area. First you need to answer the question, what do you want to do? Applications for users, server, drivers, 3d, database, CAD, audio, etc. etc.?
If you want, I can offer a real problem, where much will become clear. If you suddenly like it, I can offer a lot of interesting further cooperation, if not, you will know what you didn’t like :)
Friend, when you write programs, do not forget about administrators - it is a titanic work to add installers for programmers, deploy programs in the domain that are not intended for this and answer user questions about what to do if your program displays the message “Contact administrator” ... ;) And so everything is in the case.
You won't believe it, but after working you will understand what you need =) There is very little to clearly strive for something, you just need to be able to work.
Now I work as a middle and would also like to know in what areas it is worth developing in order to become a senior.
For my part, I can add, start doing your project, no matter what it will be, the main thing is that it be extensive, and affect various technologies. When applying for a job, the employer will be able to look at how you write and what technologies you can work with, this will be very important. I myself have repeatedly observed how people are hired because of their projects: chess, 3D Tetris, video player, chat, etc.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question