From philologist to Python developers: how to retrain and what to expect from a new profession

It is quite possible to become a developer, if you are not a techie and you do not have a specialized diploma – many similar examples can be found on the net. It is believed that Python is one of the easiest ways to enter this profession, but there are tons of nuances that can affect learning. Veronika Golubeva, a Python teacher at GeekBrains and Sberbank’s chief engineer for development at Data Analytics, talks about how to build it so as not to burn yourself in the first programming language.

Veronika Golubeva, Python teacher at GeekBrains and chief engineer of Sberbank for development in Data Analytics
Veronika Golubeva, Python teacher at GeekBrains and chief engineer of Sberbank for development in Data Analytics

Anyone with any background can become a developer. If you don’t believe me, try Google: there are thousands of stories on the Internet about how a humanities student became a programmer. The main thing is to work with the material provided by the teachers.

For example, I had a student – a businessman, he stubbornly handed in assignments, threw off cases from the work of his company, which he tried to solve with the help of the knowledge gained in the courses. This person was interested in understanding, understanding the profession and applying skills in his field. And he was not hindered by the lack of a technical background.

The Python programming language is easy enough for humanities – linguists, philologists. In fact, it is like a foreign language, only easier: you also need to learn the syntax, but more logic, stricter rules and no exceptions. It’s easy to switch to Python from another programming language, but if you’re a beginner and choosing which language to start with, start with Python. It will be much easier on it than on conditional Java, to learn the base – loops and object-oriented programming.

In general, people with different goals and skills come to our Python courses: there are techies who want to delve into the profession, and people from non-programming areas – it’s harder for them, but the program is flexible, so both the first and the second are successful. In Python programming courses, we set tasks as close as possible to what future developers will have to face at work, and this is good for our students. I studied C ++ at the university – I solved chessboard programming problems. In the future, this knowledge was not useful to me anywhere, and time and effort was wasted.

To start learning the Python language, it is enough to restore the computer science base from the school curriculum: algorithms, block diagrams. If you have an understanding of algorithms and can build an algorithm for solving a quadratic equation, this is enough.

How and where to study

To be a cool developer, it’s important to be patient and diligent. While working, you will need to understand the interfaces, find logs, be able to read them, search for answers in Google – most likely in English. Google can answer the same question with dozens of almost identical articles – they may differ in one sentence, but it is in it that the answer will be hidden.

Our course is structured so that students practice most of the skills in their homework: if there is not enough time, you can do them and skip the lecture. This is justified by the fact that after taking the course, you cannot learn to program – you need practice. If something is not clear, you can look up the answer on the net or ask the teacher. This is much more effective than just listening to a lecture and not doing your homework.

To stay motivated, you can watch videos about the profession: there are cool videos on YouTube about what you can learn to do, they are catchy.

Python programming is hard. It’s okay not to understand something.

Some people come to learn thinking that programming is easy and that they will succeed on the first try. When in the process of learning it turns out that this is not so, people get upset and give up. In IT, you need to constantly learn: everything changes and there is always something that you do not know yet.

Once a student wrote to me that he had attended a lecture and did not understand anything. I asked him what it was, but he got so confused that he couldn’t even articulate it. As a result, I wrote him a huge message, where I explained everything that was said in metaphors.

It is normal not to understand something. You just need to move on: write, teach. It’s a terrible moment of frustration, but if you keep fighting, you’ll realize that it was actually very simple.

To make it easier, you need to read a lot: about data types, the basics of Python programming, loops, conditions. Before you start coding, draw flowcharts, write solutions to problems in Russian letters. This is the first step to understanding. Then repeat on the syntax of the language. Done? It means that you can already do something.

I advise you to return to data types (dictionaries, lists) regularly throughout the training. You get experience – you come back again: then you understand why you needed it. And they also like to ask about these very types at interviews.

You can study on your own, but it is difficult: there is no program, structure and understanding of how to do it. There is an abyss of information on the Internet, you try to study it, systematize it, but you drown and do not understand how to apply it. So you can miss the important and get confused on trifles. One of my classmates also studied Python development: she solved purely theoretical problems. As a result, she does not have an understanding of how to apply the knowledge gained in her work.

And some tutorials do not imply self-study of Python, for example Mark Lutz, few will be able to read to the end. Such books are good for consolidating knowledge. Alternatively, you can try classes on Coursera or similar resources. There are sites and even games with basic programming tasks. But for the most part, they are far from what you have to do at work. Learning Python in courses additionally saves time: you do not need to search for answers yourself. You can ask them to the teacher to better understand the topic. But you need to read the textbooks. They provide an opportunity to delve deeper.

Our program comes from practice: we give tasks that are as close as possible to future work tasks. At the end of the training there is a course work – a ready-made program. These are real projects that can be shown in an interview.

The best tutorial for beginners, in my opinion, “Learn Python. Game programming, data visualization, web applications ”by Erica Matiza. You can also listen to online lectures on YouTube, for example such

Whichever path you choose – independent or courses – it is important to be able to organize yourself. Decide why you are doing this, what is your goal, what steps you need to take to achieve it.

How to get a job by Jun

Learning Python from scratch is only the first step: right after the courses, you should get a job in a new specialty. I’ll tell you a little about how it is easier to do this and what questions you may encounter.

Now no one looks at higher education diplomas. It is important that you know how and how you show yourself in the interview. Among my acquaintances there are many successful developers with education from another field: there is a psychologist and a chemist, for example. There are friends who are IT specialists without diplomas at all, but they are cool specialists in development, so no one is interested in their background.

To work, you need to know a third of what is required in the vacancy. There are tons of libraries in the list of requirements for almost any job on June, some of which you won’t really need. If you know at least 30-40% of what is required, feel free to go and try.

Finding a job is easy. The market has an acute shortage of staff, huge demands and terrible turnover. A beginner can get a job as a data analyst for a salary of 90-120 thousand rubles. A good level junior can count on 80-90 thousand rubles. There are vacancies with a salary of 30 thousand – they give you a boost of experience, but they are more suitable for university students who are not yet interested in high income. There are those in our courses who can hardly afford a low salary, but it is really possible for a junior to find a vacancy with a good salary. True, this may take a little longer.

Go where the team is cooler. For a start in the profession, you should not consider companies where 1-2 people are sawing something on their knees. You need to go to a large team with more experienced employees and complex projects. Yes, often employers are not ready to train someone, but taking an internship is a good option to gain experience if you can afford it. In the future, this will open up access to higher-paying positions.

Keep learning. In the first 3 months in a new place, stress can overtake you: you will get used to it, get used to it, delve into what the company is doing and why. And then it’s worth breathing out: as soon as you understand that you are coping with basic tasks, look for how to do it better. This is a way to quickly grow to middle.

In fact, juniors differ from middle ones only in work experience: the first have only knowledge that they learn to apply, while middle ones already understand what they specialize in and how to effectively solve work problems. Middlels need to know the libraries well and understand what algorithms they use and why. Algorithms are the foundation: they are even asked in interviews at Google and Amazon. Without knowledge of algorithms, it is impossible to make the code work well and quickly. If you’re trying to level up to middle, try reading the book “Python Cookbook“David Beasley.

How to pass interviews

At GeekBrains, we teach not only professions, but also how to properly pass interviews in order to quickly get a job. There are some tips to help make this stressful and possibly unfamiliar process easier.

Learn from mistakes. Junam is asked practically the same questions in interviews. If you could not answer them, memorize them and find the answers. On Habré there was a bright story about a developer who went to middle interviews in Silicon Valley, and then dealt with difficult questions at home. After walking for six months, he got a job as a senior – at a much higher salary than originally planned.

Demonstrate logic. Reason out loud even if you don’t know the answer. This will show those who interview you that you understand the logic of problem solving. This is especially true for logical problems, which are often asked in interviews for a junior position.

Get ready. Before the interview, it makes sense to search the Internet for examples of questions and problems, to solve them at home. This will make you feel more confident. Perhaps at the interview you will be asked to write the solution code on a piece of paper – be prepared for this. You can view brief explanations and practice solving problems here and here

List of Frequently Asked Questions

When I take part in interviews for the vacancy of a pythonist at Sberbank, I pay attention to whether the candidate is able to solve optimization problems, whether he quickly fulfills the code he writes. Some other questions may be asked:

● mutable and immutable data types – this is asked in almost any interview;

● iterator, generator, decorator;

● the difference between a sheet and a generator – they will definitely ask about this;

● magic functions;

● implementation of the Python merge sort algorithm;

● multithreading vs. multiprocessing.

Here here you can see more details about typical questions.

From soft skills, the ability to work in a team, communicate, express my thoughts, present myself is important for me. It is clear that the interview is stressful, and everyone is nervous there. But by what and how you do it, it often becomes clear whether you will get along in a team, whether it will be comfortable to work with you. In our courses, we teach how to work in agile teams in Agile and Scrum: these techniques are now used by almost all development teams.

Usually the stage of personal conversation begins after preliminary selection, passing tests, solving problems. When it is clear that you are suitable. It also happens that because of anxiety, a person goes through a technical interview, but fails the interview with the manager. I observed situations when, in the end, they hired the candidate who confidently spoke all sorts of words incomprehensible to the leadership, although objectively in terms of knowledge he was inferior to his rival. There is always someone who knows and can do more than you. But this is not a reason to devalue yourself. Yes, you are a junior, but you are a cool junior. And everything that you do not know, you will learn.

Similar Posts

Leave a Reply