I use two Python frameworks – Django and Flask. Frameworks are collections of programs that make development easier. For example, a cabinet can be assembled with a screwdriver, but this will take a lot of time and effort. Or you can take a screwdriver and do it in half an hour. It’s the same in development: with frameworks, writing code in Python is easier and faster.
Django is considered to be more complex than Flask – you need to write more code in it yourself. But it has more features for common tasks, such as database setup. In Flask, additional functions need to be connected separately for specific tasks. Therefore, most often I use Django with all the necessary features, and for small applications I use Flask to write just a few lines of code.
How did I get into the profession
I have a higher education in programming – I graduated from the Faculty of Informatics and Management of Baumanka. I can’t say that higher education helps a lot in my career. At the university they taught general things and some kind of systemic thinking, but there were almost no practical skills there.
But under Baumanka there is Technopark Mail.ru, where future IT professionals are trained. There I entered the two-year program “System Architect”: I learned how to develop on the backend and work with databases. To learn on the program, you already needed to know Python, so I learned it myself from the book “Learning Python” by Mark Lutz. In my opinion, this is the best way to quickly learn a language.
After the program, I did an internship at the Mail.ru email department. And my first backend job was in a microfinance organization. By that time, I already owned Django and wrote the code for the loan matching system.
I immediately decided that I did not want to stay in one company for a long time and tried different places. I even got a job at Yandex, developed a food delivery application, worked on cryptocurrency projects and did my own open source developments. This is why I love my field: you can find interesting tasks in different areas of IT and make projects that help other programmers. For example, I’m currently working on a Python library that helps develop RPG games.
I like tasks in which you need to connect several large systems. For example, when I created a delivery application, I had to connect a payment system to it, correctly configure the order system in the application, and at the same time monitor transactions in the bank system.
How is my working day
We work remotely with a flexible schedule. I plan the day on my own – all I need to do is discuss the tasks at the short daily meeting at 12:00 and plan for future tasks at the big weekly meeting. While we are only creating a game, the workload of backend developers is small, but when users appear in the game, there will be many interesting tasks.
In ivi.ru, the schedule was about the same, but there are more meetings and communications with different departments in a large company. For example, in small companies, the functions of a tester can be performed by the developer himself. ivi.ru has a large testing department – we sent the written code there every day for verification.
In the evenings, I try to educate myself for at least two hours: I study online courses, and I do sound design for myself.
What’s happening in the software market
Over the past few years, Python developers have been actively working on blockchain, cryptocurrencies, and cryptography. For example, there are many currencies that are alternative to bitcoin – programmers write the code for the blockchain networks on which payments work. In addition, machine learning is also developing. These two areas will be in demand for good Python developers in the near future.
Frameworks are being developed within the Python language itself. Gradually, developers are moving away from synchronous code to asynchronous. In synchronous code, commands are executed sequentially according to the text of the code, and in asynchronous code, as the events described by the code are processed. This allows you to execute multiple commands at the same time and the code runs faster. For example, the FastAPI framework is now very popular. It is convenient to write a fast backend for applications on it.
Developer Beginner Tips
Learning Python is easy even for a beginner
Python is one of the most popular languages and an ideal starter language for a beginner. When I taught it in Baumanka, it took me a week: knowledge of other languages helped. From scratch it is possible to learn it in a few months.
Python jobs can be found everywhere
Python is used in many areas of IT: web development, data science, machine learning, and even game development. A Python developer can easily try himself everywhere. For example, in the future I want to do machine learning – the most promising area in IT, in my opinion.
Start with a course on web development, and then choose the field you like
It’s worth starting the applied study of Python with one thing. For example, I am writing modules for a Fullstack development course in Python. It focuses on the web, but after this course you can learn some more framework and move to another area, for example, Data Science.