“Facing Guido what you tell him” or Python dialogs with Bobuk

    In August, eyeofhell , voldar and their colleagues in the MoscowPython community began to record the Python Junior podcast. This is a transcript of the selected moments of one of the issues.

    Valentin Dombrovsky: You addmeto telegram channel. You talk about every beautiful future, technology, and so on. What role will Python play in this all, in your opinion?

    Grigory Bakunov aka bobuk : Obviously, where does all the programming go? We are the farther, the closer to Lego.

    Programming is more and more like making cubes. From the very beginning, Python was created as an ideal glue for such ready-made blocks.

    And so Python is now rushing.

    Grigory Bakunov: For him, there are a huge number of libraries to quickly put together the necessary program from pieces. This is the future of programming. Nothing tells us that it will change. A bunch of ready-made scientific libraries, libraries associated with artificial intelligence.

    For example, all that concerns pattern recognition is what is called Pattern matching, the isolation of similar patterns in a large set of features. This is a very big topic, which now looks mostly like Computer vision. But believe me, in the next 3 years, neural interfaces will be built on the same, and so on.

    Or anything related to the topic of artificial intelligence. It is not limited to the topic of neural networks, but specifically - neural networks are one of the topics that mankind has “prodalbyv” the past many decades.

    If you look now at what is happening, at this whole revolution, it is a revolution that is not done by mathematicians on average.

    This is very important: to make a new breakthrough in the field of AI, you need to have the ability to program and the desire to experiment in the first place.

    “You can't do programming if you sincerely don’t want exactly that”

    Grigory Bakunov: I am directly convinced that whatever your education, whatever strength you put into you, if you don’t want to do something, you won’t do it.

    Grigory Petrov aka eyeofhell : Oh, the key word is education. I have a holivarny question that I can only ask you.

    Grigory Bakunov: Come on.

    Grigory Petrov: Look, already for many years I have been engaged in education and some courses, I try to help developers. And my position is that with education in programming it is now very, very bad because of the fact that the field is new, we have not yet done basic disciplines for it, and there is no fundamental education.

    The market has gathered all the self-taught, generally everyone, and the flow of new programmers is very, very small. And universities, in general, cannot prepare programmers.

    Because in order to prepare a programmer, to build such a Hogwarts and start producing wizards, you need at least 1 wizard who can do this. And this wizard is now sitting in Yandex team lid. And even if you do not take into account the salary, he stupidly has a social responsibility to his team: “Well, I will not give up the guys, so wait 30 years until I retire”.

    From your point of view, is it really that bad with education? Or are there any improvements, and in general we can already prepare programmers, if we can?

    Grigory Bakunov: You say "we", referring to the industry as a whole?

    Grigory Petrov: Industry, in general.

    Grigory Bakunov:Very bad with education. And that's what's important. Everything is bad not with the education system, but with education, in general.

    Programmer you work around the clock. And little to teach this, you need to infect it. And this is not enough monstrously.

    And right there is not enough in some very basic fundamentals. Here's a type of still in school to infect with the idea that programming is not just income, but also a matter of a lifetime. This is not, this is not enough. And then the education system is needed on top of this.

    Pro Migration to Python 3

    Mikhail Korneev aka Voldar : Grisha, lifecycle Python 2.7 years and a half ends. Does it somehow affect you? Or are you going to somehow live?

    Grigory Bakunov: First, another 2 years. This is the first. And secondly, you understand that most likely, there will be a stable 2.8th branch, which will be dragged by someone. Because the amount of legacy is absolutely monstrous.

    Grigory Petrov: Yes, there are good candidates for this, all sorts of enterprise friendly.

    Grigory Bakunov: Yes.

    But actually, I'm sure that everyone is slowly migrating towards the 3rd Python or other languages.

    And this is the normal way. Because, firstly, 3rd Python is very mature now, it is a very mature environment in which it’s just comfortable to live. I did not find libraries that did not move to live in Python when I last looked. I for myself at some point, you know, brought a litmus test: I decided that Python 3 would take place at the moment when supervisord moved to it. This is a daemon that allows you to run other services.

    Grigory Petrov: He held on for a long time.

    Grigory Bakunov: True, they still say: “We are launching under the 2nd and 3rd Python”. And this is probably the right way for them.

    We in Yandex have several different corporate, internal development cultures.

    In part 3 of Python, which began to move quite actively. In the part was only the second. In the central search part, which is connected with the portals, with all that, at some point a policy was fixed that so far only 2.7: the search history lives in a beautiful, but very tricky from the point of view of assembly, deployment and all that, the environment.

    The poet once needed to choose one Python. Naturally, they chose the one on which a huge amount of legacy, which cannot be directly rewritten. And for a long time there was only 2nd Python. But now there is no such problem, the 2nd and 3rd are supported, and I even see a rather cool migration process to the 3rd.

    About juna

    Mikhail Korneev: We are just always asked about it. What to know, what to know. This is a question that is probably difficult to answer well, because the answer will probably be very general. Maybe you can do it?

    Grigory Petrov: In what directions should they try?

    Grigory Bakunov: Frankly speaking, I cannot say for all Yandex. In my opinion, the most important, oddly enough, is not algorithms, not so much super deep knowledge of libraries, and not so much the ability to program well, how much knowledge how the version control system works, how to interact with other people in the code review process, understanding that often documenting a piece of code is just as important as writing it, etc.

    You need to learn how to use the toolkit in a fairly broad way. That is, these are such basic things.

    And oddly enough, among the juniors who come for internships or simply go to work, those who already own it - there are practically none.

    Mikhail Korneev: We force our own, we unite them into teams, but it goes very hard, because half says: “I don’t want a team.” And without a team, ... You see, right? They worked with git alone alone ...

    Grigory Bakunov: This is a popular story about the fact that working alone is always faster and it seems that it is better. But as soon as you need to work for half a year, you understand why teams are going.

    “Facing Guido, what will you tell him?” (C)

    Grigory Bakunov: This time I would like to ask a very important question: “Well, and how is it?”

    After all, he pretended that he was no longer in business.

    But I know that he hasn’t gone anywhere globally. And I am very interested in how it is. Here he was a permanent dictator for 20 years. And then he kind of removed his hands. What does he feel now? How does he force himself not to hang constantly in Bugzill? What is he doing? Does he beat his hands? How does this happen?

    Valentin Dombrovsky: Is this for your personal, so to speak, experience?

    Grigory Bakunov: Of course. This is the most interesting, because his professional activity, as we all have, is clearly visible on the net. We all see what he does. We all see his code. We all see how he works with the community. About this part of it can be sued on his business. But how he manages to control himself and not get involved in the affairs of a child who raised 20 years old is a big question.

    Method, how to choose where to develop

    Grigory Bakunov: Either you choose a wide area and say: “Class, I will invest in, for example, the ability to work with genetic algorithms, because behind them is also clearly some kind of future, this is clearly an underestimated area.”

    These are such broad strokes. Either you say: “I will develop as ...” - and then you call some area. For example, as a person who understands highload well.

    But in fact, what exactly needs to be done is simply to constantly evolve.

    And then the area in which you need to develop, will emerge by itself. We must deal with an area that naturally burns you. But if it burns you, you have to go there, even if you are going against the current at this moment. So it goes.

    Mikhail Korneev: When we interview people for myself, I now noticed (maybe I have a small sample, but you can see) the following: people who are like djunas now go to data science, they just do some cool things for themselves.

    Here are literally the last - one analyzed the statistics on Counter Strike, the other recognized Dilbert comics: who's the boss and so on.

    Grigory Bakunov: Class.

    Mikhail Korneev:It is evident that he is doing this for himself, for fun. This is not some standard exercise - let's separate the cats from the dogs. And it is clear that a man was doing something for himself according to his fan.

    This is very cool: an indicator that at least it is worth looking at this person.

    Valentin Dombrovsky: Yes, this is exactly what Gregory said: if you burn, you do it for yourself, for fun, you have the motivation to do it, you develop it, and we are talking about this in a future release.


    Just now you’ve been through to the end of the decoding of selected points for the release of Python Junior with Grigory Bakunov. The full version of the episode is available in video and audio versions:

    UPD. RSS requests read - learnpython.podbean.com/feed.xml

    Download podcast audio version (mp3, 55 MB)

    Thank you for reading, listening or watching.

    Also popular now: