Who is a Python developer
We continue the cycle of materials about IT specialties
Each is described by a "typical representative" - an experienced specialist and just an authoritative colleague, the same person who knows all the secret corners of his profession.
We hope these materials will help schoolchildren, students, retraining students, juniors and all those who are interested in choosing an IT specialty. The cycle will not only help to assess the prospects, but will also provide an opportunity to better understand the industry and the specifics of the profession from the inside. Discuss and supplement the material in the comments to make it even more useful.
Every day we calculated the statistics of feature usage by about 2 TB. For example, how often people clicked on a website button after they received an email. Now I am developing tools for international logistics in Joom, for example, for tracking parcels and optimizing the cost of transportation.
Python is a good language to start learning programming. It has a low entry threshold due to its simple and straightforward syntax. Over the weekend, using the Internet and video tutorials, you can learn how to write programs that will simplify your life. For example, a Telegram bot, to which any family member can send what needs to be bought in a store. And when you are going shopping, write the command “I'm in the store. What should I buy? ”And he gives out a shopping list.
What a Python developer does
Run Python online is most often used in the development of the back-end of web applications. At the same time, a lot can be implemented both in Python and in C ++ or Java. What you do at work depends on the area in which you fall. Python is also used for big data analysis and neural network design.
The main task of a python developer is to make the services understand the request, and the sites respond correctly to user actions. The order of work on a project can be as follows.
Spoiler alert: the magic of development will be the first couple of years while you learn something new. And then programming slides into a routine.
The day begins with the fact that I conduct a code review - check the code for errors and inaccuracies. And sometimes there are fundamental questions that we then discuss with the team.
For four to five hours, I work with some form of code, and spend the rest of the time with product managers, peers, or executives discussing current and future challenges. For example, add a new promotion, close part of the functionality for users with a certain set of features, or make a part of the API that displays a list of photo albums of a certain type.
Writing code directly in Python methods and functions takes up a small percentage of my work time. It happens that you write ten lines a day, in a good case - 50.
Sometimes it turns out that the previous ten lines written do not fit into the existing architecture and you cannot use them. Then you have to rewrite everything from the beginning.
What a Python developer needs to know
There are situations when tests do not find problems in the code. And when it goes into production, you need to make sure that the user's innovations work correctly. Sometimes a unique user appears with his own set of features, and problems begin. In this case, we roll back the release and figure out what happened.
I also handle tasks from support. Agents sort out issues according to their competence, but they cannot solve everything due to the lack of access. Then the developers get involved and start fixing something or explaining why it should be this way and not otherwise, like Online Python interpreter.
At the start, you need to know at least one of these frameworks. The rest of the set depends on the direction in which you want to develop and what tasks the team lead sets for you. Usually, third people are advised to learn the asynchronous framework. For example, Async IO or Fast API.
Asynchrony is needed to bypass the bottlenecks associated with CPU utilization. With synchronous development, the user will not be able to interact with the page until a response is received from the server. Asynchrony solves this problem: one thread loads the interface, and the second waits for a response from the server.