
Everyone knows that programming is now a super demanded and super paid profession. But few know that there are very few vacancies for beginners. All employers want a person who already has something to come to them. Will write a code that does not need to throw. There are few junior vacancies (not requiring work experience), and the competition here is very large. On the one hand, there is a huge need for programmers. On the other hand, you may encounter difficulties at the beginning of your career. Employers pay attention first of all to those who already have a line on their previous job in the resume. If you do not have it, it will be difficult.
From my own experience I will say that I graduated from a good university and expected that I would immediately be overwhelmed with job offers. But my resume caused minimal interest. I received two invitations for interviews, and no one picked me up with my hands.
')
So how does a newcomer get a first job?
Resume Title
It must somehow be called. There are two options.
- Let's say you programmed in different languages. The school probably wrote on Pascal, and then did something in C ++. If you are older, you may be familiar with Delphi. Therefore, in the title of the summary, you can specify all the languages ​​in which you wrote. Perhaps some would interest a potential employer. For example, like this: "Programmer: delphi, python, php, html, java, c #, ruby, scala" .
- You can specify that you specialize in one thing, such as Python. Usually, if a bunch of languages ​​are listed in the title of the resume, then it is clear that you cannot do anything. Total touched superficially. In the eyes of the employer, you will be the orchestra man who auditioned for the conservatory. Don't do that. Strike out a long sheet and leave it just “Python Programmer”. Increase your self-esteem, do not accentuate in the resume self-doubt due to lack of experience.
The rule follows from this: choose one programming language and specialize in it. At the university I wrote in C ++, then I realized that the vacancies associated with it did not tempt me very much, so I had to move in a different direction. I chose C # and Java for myself. I liked both of them very much, and for a long time I couldn’t decide which one I prefer: there’s such a feature, it’s so seemingly the same. I bought two hefty thick books — by C # Andrew Troelsen and Java by Bruce Ekkel. I spent every week for two weeks and began to respond to vacancies in both languages. I thought where they would take it earlier - in that language and I would go deep. Now I understand that I shifted the responsibility for choosing a language from myself to the universe, to destiny, to the employer.
Coming to each of the interviews, I felt insecure. In both languages ​​I wrote equally poorly. It was not necessary to do so. It was necessary to make a willful decision. You can not choose - throw a coin. The main thing is to decide on any one language.
What language is best to specify in the resume? There are many languages, but they are often interchanged. Not all of them are alive. The main rule - choose popular languages, do not take the exotic. No need to listen to that some Haskel is very cool, cool, can do anything and everything, and functional programming languages ​​are so magical ... Everyone praises his own language.
Language selection
Employers do not need the exotic, but the technologies for which there are a lot of specialists. Decide for yourself whether you need to learn a language in which you will not be able to find a job?
So when choosing a language, pay attention:
- on its popularity;
- to solve problems that interest you;
- on ease of development: at the initial stage, it is better to choose simpler.
Now by the number of vacancies the following languages ​​are most in demand: Javascript, PHP, Java, C ++, Python, C #, Ruby, Swift, Objective-C. Choosing a language, most likely you will stop there. Maybe in two years you will be disappointed or decide to repurpose. But it will hurt a little. On the other hand, you can easily apply your experience in another field of activity.
- If we are talking about the frontend - that is, the development of the visual part of the sites - then everything is simple, we need three languages: HTML, CSS, JavaScript.
- But for the development of the server part of the options a lot. The most popular language is PHP. I am told at every report that they are speaking badly about PHP, some kind of it is different. Many hypothesize that he will die. But nothing of the kind, half of the sites are written in PHP, half of the vacancies on PHP, VKontakte on PHP, like many other major projects. Nowhere is the language going anywhere. If there are critical problems in it, they will simply be fixed. There was Ruby on Rails, a cool engine - well, that's okay, frameworks began to appear on PHP, which introduced similar features. All is well. Separately, I will say that many Python tempts with simplicity and versatility.
- From the point of view of mobile development, there are only two options. If you want to write for Android, this is Java. If under iOS - Swift or Objective-C. Both are good decisions.
- Development for desktop and servers : Python, Javab C ++ or C #. There is room for throwing. Python is simpler than the rest. In Java, you can write under Android. On C # - to go deep into development of games and sites. C ++ is more suitable for those tasks that require high speed. Otherwise, their possibilities are the same, they just write less to Java websites.
A reasonable question arises: if you start from scratch, does it make sense to learn a new language right away? For example, Apple switched from Objectiva-C to Swift, then Swift 2 and 3 appeared. Usually I am conservative and I think that the new is not always justified and really shoots. A new language appears, there are no vacancies for it, but where is the guarantee that they will appear later? Maybe it will write on it with five projects.
As for Objectiva-C and Swift, I have been looking after these languages ​​for a long time, and just the other day the number of vacancies on Swift was equal to Objective-C. My opinion is a very serious indicator that Swift will only gain momentum and over time may supplant Objective-C.
Technology
So, we have chosen a language and indicated it in the summary. Next we list the technologies that we know. Let's see again what is cooler. Suppose you are programming in PHP. Does it make sense to write that you know C, C ++, Pascal, C #, and so on? Do not list all the technologies that are not directly related to your competence. It is necessary to call the vacancy "programmer: PHP". In this case, the employer is not interested in what you once wrote in C and Visual Basic. All this long tail can not specify.
There is another option. Suppose I’m a PHP programmer, but I know all these technologies, because they relate to web development: PHP, YII2, and HTML, different frameworks. If you search for a web developer's job, you will surely see a hefty sheet of additional requirements with a bunch of clever words. And many are afraid of this, especially in web development, it’s scary to know so much ... We should strive for this: know Webpack, work with different databases and so on.
Many, to increase their authority, immediately write that I know this, and I know about it, but I'm new and ready to receive 15-30 thousand so far, and I have no experience. What will be the impression from the employer? The same: man-orchestra.

There is another problem. Suppose an employer believes you know all this. He will come to the interview with this list, poke into any technology and say: “Now we are talking about React, what do you know about him? And what's that? And this? Clearly, we don't know React. ”
Cross out.
“Okay, let's talk about MySQL, write me a transaction that does this and that.”
"Well, I installed only the development environment in MySQL, I made two selects ..."
MySQL is also deleted. He will not even watch anything else. The employer will no longer be interested that you have fried PHP for half a year: he caught you lying. So we cross out all of the above.

From Junior, no one expects him to immediately fly into space. The employer is usually an adequate person. And he understands that Junior will know one programming language and, at best, be superficially familiar with frameworks. The employer is satisfied, because he needs a person who will take away routine operations from leading developers. Therefore, write about your knowledge as honestly as possible.
Moreover, do not even try to get acquainted with all these numerous technologies. If you are a PHP programmer, just write that you know PHP and some HTML and CSS for layout. You are still familiar with one framework - everything, the employer is satisfied with it. He will not drive you on YII, because you did not indicate that you know him. The employer understands that you can be driven by PHP.
If it so happens that you have already touched a lot of things, then honestly write: a superficial acquaintance with such and such technologies. Maybe for the employer it will be a plus.
Education
Does your resume have to confirm that you have graduated from a university, received some certificates, completed courses and so on? This is a good thing in the primary selection, which draws the attention of many personnel officers. They find it difficult to navigate by other criteria. Therefore, they look at work experience and education to make a conclusion.
When I recruited a C # junior team, we posted a vacancy and received 50 responses within two to three weeks. We did not have a personnel officer, so we went programmatically: all candidates were sent a test task. Who made it, passed on. And as an employer, I was not interested in certificates and a diploma. I didn’t even look at the resume until the person sent me the solution of the test task. But for the personnel officer this can be important.
Portfolio
A very important thing at the selection stage. If you have a portfolio, then the employer-programmer will be able to understand whether you are able to solve a problem similar to the one you have already solved.
What can you write in your portfolio? If you want to develop websites, then just make up a puzzle for yourself and solve it in the necessary time. Make a small website and post it, best on Github. And write: I created a small online store, used such and such technologies, here is the code. For an employer, this will be an indicator that you also know about Git. He understands: if I take this newcomer to work, he will do about the same thing to me in two days, with which he himself dealt a month. And he will not have to pay for the fact that he learned what Bootstrap is, he got acquainted with all the necessary things. He himself has already studied this and is now able to solve the problem in a couple of days. So do not neglect the portfolio. It will help you a lot.
experience
If you have one, describe it. After that, you will tear off with your hands. After graduation, I received two responses to my resume, and a year later I simply did not know how to hide it. Because everybody needs programmers, and personnel officers see that this guy suffered a year and was not fired, he did not screw up, which means that he is a sensible person. If I take him to work, then, most likely, I will also be able to tolerate him for at least a year, his code will not have to be thrown away.
Job vacancies
The resume is ready, what to do next? Before you respond to jobs, you need to tweak a little psychologically in order for the process to go right. Imagine your ideal working day, what would you like to get in the end? Otherwise, we will simply be a squirrel in a wheel, begin to run after some kind of dream, some kind of happiness. Imagine what your office looks like, your colleagues, how you feel, what projects you are doing. Just tune in to what emotions you will experience when you go to work. Make a request to the universe: "I want it to be so, so and so." And calm down, everything will be fine with you.
I will tell about how I got a job in the company
GeekBrains . At some point I got tired of programming. This is a great lesson, I gave him five years, but I was not very satisfied with the goals of the company in which I worked. I thought it would be interesting for me to open my school and teach people. Give them the opportunity to get a new specialty, a new profession. Then I saw a job and started teaching at GeekBrains, combining this with my main job. Then I just asked for them to work.
That was my conversation with the CEO of GeekBrains.
Gendir: “What can you do? You program in C # and I need Ruby. ”
I: "I do not want to program, I can do that, I can do that."
Two weeks later I went to work.
Probably, you imagine: “I will find a job like this: I’ll post a resume, they will respond to it, I will come for an interview, and everything will work out”. But work can find you in a completely different way. For example, you sign up for a freelance website, complete an order, and you will have loyal customers. Or a friend will invite you to work with you. Do not focus on the way to achieve the goal. Just be open to suggestions, wherever they come from.
Do not be discouraged if you are not called for an interview after you have responded to the vacancy. At the initial positions, supply greatly exceeds demand. I myself made this mistake, found one job offer and thought: damn, it suits me, here and the company is not far from my metro station, and the requirements are simple. It seems to me that I am a great fit for them, and they, contagion, did not even look at my resume. Well what is it? Probably something is wrong in me. Or they read, but did not write. Everything, the summary is bad, it is necessary to refine the portfolio, something else to do. But in fact, maybe they just have no time. They had already taken someone to work for a long time and simply did not begin to take a vacancy, because the beginner had not yet had a trial period.
Don't worry guys. Send 100, 200, 300 responses as you’ll find. And the law of large numbers you tell the universe that you really want to work. You will be invited to five interviews, one of them you get a job - that's all. If you are sent a test task, do not neglect it. In my experience, 90% of candidates fall off when they receive a test task.
Interview
At the interview is very important mood. Tune in that it is not appreciated by you here, but you came to understand whether the company is suitable for you, whether you like working here, whether you have a good team and so on. Otherwise, you will be considered to be examining you, and sitting with shaking knees. You are an expert, a specialist. A beginner, but a specialist. And you will also interview the employer: is the project interesting, what are its prospects, what does the workplace look like? You change places a little bit, and the employer thinks: the person appreciates himself, now I have to convince him that my company is worthy of his presence. This is also an important factor.
Probation
Do not worry all the time that you will be expelled immediately after the probationary period. In my experience, a trial period is a symbolic thing, a safety net for an employer so that you can easily dismiss a nosy beginner. In most cases, no sanctions will be applied to you. The employer usually just forgets about probation. He looked at the timer - three months passed, you can arrange a person.
If you were taken for a trial period, then you should not overwhelm everyone with questions, otherwise they will think that you are a fool. But do not rush to the other extreme, when a beginner developer is given a puzzle, and he goes into himself for three days, because he himself is trying to figure everything out. And the employer thinks: do you really have three days for such a simple thing? So do not hesitate to ask questions. If you have been involved in some kind of task for more than an hour and you don’t get it, go to the elder, ask him, he will help you, everything will be fine.
Conclusion
Friends, and finally, farewell: do not be afraid to experiment. Look for yourself, find what you like to do. There is nothing worse than ten years of sitting at an unloved job for fear of not being able to settle for another. If you like programming, start learning this craft, combine your studies with your main job. If you want - come to us in GeekBrains, and we will definitely help you with this. Good luck and see you soon!