📜 ⬆️ ⬇️

What you need to know, be able to and understand, so as not to have problems finding a job as a pythonist

Language is only a small part of what you need to know. Maybe about 5%, or even less.

This article repeats and complements the content of my speech “What distinguishes a junior from a senor or as a pytonist not having problems finding a job” at the last MoscowPython Meetup 39 . Many came to me after speaking with questions and I promised to publish an article on Habré and discuss in the comments.

Under the cut you will find the answer to the topic of the article and a little offtopic . Keep in mind that this article was written by me personally, in my practical experience, since I rarely ever had difficulty finding a job. It may differ from the experience of other people and I will be very happy with any additions and corrections if I am wrong in anything.

no problem


Answers will be slightly lower.


First, I will talk about the results of the survey with the mitap (if someone was there or listened to the broadcast):
')

Who comes to the mitap?


About a third of those who raised their hands were juniors, foreign ministers and seniors, and quite a few were timlids and technical directors. At the same time, about half of them raised their hands and who the rest remains a mystery

Is there any problem at all?


Next on the mitap, I asked if those present had a job search problem. For the uncertain majority, there are no problems, but the ratio, on a vskidku, is approximately 60/40 (of those who raised their hands). So the topic is definitely relevant and the article may be useful to many.

How to get a job junior?


This is almost the most popular question to which I will answer this way: the employer is unlikely to hire you if you don’t know anything at all and have no experience. Very rarely, employers hire juniors, and this is often something like an experiment - suddenly we catch a real talent that will suddenly become a mead, and we will be able to pay him the junior? Therefore, my advice to you is: do not try to get a job with a junior, but rather study what is written here and aim at the Ministry of Foreign Affairs right away. Many do not know even half of what is necessary and they are taken only because of “experience” (often stupid). In short, do not be afraid and do not consider yourself to be incapable of anything, arm yourself with knowledge, practice and do not be afraid of anything!

need to know

What you need to know



Do not be alarmed by such a large list. English and OS are studied along the way; it is not necessary to spend months and years on it separately; Python, database fundamentals, data formats, HTTP are studied in a matter of days, their thorough knowledge is not required if this is not noted in the vacancy separately. The study of architecture, familiarity with Javascript - of course you can do it for years, but for starters, too, you can only get acquainted.

Perhaps the only thing that I highly recommend is to learn some framework and do something real that can be shown. A ready-made site, even a simple one, laid out on a hosting is an indication that you have mastered each of the many small steps along the way.

Wait, what about the algorithms?
After the mitap one guy came up to me and asked, “what about the algorithms?”. For 6 years of working with a Python-developer, I rarely had to write something really non-trivial, basically everything comes down to some kind of data manipulation, their conversion from one form to another for further needs and the elementary logic of school-level informatics. Most often, all algorithms have long been implemented within specific libraries and are easily accessible.

skills required

What you need to be able to?



All of these are tools that are constantly used in work, without knowing which even knowing the language perfectly you will be a burden for the team, because either you will work slowly (without using IDE), or constantly write bicycles without using existing solutions (without reading someone else's code; especially perverted form - without even examining the code of your colleagues in the project), you will experience problems with switching to the new versions of the libraries used (without using virtualenvwrapper), tugging at any other task associated with the server (without basic skills sov admin), creating a fierce itch in the ass colleagues kosyachnymi kommitami (not knowing git). It will be easier to kill you than to feed in a team, and your efficiency may even be negative, because others may spend time correcting your jambs and helping you. Therefore, spend a little time, master these tools, this is also not very long at all.

what to understand

What you need to understand


With this, I began my speech at the mitap, because in the oral presentation, first I needed to make contact with the audience, but here I tried to reduce it.
Remember that for an employer you are a tool for solving business problems that should bring him profit in the future. Therefore, in fact, your task at the interview is to convince him that paying you a salary is a profitable investment. You are not hired to knock on the keyboard, but to generate profits.

Language is only a small part of what you need to know. Maybe about 5% or even less.

Compliance table of what the employer needs and how you can help him with it
Employer's dreamWhat is required of you
delegation - set the task and did it right without your participationnot afraid to take responsibility and competent enough
development speed (main advantage of python)know the language, know third-party libraries and understand that the speed of development is very important
system reliabilityTesting your own code as much as possible or required
maintainability (another advantage of python syntax and recommendations)familiarization with guidelines (pep, import this) and, if possible, following them
system efficiencyfamiliarity with new technologies, libraries and other applications
developer efficiencyinterested in the project. Here I advise you to really choose projects that are interesting.
predictability, the possibility of planningyour plans for the coming year are clear

top secret
I wonder what he really said to her?

Tips


  1. Develop communication. When you are looking for a job, go for as many interviews as possible. The success of the interview is directly dependent on the skill of communication and it is perfectly honed at the interview.

    Here is an example
    We arrived once in the bath, and there dude brooms wielding. And I haven't seen brooms for 3 years - in Asia it's tight with them. Well, I told him, “Wow, brother, to you, where did you get the brooms?” He told me: “Yes, I’ve brought it with me from Russia, why do you want me, too?”. Well, I'm not a fool to refuse, of course. Talked to him, a normal man like that. Well, went home. After a couple of weeks, we come again - and there, again, with a broom, they began to talk again, he asked me, saying, “what do you do?”. I say so-and-so, I have my own co-working, and I program in my spare time on python. He “oh well? I just need pythoners. ” He turned out to be the founder of a well-known company and I still work with him.

    In addition to interviews, I recommend playing mafia (not only according to tournament rules, but when a discussion is possible, but to train your nerves and communication skills very well without a sack), go to hackathons, meetings, conferences. By the way, do not miss Moscow Conf, such conferences do not even happen every year - this is not a two-hour meeting, but you can actually talk with experienced guys one day, ask questions to the speakers.

  2. Sales skill. This skill allows you to have a salary above the market. It is unlikely that of course you will run to work as a seller, but if you have such experience, then consider this a plus.

    Anti-example:
    One guy lived in co-working with us - the coolest JS-programmer, senor level with 120000+ sn. Works over 80, because he feels awkward at interviews, cannot position himself correctly.

  3. Lead it on. Slightly, well, maybe 20 percent, not more. For example, you can say that you know something that you just heard about or slightly familiar with.

    The truth of life
    The truth of life is that, as a rule, no one keeps in his head everything he has ever done. How many cases are there when a person begins to look for the answer to some question, and finds his own article on this topic 1-3 years ago. Ultimately, it is usually important for the employer that you are able to solve the tasks set, and not be a walking encyclopedia.

  4. Change jobs more often. Professional growth in a new place of work usually lasts about 2-3 months, occasionally up to six months, then the routine and a little new begins. To avoid this, it is necessary to change the place of work as often as possible (about once every six months or a year). As an option - to move to another position or to another project within one large company, but if you stayed in the same position for a year and there are no changes foreseen, leave boldly.

    Exceptions
    Exceptions to this advice: if you are well, a very interesting project in which you work and / or you have an option and the project is clearly waiting for success.

    UPD This item has caused much controversy in the comments. The fact is that you are hired not for karma, but for your ability to do work. Sitting for 5 years in the same office and doing the same thing all the time will make you a master to do this one and the same thing, but it will not make you a really good specialist. The ability to solve any problem is valuable, for this you need to face as many different tasks as possible. No need to go to extremes and change jobs every 2 months - this is of course too (but you shouldn’t be afraid of leaving a shit where you really don’t like it either - go and do not worry). In the end, keeping you in the project is the employer's headache, not yours. This is a little cynical, but this is just a tip and you can decide for yourself. Just keep in mind - if you quit your job where you feel your development has stopped or, all the more so, you don’t like something, it’s likely to be a good idea.
  5. Learn related industries, new items, new libraries. Grandpa Lenin bequeathed after all.

  6. Work for currency directly to foreign employers. Good specialists - toptal.com, simpler - at upwork.com. With good English to move to the United States, Australia, Germany and other UK matter is generally not tricky.

    how did i learn english
    At first I studied English at school for 9 years, then at the institute for 3 years and could only read and translate with a dictionary. Then I refined the skill for several years by reading the documentation, but it was more difficult to say how much for coconut. The first really effective step was to watch Dmitry Petrov's Polyglot video tutorials from the Culture channel, the next step was the practice of communicating with foreigners in our coworking in Phuket, well, it became quite easy after getting married to a Filipina. Among other things, one of my friends opened an English school with a unique method that allows you to study for a month or two, though this is in Phuketics again.

  7. Go generally to the workshop. In the US, this is a normal practice - after graduating from school (not even a university, imagine) to go for a study for 2-3 months at a workshop and that's it - you are an already in-demand specialist who can easily find a well-paid job along with university graduates and with work experience. This was told to me by a young guy, an American, who lived with us in coworking and went just such a way. Unfortunately, we don’t have such a practice in Russia (more often it’s a waste of 5 years in high school, just language syntax courses, which, I hope you understand, are just a small part of what you need to know). After the mitap, I had an idea to organize a workshop, but at the end of October I’m flying back to Asia and just don’t have time to conduct it here. Therefore, if there are those who wish to leave for the wintering with us, and at the same time learn all that I have written here - write in a personal, think of something.


UPD: The comments expressed the opinion that this article only applies to web development on python. This is not exactly the case, just the Django web framework, which I advise you to learn, is the most popular at the moment, which you can easily see . You can easily choose another direction and most of the article will also remain relevant, but I don’t know if it will be easy for you to find a job. Moreover, the advice about the study of other popular libraries is precisely aimed at you, so that you are not limited to only Django and expand your knowledge in other areas.

I would be infinitely grateful for any additions and will try to quickly add them to the article! About the spelling, please write in a personal, so as not to clutter up comments.

Source: https://habr.com/ru/post/311642/


All Articles