Moscow Python Podcast. Как войти в разработку за считанные месяцы

Как джуниору сориентироваться в хитросплетениях IT-индустрии? Какая мотивация лучше всего помогает начинающему программисту не капитулировать перед первыми трудностями? Как эффективнее искать вакансии — через рекрутинговые сервисы или через знакомых? Как пробиваться через «HR-заслон» в компанию мечты? Стараемся ответить на эти вопросы с новым ракурсом, опираясь на личный опыт гостя Moscow Python PodcastСемёна Осипова, куратора на курсах Learn Python и бэкенд-разработчика X5 Retail Group, чей путь в профессию был стремительным, но вовсе не гладким.

Выпуск Mosdcow Python Podcast

Валентин Домбровский: Всем привет. В эфире Moscow Python подкаст. Подкаст для тех, кто любит python.

Сегодня у нас две интересные темы — карьерный рост разработчика и о том, как войти в профессию разработчика.

Сегодня с вами в студии Валентин Домбровский — сооснователь MoscowPython и сооснователь Drylabs. Григорий Петров – евангелист MoscowPython, руководитель программного комитета Moscow Python Conf++ и его ручной bug. Злата Обуховская — тимлид компания Nvidia, евангелист MoscowPython.

И сегодня у нас в гостях Семён Осипов, который играет заметную роль в нашем сообществе. Семён помогает нам с работой по курсам Learn Python. Семён окончил курсы Learn Python, является куратором одной из групп начинающих разработчиков на этих курсах в текущем наборе и бэк-энд разработчик в компании X5 Retail, что я думаю особенно интересно для наших зрителей.

Вот собственно о том как так получилось и хочется спросить у Семёна.

Семён, расскажи, как ты дошёл до жизни такой? Что тебя затянуло в этот мир?

Семён Осипов: Это очень забавная история потому что, начинается она, как у классического разработчика, который пришёл в профессию.

У меня мама была военным программистом, она разрабатывала системы дальней ядерной авиации. Соответственно у меня рано появился компьютер. И, классика, мне захотелось изучать что-то внутри и так далее и тому подобное. Но потом была сказана такая фраза, которая отодвинула меня на 10 лет в сторону, что если до 30 лет ты не станешь руководителем тебя заменят более быстрые и более молодые разработчики. Страх засел в мою голову и поэтому когда пришёл выбор куда идти учиться, пошёл в строительный. Строить всегда строили, строят и будут строить. Где-то на третьем — четвёртом курсе я понял что это совсем не моё. И даже сдав сопромат, я понимал, что это не моё.

Злата Обуховская: Вот и сдал сопромат.

Григорий Петров: Небольшой оффтопик. Злата, а почему считается что молодые они быстрые? Вот я смотрю, как начинающие разработчики управляются с компом - это же реально чудовищно медленно. То есть тебе нужно 10-15-20 лет, чтобы научиться делать там кучу всяких хоткеев, алиасов, научится пользоваться emacs’ом, vim’ом. То есть молодые разработчики они же, наоборот, медленные. Или, может быть, я где-то чего-то не понимаю?

Семён Осипов: Возможно это из того, что скорость усваивания новой информации, изучение нового языка программирования с возрастом будет медленнее, чем у молодого?

Злата Обуховская: Нет-нет, тут я с Семёном не соглашусь. Соглашусь с Гришей. Понятно больше энергии. Когда работала программистом в 21 год, могла сутками не спать и фигачить код и со мной было всё в порядке. Сейчас я так уже не могу, вернее не хочу чинить backend по ночам. Чем старше ты становишься, улучшается способность к абстрактному мышлению. И в итоге тебе достаточно просто намёка на какую-то информацию, чтобы она у тебя сразу легла куда надо и ты её воспринял. Когда ты молод ещё и ничего не знаешь тебе нужно вот этот depth-first search делать. То есть, а что это определение значит, а как оно вписывается в систему вот этих определений, а что это значит. И без вот этого контекста скорость усвоения информация она меньше. Поэтому молодые разработчики медленнее.

Григорий Петров: Семён, тебя обманули :) Продолжай.

Семён Осипов: Соответственно понял, что это не моё. Я сам из города между Питером и Москвой - из Твери. И большинство людей оттуда уезжает, к сожалению. Я также решил последовать их пути и в 2011 году переехала в Москву. По удачному стечению обстоятельств я попал в нефтяную сферу, в кровь самого крупного игрока и как бы жизнь начала налаживаться. В нефтяной сфере, особенно перед кризисом 2014 года, всё было великолепно. Но где-то в районе 15–16 годов я понял, что нет, это не совсем моё. Мне не нравится, что я делаю. Последние три года перед моим переходом я медленно и тихо угасал в нефтяной сфере. Понимал, что совсем-совсем через силу хожу на работу. В компании я работал в отделе производственной безопасности. Помните, в школе ОБЖшник, который рассказывал, что важно не ходить под стрелой крана? Но вот я приблизительно этим занимался. С точки зрения финансов всё было замечательно. Но когда ты приходишь на работу и понимаешь, что делаешь что-то не то, это, конечно, очень сильно бьёт морально. Вот я так остановился, решил понять чего же мне хочется. И где-то в памяти сковырнул, что с компьютерами-то было интересно, надо вспомнить. Начал самостоятельно изучать что есть в компьютерных технологиях, вообще в мире IT. И на удивление, как бы одновременно с этим, в компании сократили один офис. И получилось так, что на 70 человек не осталось ни одного IT специалиста, который бы находился в России. То есть вся поддержка была удалённая. Я тут такой вот, а почему бы мне не взяться? И в довесок к своей работе взяла некий IT саппорт. Шаг за шагом где-то по any key, где-то что-то поднастроить на sharepoint, туда-сюда и понял, что в принципе мне программирования как бы нравится. Ммм, отлично, надо поискать где поучиться. Так наткнулся на твой пост в фейсбуке, в котором вот “приходите к нам учиться нам ещё нужно помогать”.

Валентин Домбровский: Но там было не приходите к нам учиться там было именно про вакансию.

Семён Осипов: Ну я пролистал всё. Там было и "приходите к нам учиться" отдельно, и листаю, о, "приходите, нам нужна помощь". Конечно - конечно, давайте я. Соответственно в феврале 2018 года 8 набор был. Я пришёл одновременно учиться и помогать вам с развитием вашего проекта. Мой выпускной проект был связан с моим текущим работодателям. Я взял логи одного из операторов мобильной связи и все траты по мобильной связи, разбил их по каждому пользователю, распарсил, и показал начальству. Вот мы здесь можем сэкономить, тут можем обрезать, тут можем удалить. Мы сэкономили где-то приблизительно 1500 долларов в месяц просто обрезав ненужные траты. Я так понял, что это моё, мне вот нравится. Я потихонечку потихонечку начал свои проекты подпиливать и где-то в определённый момент решил, что пора искать вакансию. И сюрприз-сюрприз моё первое собеседование проводил человек, сидящий в этой комнате — Григорий. Моё первое собеседование в IT. Очень забавная история. Григорий написал в фейсбуке что они ищут питониста в Voximplant. Написал Григорию вот я такой-то, хочу, я уже полный самоуверенности. Григорий меня пособеседовал минут 35-40, говорит мы потом с вами созвонимся. А через полторы недели выходит первый выпуск python junior подкаст, в котором Григорий говорит ну вот у нас завтра выходит питонист. Так я узнал, что меня не взяли. Это было забавно. Григорий потом рассказал какие вопросы он задаёт и что он ожидает услышать. Так я понял где я провалился.

Moscow Python Podcast. Как войти в разработку за считанные месяцы

Валентин Домбровский: Всё перематываем назад и смотрим сентябрьский выпуск нулевого подкаста, где Григорий раскалывается о своих методах найма питонистов. Правда, сейчас он не занимается наймом питонистов, но кто знает. Может быть, когда-нибудь вы попадаете на собеседование к Григорию.

Семён Осипов: Это был такой необычный опыт. Потом в какой-то определённый момент я остановил поиски. Понимал, что мне не хватает знаний. И в сентябре решил подойти структурно к этому. Завёл табличку, выбрал области в которых я хочу работать, начал откликаться. Первые откликов 10 моё резюме на headhanter даже не просматривали. Ну вот просто я откликнулся, и оно висит и висит. Потом я немножко его переписал, начали просматривать, дальше не уходило. Потом переписал начали просматривать, начали отвечать. Дальше что-то ещё чуть-чуть, где-то к двадцатому мне уже начали поступать редкие приглашения поговорить. Я разговаривал, не прошёл парочку hr’ов. Позже начал доходить уже до технических собеседований до вполне довольно-таки длинных. Вот один из приятных опытов был, несмотря на то, что он долгий. Я откликнулся на headhanter, выполнил тестовые задания, со мной связался человек технической части дал мне второе задание. Выполнил. Пришёл, поговорил с ребятами где-то часа полтора. Было ещё одно техническое собеседование и, спустя неделю, ещё часовое собеседование с командой, такой cultural fit. И вот там мы с командой не сошлись. Там был выбор между ребятами. Как мне в итоге было сказано, что у нас немножко другой подход. В принципе я понимал, что мне наверно тоже будет тяжело в этом работать. Но как бы вот до такого доходило. И где-то в декабре предыдущего года на меня вышел один стартап. Не буду его называть. Довольно необычные, конечно, ощущения от всего произошедшего. Мне предложили аналитикой позаниматься. Вот у нас стартап, тут база данных, тут чуть ли не big data. Хочешь? Я говорю “давайте”. Сделал тестовое задание и мне прислали offer. Я в этот момент находился в командировке. Я прям такой счастливый был. Всё я наконец-то свалю от своего текущего работодателя. И к сожалению, один из моментов, которые нужно вынести тем, кто начинает искать работу - мотивация “от”, сбежать куда-то лишь бы куда, быстрее, она плохо работает. Потому что мой первый рабочий день был как на собеседовании в Икее: вот коробки собери себе компьютер. Поэтому в первый свой день собирал себе компьютер, устанавливал пиратский windows, пиратский офис. Аналитика заключалась в том, что "ну вот тебе 4 csv’шки из 160 гигабайт в различных базах данных, анализируй".

Злата Обуховская: Люблю такое

Семён Осипов: Соответственно где-то через недели три понял, что нет надо отсюда уходить.

Злата Обуховская: А почему? Провокационный вопрос.

Семён Осипов: Почему?

Валентин Домбровский: В итоге ты понял чем вообще там надо заниматься?

Злата Обуховская: Ожидание слишком сильно расходились с реальностью?

Семён Осипов: Я понимал что стартап — это не устаканившаяся компания да, но когда доходит до того, что тебе говорят мы тебе не дадим весь объём данных для анализа. Ну, то есть подход слишком такой был бы совсем кустарный вот мы прям в гараже делаем.

Злата Обуховская: Чёрт, а я люблю такое

Валентин Домбровский: Стартапы велкам. Стартап за большой-большой опцион. Да?

Злата Обуховская: У меня есть акции на текущей работе :)

Семён Осипов: Наверное, есть какой-то предел стартапа, где ниже чего-то прямо совсем плохо. Собери свой компьютер ну это ещё ладно.

Злата Обуховская: я посмею высказать предположение, что в стартапах, возможно это был твой случай, бывает такое, что тебя как бы оставляют одного несмотря на то, что ты джун. И никто с тобой не возится, не нянчится, не собирает компьютер, не спрашивает тебя хочешь ты вот этими csv’шками или ты считаешь, что как-то должно быть по-другому.

Валентин Домбровский: Ну тебя брали не джуном, тебя брали аналитиком. То есть у них не было задача нанять какого-то младшего разработчика, чтобы ему дать какую-то возможность для роста, как это случается в некоторых компаниях. И мы надеемся ,что такое будет происходить всё больше. Конечно же, мы будем эту идею двигать на рынок. Просто брали человека, некоего аналитика и он был нужен зачем-то.

Семён Осипов: Да, как бы вот покажи нам магию где у нас тут проблемы с цифрами.

Валентин Домбровский: В такой атмосфере ты не растёшь.

Семён Осипов: Ты будешь расти, но тебе никто не скажет, что можно лучше. Мне не к кому было подойти и сказать "слушай я вот так сделал, но оно чего-то долго работает и не знаю в чём проблема". То есть ты сидишь и сам разбираешься. В какой-то момент, например, перестал помещаться в память компьютера dataframe и не у кого спросить, что делать. И ты лезешь в google, stackoverflow и начинаешь там накатывать что-то новое, какие-то инструменты и так далее и тому подобное. Тебе никто не подскажет, что ты не туда идёшь.

Злата Обуховская: Нуууу, Семён, думаю набросить или нет.

Валентин Домбровский: Да, набрасывай.

Злата Обуховская: Мне кажется, понимание того, что людей, джунов, новых сотрудников нужно обучать оно стало появляться относительно недавно. Потому что 10 лет назад тебя точно так же бросали и ты там как птенец, выброшенный из гнезда. Полетишь, не полетишь. Спойлер, скорее всего, не полетишь, упадёшь, поломаешь себе всё, что можно и с тобой никто не будет нянчиться. И выросло целое поколение людей, с которыми так поступали и они продолжают в общем-то эти традиции нести в комьюнити. Вся эта движуха, дотации новых сотрудников, обучение джунов, рост людей, спрашивать людей чего же они хотят от своего профессионального роста — это как-то всё стало приходить, кажется, со стороны hr’ов скорее.

Семён Осипов: Ну ты знаешь, меня чуть на Stackoverflow не забанили за мой первый вопрос. Задал первый вопрос и мне накидали кучу минусов за то, что типа, да это фигня, это такой лёгкий тычок, в самом элементарном не разобрался. Когда в следующий раз заходил задавать вопрос на stackoverflow у меня появлялась такая плашка красная с надписью "ваш прошлый вопрос получил столько-то минусов. Вы уверены что вы хотите задать новый?" Долгое время просто было стрёмно. Может, недели через четыре после этого stackoverflow начал свой ребрендинг в плане того что они начали ругать тех кто шеймит остальных. Они попытались сделать такой переворот в культуре. Но вот, правда, в какое-то время прямо блин непонятно было чего ожидать.

Григорий Петров: Когда ты задавал вопрос, там же одна из фишек Stackoverflow — при формулировании запроса он тебе прямо показывает довольно интеллектуальным поиском похожие ответы. На момент формулирования ты не видел подходящих вопросов, которые были?

Семён Осипов: Он же формулирует по заголовку. Я, видимо, неудачно заголовок написал, что мне два-три вопроса вывел и они не давали мне решение. То есть потом, конечно же, мне там накидали — вот дубликат, вот дубликат и вот дубликат.

Валентин Домбровский: Опять же, Гриш, мы говорим про начинающих разработчиков. Это тоже отдельный вопрос, кстати говоря, может быть, нам как-нибудь поговорить со Stackoverflow на тему правильных вопросов в Stackoverflow.

Злата Обуховская: Я бы хотела набросить. Достаточно просто и хороший сценарий для молодого разработчика, начинающего, это устроиться в большую компанию, у которой есть ресурсы на это обучение и стажировки. Но фишка в том, что на рынке таких компаний немного. Есть какой-нибудь Яндекс, где требования очень высокие. Мне кажется там без профильного образования тяжело стажером устроиться.

Валентин Домбровский: Я скажу так и, знаете, какая история с Яндексом, Мэйлом и некоторыми крупными компаниями - у них есть свои университетские программы. Многие из них именно начальный уровень тянут из университетов. У них есть ресурсы на то, чтобы просто прийти в университет, условному банку, предложить сделать программу, чтобы студенты шли к ним. Мы ходили в некоторые такие компании. Нам говорят "джуны они вот оттуда, а нам нужны не джуны". Ok. Но есть и другие компании, которые, в принципе открыты к разным и возможностям. Вот Семён как раз таки попал в достаточно крупную компанию. Она как бы не считается как IT.

Семён Осипов: Да она не считается IT, это всё-таки ритейл. Но дирекция больших данных это приблизительно 165 человек на данный момент, плюс отдельный IT департамент.

Валентин Домбровский: Сейчас, по сути, крупные компании, банки, сотовые операторы, ритейлеры, без IT не обходятся.

Семён Осипов: К слову, я проиграл спор однажды, говоря про профильное образование. Я говорил, что Яндекс просит профильное образование для разработчиков. Мне сказали нет. Я зашёл на сайт Яндекса и в вакансиях разработчиков нигде не написано высшее образование. В аналитике, датасаентисты, да. В разработку - ни в одной вакансии не было высшего образования. Так проиграл свой спор.

Злата Обуховская: Формально да. Есть те вопросы где они начинают по каким-нибудь алгоритмам гонять. Есть куча вакансий, куда ты можешь устроиться джуном без алгоритмов и я считаю это правильно.

Валентин Домбровский: Кстати, это ещё одна тема, позвать кого-нибудь из Яндекса, поговорить про найм разных разработчиков.

Григорий Петров: Злата, но это же скорей от безысходности. То есть если условно говоря ты hr и ты не знаешь какие вопросы задавать, приходишь в университет, говоришь вы обучаетесь программистов. Университет говорит нет, мы не умеем обучать программистов, потому, что для этого нам надо нанять кого-то, кто сможет обучать программистов, а они все работают у вас на очень большую зарплату. И hr приходит, ему надо спрашивать хоть что-то, он сидит такое на что похоже программирование? Ну там цифры, там математика, ну давай спрошу теорему Ферма. Там алгоритмы и структуры данных. Ну давай его спрошу там про сортировку массива - это похоже на журнализм. Давай я его спрошу там про какие-нибудь правила именования штук. Вот то есть это от безысходности просто потому, что никто не знает а какие же вопросы надо задавать, чтобы понять программист перед тобой или не очень.

Moscow Python Podcast. Как войти в разработку за считанные месяцы

Семён Осипов: Я сегодня, когда готовился к подкасту, просто открыл Headhunter и написал "junior python developer". Первая вакансия, которая была: мы ищем инициативного человека с высшим техническим образованием с опытом на python, в скобках пишите код без google и знаете синтаксис.

Злата Обуховская: Гриша, признайся, ты пишешь код без google?

Григорий Петров: Нет.

Семён Осипов: Вторая вакансия: мы видим на этой должности начинающего специалиста с законченным высшим образованием, в скобках ведущий российский вуз специализация техническая, диплом получен. Требуемый опыт от 2 лет, высшее образование, уверенное знание питона, php, rest api, git, ооп, sql, docker, mongo, postgres, kubernetes, nginx, apache. И соответственно вот с этим всем набором, во-первых, может ли он быть джуном, во-вторых, пойдёт ли он работать меньше чем за тысячу долларов?

Злата Обуховская: Мне кажется это безысходность. То есть hr не понимает, как нанимать людей.

Григорий Петров: Это да, это от безысходности. То есть, есть какая-то условно, корреляция, между высшим образованием и лучшими техническими скиллами. Если разделить популяцию на тех кто получили высшее образование и на тех кто не получили высшее образование, то среди тех кто получил высшее образование статистически будет, как это, большее количество годных программистов и так далее. Это такие ошибки, не ошибки статические. Это влияние социальных механизмов. Это я боюсь перешло из тех вакансий, где нужен был отсекающий фильтр. То есть ты говоришь я хочу кассира в McDonald’s. К тебе приходит 500 человек и ты не можешь отсобеседовать 500 человек в день. Слишком многие хотят — там неплохая зарплата, всё хорошо. Я когда-то мечтал поработать в McDonald’s потому, что он для меня, как не очень социального человек, был такой челлендж. Но я несколько дней постоял за стойкой в кабаке и закрыл этот гештальт. Но это я отвлекаюсь на самом деле. К тебе приходит в день 500 человек ты не можешь их фильтровать. И ты начинаешь придумывать какие-то искусственные фильтры, которые тебе дадут хоть какое-то улучшение. Говоришь, ok, давай будет от восемнадцати до тридцати. И у тебя 500 человек превращается в 400 человек. Ты такой, ага давай это будет мальчик. У тебя 400 человек превращаются в 200 человек. Ты такой, ага, давай он будет с высшим образованием. У тебя 200 человек превращаются в 100 человек. И так ты себе сокращаешь огромный входящий поток до комфортного тебе числа делая хоть какие-то фильтры, которые тебе, может быть, сделают лучше или хотя бы не сильно хуже. Ну тебе нужны хоть какие-то разумные фильтры. То есть ты можешь фильтровать по цвету глаз, но этот фильтр тебе не даст вообще ничего. И потом вот этот подход и этому hr’у говорят, а теперь сделай вакансию для программиста. Он никогда в жизни не делал вакансий для программистов. Но он делал, например, вакансии для кассиров McDonald’s и он применяет тот же подход. Он берёт привычные фильтры ставит, потому что он ожидает поток на 500 человек в день. Ну ты нанимаешь кассира в McDonald’s или бухгалтера имеешь 500 человек в день. Ставит соответственно какие-то критерии для отбора. Но если hr хороший он позвонил в ВУЗ спросил, а по каким методичкам вы им даёте диплом, какие вопросы вы задаёте. А в вузе говорят что, мы не даём диплом, мы не можем их обучать потому, что все программисты работают у вас. Если мы не можем себе нанять программиста, чтобы обучить других программистов, как мы их обучать будем? И hr в печали пишет там вот знание, не знаю, математики, высшее техническое образование. На собеседовании спрашивает теорема Ферма потому, что непонятно что спрашивать. Вот потом к нему вместо 500 человек в день приходит 0 и hr сидит он не понимает что происходит.

Злата Обуховская: Мне кажется, что это ошибка локальности какой-то. Люди делают хуже индустрии. В индустрии есть возрастающая потребность в программистах их неоткуда брать, кроме как, не снижать критерии, обучать всех кто хочет научиться.

Григорий Петров: По-моему это очень хорошо. В результате те компании, у которых хорошие hr они получают нечестное конкурентное преимущество. Я сам это делал. Ты пишешь человеческую вакансию и к тебе начинает больше народу приходить, чем на остальные вакансии просто потому, что знаешь как сформулировать и знаешь что спрашивать. Нечестно конкурентное преимущество — это круто.

Валентин Домбровский: Я считаю, что здесь наверняка возникает эффект эхо-комнаты, потому что те, кто не знает, как нанимать они смотрят на описания вакансий, которые лежат на headhanter, а там всё это написано и они просто это копируют. Я сделаю небольшой такой вброс, воспользуюсь площадкой наших подкастов, обращусь ко всем кто нанимает разработчиков. Обратите внимание о чём мы говорим, спросите Григория как писать правильно вакансию, чтобы к вам приходили, особенно начинающие разработчики. Наша, конечно же, задача, чтобы их было больше, чтобы они попадали в среды, где они растут и обучаются. И, в общем-то, наша главная задача - это взращивать сообщество. Все это мы прекрасно всё знаем. Мне это напомнило одно мероприятие, на которое я ходил не так давно. Оно было связано с наймом в IT компании людей старшего возраста. Там выступала компания МТС. Они говорили про свою ритейловую часть и программу того, как расширили количество народу. Им как раз надо довольно много в retail. Понятно, что текучка там большая. И они расширили воронку, убрав ограничение по возрасту в своих вакансях. Выступавший там Тимур Хайрулин привёл пример "ты хочешь найти разработчика по таким критериям. Хорошо я буду искать тебе его год. Если ты уберёшь этот потолок я найду его там за месяц" условно. Даже Тимур так сказал в том духе, что ему говорят "нам бы разработчика до 30 лет". Тимур говорит "хорошо, а представьте себе я разработчик. Ну а я разработчик, я к вам пришёл, вы меня наймёте? Ну тебя-то да". В общем, да, убираем стеклянные потолки нанимаем тех людей, которые этого достойны.

Злата Обуховская: Между прочим, я пришла к выводу что… Ой нет лучше промолчу, меня сейчас заклеймят эйджизмом. Но на самом деле это ограничение по возрасту оно совершенно нерелевантно, там до 30 после 30.

Валентин Домбровский: Ну почему же заклеймят эйджизмом? Наоборот, антиэйджизм.

Злата Обуховская: Я хотела толкнуть такую какую-то идею, что как бы мне попадались люди после 30, которые только пришли в профессию и они прекрасно справляются со своей работой просто потому, что они хотят.

Валентин Домбровский: Да на той встрече, это мы чуть-чуть отклонились от темы нашего сегодняшнего подкаста, говорилось, например, о том, что если у вас молодой коллектив и вы хотите нанять кого-то постарше, то в принципе это может лучше повлиять на атмосферу внутри компании. Вообще, такое, условно говоря, само по себе разнообразие в половом, возрастном составе сотрудников положительно влияет на атмосферу в компании. Но как бы одно из обязательных условий это делать надо как минимум нужно брать двоих, если у вас вообще все молодые, до 30, а вы нанимаете людей там от 40, желательно как минимум двоих и взять. Тогда хотя бы они так будут друг другу поддерживать.

Григорий Петров: Кстати коллеги у нас есть несколько минут?

Валентин Домбровский: У нас есть несколько минут, да.

Злата Обуховская: На самом деле есть еще два наброса которые мы не закончили.

Григорий Петров: Каждый раз когда вы будете вспоминать про hr’ов тогда просто представьте себе, что вам надо нанять волшебника на вполне конкретную задачу. У вас офисное здание и там постоянно что-то проклинается, вода течёт и так далее. Нужно нанять в штат волшебника, который будет снимать проклятия. Вы размещаете резюме. Предположим волшебники есть, вам начинают сыпаться отклики. Волшебник Пётр Никифорович ему 117 лет, окончил какое-то там образование, занимался этим, этим, этим. И ты читаешь и не понимаешь - возраст он как релевантен? 117 это много, мало, сколько они вообще живут? Он окончил это оно вообще о чём? Чему там учат? Он честно описывает свои навыки ты не понимаешь вообще ничего про эти навыки. И в каждом резюме написано "умею снимать проклятия" и тебе надо нанять одного. Ты можешь, конечно, им всем предложить испытательный срок, но это небыстро. Если ты будешь всем предлагать испытательный срок это очень дорого. Поэтому тебе нужны хоть какие-то фильтры. Вот у тебя несколько десятков резюме упало и тебе надо кого-то из них пригласить на собеседование, а потом кого-то из них одного взять на испытательный срок. Ты пришёл к штатному волшебнику и говоришь - объясни мне вот что это? Он на тебя посмотрел слушай, я тебя, конечно, очень уважаю Злата. Ты там программист с 15-летним опытом, но я вообще вот это тоже 15 лет учил ,ну на самом деле 150 лет это учил, оно всё сложно. То есть я тебе про каждое из этих слов могу прочесть многочасовую лекцию. Я могу за тебя сейчас отобрать эти резюме. Трэш, треш, треш. А вот этого и этого на собеседование пригласи спроси такие-то слова и дальше ты понимаешь, что ты в позиции hr’а для программистов, можешь пойти к своему штатному волшебнику он посмотрит резюме выберет, спросит. А сама ты не можешь вообще никак, у тебя нет опции ты не понимаешь что там написано.

Семён Осипов: Поэтому я боюсь, что сейчас испорчу предполагаемое IPO headhunter. Есть один такой замечательный ресурс, не буду его рекламировать. У меня был карьерный консультант с которым у нас был небольшой звонок. У меня состоялся буквально 10-и минутный разговор в рамках промо-акции. Мне был дан один очень короткий совет, особенно для джунов, поиск на headhunter это довольно таки долгое и гиблое дело. Потому что на одну вакансию junior разработчика прилетает 500, 100, 1000 резюме. И тебе нужно как-то выделяться среди вот этих всех. А очень это может быть, что ты прислал там 50-ым, а они первые 40-ок посмотрела и кого-нибудь из них выбрали.

Moscow Python Podcast. Как войти в разработку за считанные месяцы

Валентин Домбровский: Неудачники нам не нужны

Семён Осипов: Ты просто уже не дойдёшь туда. Поэтому, как минимум в случае junior разработчиков, в рамках middle и senior это ещё больше, наверное, влияет — нужно идти через связи.

Валентин Домбровский: Ну вот расскажи, у тебя как раз подобный опыт.

Семён Осипов: У меня подобная ситуация была. В Facebook я был подписан на нескольких людей, которые пишут про IT — на тебя, на Гришу. Как я пытался попасть в Voximplant, уже рассказывал. Увидел у Гриши пост и сразу написал. Соответственно также я попал на текущее место. Я увидел в Facebook кто-то из ближней тусовки, с кем я знаком, перепостил запись о том, что человек с позиции ну, естественно пошёл в Linkedin проверил как бы приблизительно какую позицию занимает, запостил, что нужны разработчики. Я ему написал. И он перебросил моё резюме руководителю разработки. Я не говорю, что hr, рекрутеры это ненужная секция. Просто мне таким способом удалось обойти ту очередь, которая выстроилось в эту дверь. Это в обход фильтра и иногда это работает, иногда нет. Но когда reference внутри компании, один из разработчиков приходит к hr и говорит "вот этот вот нормальной, возьмите" и часто бывает ещё этот разработчик может получить бонус за то, что привёл. В этом такой вот лайфхак. Поэтому для того чтобы найти вакансию среди знакомых нужно ходить и знакомиться. Нужно ходить на митапы.

Валентин Домбровский: Ну да митапы, сообщества. У нас сообщества в Telegram, Facebook.

Семён Осипов: Знаешь, надо не только ходить. Сюрприз-сюрприз мой первый митап был, на котором Гриша рассказывал про линтеры, была презентация как работает python в компании Siemens (это было в Мегафоне). И я вот также сидел и ничего не понимал. Это тяжело сидеть на первом ряду ничего не понимать, приблизительно так схватываешь. А ещё тяжелее это подойти к кому-то и что-то спросить. Мне стоило больших усилий на втором моем митапе подойти к человеку и сказать "слушай вот я такой-то такой, а что мне делать"? Потому что тут вот он старший разработчик, у него 500 лет опыта, он только что презентацию сделал, и ты такой "мм.. здрасти".

Валентин Домбровский: в итоге они так страшен чёрт. Ты подошёл, спросил, всё нормально?

Семён Осипов: В том-то и дело не нужно бояться, что ты здесь вот сидишь без знаний , без опыта, без всего, а все остальные во много — много раз круче тебя. Ну отлично стань частью этих людей, а чтобы стать частью эти людей нужно общаться, нужно перенимать у них знания.

Валентин Домбровский: Я недавно смотрел статистику наших митапов. Когда мы проводим митап в Яндексе мы собираем аналитику. Не всегда мы это делаем, но вот Яндекс для себя собирает и с нами делится. Мы посмотрели и внезапно самая частотная категория разработчиков по опыту сколько лет они занимаются разработкой это 1-3 года. Причём в эту категорию попадают очень интересно. Смотришь на должности — опыт разработки 1-3 года — это начинающий, junior, middle, senior.

Семён Осипов: Я ещё хотел добавить про университеты. Про спор нужно ли высшее образование или не нужно. Я считаю, что университет — это такой кредит от государства и от общества вокруг тебя на 4-6 лет, который потом закрывают за тебя, ну то есть аннулируют. Вот эти 4-6 лет ты можешь потратить на себя ходить на митап, тусоваться на стажировках, в смысле искать стажировки, да вот хакатоны, всё вот это. Тратить время на себя и какую-то часть уделять, чтобы тебя не отчисляли. За эти 4-6 лет ты накопишь большое количество опыта и получишь какие-то знания даже несмотря на то, что ВУЗ может давать устаревшие знания. Я, например, сейчас сожалею, что не закончил и у меня есть в планах на следующий год поступить на заочку. Просто потому, что понимаешь ВУЗ даст какой-то вот структурированный объём, да может быть частью устаревших, но фундаментальных знаний. Ты так вздохнула, ты с болью вспомнила свой вуз?

Злата Обуховская: Ты отважный человек потому что начать учить матан уже когда ты специалист у тебя там работа и куча занятий ну этому нужно посвящать там.

Семён Осипов: Это к тому, что ты можешь в определённый момент в ВУЗе находиться, получаешь стипендию, ходишь на хакатоны, а какой-то твой одногруппник и так чёрту я сейчас вот тут на php сайты лабаю и 50000 получаю. Только потом после выпуска из ВУЗа он через два года будет продолжать получать эти 50 000, лабая сайты на php, а ты пойдёшь дальше.

Валентин Домбровский: Может быть да, а может быть и иначе. Ты потратишь время на обучение и пойдёшь штаны просиживать, а он, лабая сайты на php, сделал собственную студию, например, или вырастет куда-то из php, а может быть не из php. Мы любим php. Всем внимание: мы любим php.

Злата Обуховская: Кстати про деньги. Скажи и вот ты, устроившись джуном, сильно просел по зарплате по сравнению с нефтяной компанией, где у тебя была карьера?

Семён Осипов: Я нескромно скажу, что на своей позиции был где-то в топ-20 по России с учётом количества знаний, языков и опыта производственного. Да как бы и в нефтяной сфере было всё хорошо, да прилично.

Валентин Домбровский: Мы сейчас наверно не будем про конкретные цифры говорить. Как джун, ты сейчас получаешь, как мы выяснили, больше среднего джуна. Ребята, кто хочет пойти джуном в X5 платят хорошо.

Семён Осипов: Порядка 50% я потерял.

Злата Обуховская: Ну то есть на этот шаг ещё нужно решиться.

Семён Осипов: Это нужно готовиться.

Валентин Домбровский: Ну это у тебя уже была такая позиция. Не у всех так будет.

Семён Осипов: Для этого нужно подготовиться да. То есть, во-первых, морально. Понимать, в какой-то момент у тебя будет снижено потребление, ты уже не сможешь чего-то себе позволить и понимать, что если ты хочешь вернуться на тот уровень, с которого ты уходил, тебе нужно и учиться, тебе нужно развиваться и митапы, и конференции, и обучение и так далее и тому подобное. Это если хочешь вернуться. Идти просто так потому что там в IT много платят... Чтобы там много платили нужно сначала положить на это. Не в смысле болт, а в смысле время, силы, знания, терпение.

Валентин Домбровский: Короче по факту это тебе должно нравиться. Не просто ради денег должен идти.

Семён Осипов: Если ради денег, мне кажется этот знаменитый мем про выгорание, про то, что чаще всего люди выгорают, когда вот они получали кучу денег, а делали...

Григорий Петров: Возможно. Я не могу не набросить по поводу университета, буквально 60 секунд. Университет хороший социальный костыль. К примеру, вот я сейчас изучаю органическую химию через Coursera. Это 700-ый MIT’овский курс. Это очень тяжело. То есть мне приходится делать усилия для того, чтобы смотреть видео лекции. Не могу там больше 15 минут меня просто тошнит от этого, я ненавижу, это не моё. Эти энзимы как же их ненавижу. А НИИ Нейрофизиологии, с которым я дружу, у них есть внутренние лекции для аспирантов. С огромной радостью прибегаю, сажусь на передней, собственно говоря, ряд кресел, примерно ощущаю себя как ты на митапе. Убелённый сединами профессор показывает слайды смотрите вот у нас клетка там внешняя поверхность клетки. Дали огромное количество элементов периодической таблицы Менделеева, химических соединений, там эти помпы. Он увлечённо рассказывает как там один белок с другим через эту соответственно помпу, какие там химические реакции. Непонятно вообще ничего, но очень интересно! Внимательно смотрю, записываю. Уже начал чуть-чуть чего-то понимать, по крайней мере, я знаю что то, что у них заканчивается на -аза, какая-нибудь полимераза, вот это у них ферменты, которые аффектят химические реакции. И, сравнивая, то что я делаю сам без мотивации и вот куда я пришёл и где вот engagement и так далее он, конечно, помогает. То есть институт — это такое место где тебя будут учить вне зависимости от твоей воли. Но при этом если ты что-то изучаешь сам, да вот японский изучаю для себя. Японский изучать мне нравится. Это делаю с большим удовольствием и даже местами помногу. Я неуверен, что мне бы чем-то помогли курсы японского они скорее меня затормозили бы, сожрали кучу времени и денег. Так что будь осторожен с институтом.

Валентин Домбровский: У нас осталось немного времени, но я не могу не спросить про то ради чего мы все здесь собрались. Как к одному из наших прошлых подкастов был такой негативные комментарии, что мы записали рекламный ролик на 40 минут. Да подкаст тоже с участием джуниора, который прошёл наши курсы и устроился на работу. Но, правда, это был один такой комментарий. Остальные, к счастью, спасибо вам, что вы нас любите и пишите нам хорошие комментарии. Впрочем, флеймить тоже можно мы будем с вами спорить и ругаться в комментах на youtube зачем они ещё нужны. Всё-таки вопрос про наши курсы. Ты прошёл и как тебе ощущения? Просто твой опыт, понравилось - не понравилось? Сейчас мы, конечно, вместе с тобой уже занимаемся их развитием, в общем-то, ты полноценный участник команды курсов. И, кстати, с 8 набора наверно ты заметил вместе с тобой прошли такой хороший путь по тому как их улучшить. Скажи, пожалуйста, пару слов о том, как у тебя этот опыт проходил.

Семён Осипов: Курсы у нас разделяются на 3 уровня: для тех, кто совсем ничего не знает, те кто плюс-минус чего-то умеет и более-менее продвинутый. Учитывая, что у меня был какой-то опыт программирования где-то лет 10-15 назад то я попал в продвинутую группу. Возвращаясь к мотивации, я делал проект, который меня мотивировал, потому что это прям было видно сколько денег это сэкономит и так далее. Конечно, часть этих денег сэкономленных никто не дал, но если ты делаешь то, что тебя мотивирует, решает какую-то твою проблему, решает какую-то твою боль это реально тебя подстёгивает, чтобы решить, чтобы себе жизнь упростить. И спойлер-спойлер наш текущий сайт написан тоже мной. Мне очень нравилось тем что у меня был куратор, которому можно было написать в адекватное время, не в три часа ночи, и спросить. Я почему говорю в адекватное время потому, что я ему писал и в неадекватное время, но сообщение выглядит приблизительно так "слушай, тут проблема, ничего не получается, в общем я вот это-это-это. А, точно, понял, спасибо". То есть вот этот rubber duck technique, вот этот метод утёнка, когда ты начинаешь объяснять человеку, что у тебя не работает и ты понимаешь, ух точно оно, оно же тут вот так. Вот это озарение каждый раз когда я у своих ребят, которых я сейчас курирую, вижу они прям светятся от счастья. До меня же дошло, да, точно, работает! Эта бесконечная радость и вот это вот ощущение... Миша Корнеев рассказывает так, программирование - это магия когда ты написал 500 строчек букв с точками, с кавычками, с запятыми нажал кнопку и оно работает оно что-то делает. И ты вроде понимаешь что оно делать но всё равно каждый раз когда оно вот срабатывает и у тебя в базе данных появляется новая запись это аааа...

Григорий Петров: Это первые 15 лет потом привыкнешь.

Семён Осипов: Да это подсаживает, это какой-то наркотик. От того, что ты что-то спрограммировал и это принесло пользу людям. У меня есть знакомый, который живёт в другой стране и он развивает свой бизнес. Ему захотелось спарсить картинки. У него есть каталог из 10 тысяч записей и ему нужны были картинки из google photos. 99% вероятность, что первая картинка из google была именно то, что ему нужно. И вот эти вот буквально 7 строчек в python он запускает и у него всё работает. Ура, радость, всё я пошёл дальше свой бизнес делать. И ты такой - вот я помог человеку. Я продолжаю учиться и на каких дистанционных курсах, и вот Алексей Драль, который приходил несколько выпусков назад, сейчас прохожу курс у него, и Сoursera, и на Datacamp. Я люблю впитывать знания. Абсолютно не пожалел, что пришёл именно потому, что была возможность общаться с теми, кто уже в теме, есть кому задавать вопросы. Это, наверное, основная проблема начинающих в любой сфере. Если ты не в этом потоке, не в этой тусовке, не в этом сообществе, тебе некого спросить ты замыкаешься, начинаешь себя демотивировать, у тебя не получается, да там все люди супер синьоры, кому это нужно. А на самом деле нужны.

Григорий Петров: Как суперсеньорам очень нужны руки. Кто-то должен решать кучу мелких задач.

Семён Осипов: Кто-то должен перекладывать из одной базы в другую и это хороший опыт. И ты садишься. И в больших компаниях тоже могут прийти и сказать вот тебе таска в jira. Но тебе будет к кому пойти и спросить, а потом будет кому отправить merge request, он тебя отругает, скажет что у тебя всё плохо, переделывай, но ты поймёшь где у тебя плохо.

Валентин Домбровский: Да, кстати, опять же обращение к тем, кто нанимает разработчиков. Если вы пишете в вакансиях, что вам нужны только middle или, не дай бог, только senior, подумайте ещё раз действительно ли это так. Часто те задачи, которые, в общем, возникает очень много задач на которых нужны начинающие разработчики и это помогает разгрузить более опытных разработчиков от рутины. У нас, кстати, одна из выпускниц, Саша Куликова, которая работает в компании Skyeng вчера на конференции Олега Бунина делала доклад о том, как компания Skyeng у себя создала так называемый инкубатор. Проект, в который они нанимают джунов и в этом проекте есть некий PM, который над ними всеми рулит и в него сбрасываются все простейшие задачи из разных продуктов компании. Разные команды самые простые задачи отдают джунам. Есть люди, которые получают опыт PM'ства, это pm над джунами, условно тимлид, есть пять человек джунов, которые выполняют simple tasks. Мне кажется это отличная идея, но, к сожалению, в Skyeng нет питона пока. Я надеюсь, что такие проекты будут появляться.

Moscow Python Podcast. Как войти в разработку за считанные месяцы

Семён Осипов: Я ещё, конечно, хотел добавить про тех кто входит профессию с другим опытом, из каких-то других бизнес-доменов. Далеко не всегда, а почти всегда компаниям не нужны rockstar'ы, которые олдскульно видят только таски в jira, только код, мой код, мне самое главное чистота кода, а всё остальное меня не волнует. Отчасти, наверное, практически 100% людей, которые переходят из другой области, они изучают бизнес-домен в который идут. И они могут привнести что-то со стороны как пользователь, для которого ты будешь писать продукт, без углубления внутрь где какую базу данных используется так далее и тому подобное. Скорее больше, а как пользователи будут работать с этим. Я позволю дать себе совет с позиции джуна, если вы хотите быть хорошим программистом нужно знать не только код, паттерны и алгоритм и так далее, а также хотите работать в этом бизнес домене и знать его.

Валентин Домбровский: Ну да, грубо говоря, бывший продажник, который стал программистом, может лучше понимать бизнес-логику того или иного продукта.

Злата Обуховская: Про это можно долго говорить про твою стоимость на рынке, если ты делаешь ставку на domain знания либо там на какие-то технические скилы. Почему долго, там есть свои плюсы и свои минусы.

Валентин Домбровский: У нас идеи для подкастов появлятся в ходе подкастов. Мы недавно это как раз в чатике обсуждали. Можно собрать взять людей с бизнес-прокачкой и с технической прокачкой и сделать подкаст.

Злата Обуховская: Ну что, мы резюмируем? Сложно резюмировать, но в общем, чтобы быть программистом нужно хотеть быть программистом, а не только зарабатывать много денег. Hr'ы отбирают по странным критериям, не нужно расстраиваться нужно искать работу через знакомых. Техническое образование может пригодиться, но необязательно. Всё хорошо.

Валентин Домбровский: Всё хорошо, идите на курсы Learn Python. Это был рекламный ролик Learn Python, вы на него только что потратили 40 минут своего времени. Я вас поздравляю. Друзья на самом деле это был Moscow Python подкаст, да, снятый при поддержке курсов Learn Python, конференции Moscow Python Conf++. Ссылочки на них в описании. Меня зовут Валентин Домбровский — сооснователь MoscowPython и сооснователь Drylabs. С нами сегодня были

Григорий Петров – евангелист Moscow Python, руководитель программного комитета Moscow Python Conf++ и его ручной bug. Злата Обуховская — мать драконов. Семён Осипов — выпускник курсов Learn Python, куратор курсов Learn Python и бэк-энд разработчик в компании X5 Retail.

Пишите свои идеи и предложения для будущих подкастов в комментариях, также пишите свои комментарии по поводу того о чём мы сегодня говорили, набрасывайте, холиварьте, флеймите и всякое такое. Ставьте лайки, мы всё читаем иногда на что-то отвечаем, подписывайтесь наш канал.

P.S. Ещё об опыте джуниора, выпускника Learn Python вы можете почитать здесь.

55
9 комментариев

Как войти в разработку за считанные месяцы

Никак

4

У нас была большая дискуссия на эту тему тут - https://vc.ru/hr/66272-python-junior-podkast-lichnyy-opyt-dzhuniora-udachi-feyly-recepty
Не знаю, стоит ли повторяться. :) В любом случае пример реальный, а читатели пусть делают выводы. :)

1

Сейчас будет доказывать что можно за 3 месяца, а потом когда спрашиваешь почему на Отусе или Скилбоксе такого нет он обижается

А есть что нибудь похожее на Golang?

1

У нас только Python (с необходимыми "вкраплениями" Javascript, например, когда мы учим веб-разработке) - может быть, кто-то подскажет про Go, но я, честно говоря, не знаю, есть ли вообще по нему курсы (хотя должны быть, наверное).

От оптимизатора до Питонщика, прикольно

1