Moscow Python Podcast. Истории успеха джуниоров-питонистов

В Moscow Python Podcast мы регулярно касаемся того, как джуниору начать путь в индустрии. Сегодня — выпуск с самыми твёрдыми пруфами: два выпускника Learn Python рассказали нам, как учились на наших курсах и до них, с какими трудностями столкнулись в освоении основ профессии, в чём их ожидания совпали, а в чём разошлись с практикой рынка, как им удалось устроиться на первую программистскую работу. В гостях у подкаста разработчик компании МТС Александр Козельский и разработчик компании Techboss Мария Кузнецова. Ведущие выпуска — сооснователь MoscowPython и компании DryLabs Валентин Домбровский и DevRel компании Evrone, руководитель программного комитета Moscow Python Conf++ Григорий Петров.

Выпуск Moscow Python Podcast

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

Наш подкаст традиционно записывается при поддержке конференции MoscowPython Conf++ и курсов Learn Python. Всё это проходит в офисе Skyeng.

Сегодня с вами в нашей импровизированной студии Валентин Домбровский — сооснователь Moscow Python и компании Drylabs, Григорий Петров – DevRel компании Evrone, евангелист Moscow Python, руководитель программного комитета Moscow Python Conf++, и ведущий разработчик компании Evrone – Михаил.

И ещё два человека — это очень важно. Сегодня мы говорим как раз про курсы Learn Python. Некоторые наши ролики, в связи с тем, что мы говорим в них про курсы, объявляют слишком длинной рекламой. Если вы считаете, что это слишком длинная реклама, то можете пропускать этот ролик. На самом деле, на мой взгляд, реклама бывает и полезной. И мне хотелось бы, чтобы это было именно так.

Сегодня мы говорим про истории успеха начинающих разработчиков и с нами сегодня в студии Александр Козельский — разработчик компании МТС, выпускник двенадцатого набора курсов Learn Python и Мария Кузнецова — разработчик компании Techboss, выпускник девятого набора.

Сегодня мы говорим про истории успеха, поэтому,коротко, о себе, как, скажем так, дошли до жизни такой? Почему решили выбрать эту стезю и как прошли этот путь?

Александр Козельский: Я закончил вуз в 2016 году и устроился работать в авиацию, хотя заканчивал робототехнику. Это, по большому счёту, часть программирования, часть какой-то механики, конструкторских вещей. Я решил, что инженерное дело мне нравится — пошёл в авиацию, не совсем на своё, на гидравлику, но тем не менее. В процессе работы я понял, что и околовоенная структура мне не очень нравится, и в принципе специфика работы именно в конструкторском бюро высокого уровня, каким является ПАО “Туполев”, мне не интересна. Тогда я подумал: а что нравится, что когда-то нравилось, вспомнил из своей биографии, что писал какие-то программы, “рыбы” для студентов. Подумал, что это, наверно, будет интересно. Сначала начал изучать всё самостоятельно, потом в какой-то момент упёрся в то, что что-то не получается. Наткнулся на ваш курс, на подкаст изначально, тогда Junior был подкаст, посмотрел другие курсы и далее определился, что хочу к вам. Пришёл. Спасибо вам.

Валентин Домбровский: И не прогадал.

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

Александр Козельский: Я помню свой первый проект, с которого начал изучать Python — это был проект на Django. Тогда я упёрся в “никакую” регистрацию пользователя. Причём, это была именно проблема с ORM, я не мог разобраться в ней, и не знал куда дальше идти и что делать. Думал, пойду разберусь, но в итоге немного в другую степь ушёл.

Григорий Петров: Очень здорово, спасибо.

Валентин Домбровский: Мария, твоя история?

Мария Кузнецова: Я скрипач по первому высшему образованию, с 20-летним профессиональным опытом, Лауреат российских и международных конкурсов. У меня всё очень хорошо получалось, но было всегда ощущение, что это не моё, не захватывало. Тогда я получила второе высшее образование — это социально-культурный сервис и туризм. Проработала в международной компании три года. FCM Travel Solutions — большая компания, лидер рынка, но что-то было не то. Потом я родила ребёнка, была в декрете и меня настигла депрессия, потому что я понимала, что выходить нужно, видимо, туда же, но перспектив нет и это было ужасно. Я усиленно учила английский, потому что у меня было не очень хорошо с ним в то время. Мой бывший муж, инженер-связист, посоветовал программирование. Я подумала: почему бы и не попробовать? Я очень долго сомневалась. В итоге пришла на курсы, и оказалось, что это то, что нужно.

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

До того как решили заняться программированием, как вы себе представляли это и насколько это представление совпало с реальностью?

Александр Козельский: На самом деле достаточно сильно не совпадало. Я думал, что это какое-то сверх-творчество, каждый делает какого-то огромного слона. Когда я пришёл в достаточно крупную компанию МТС, я понял, что каждый делает свой вклад по кирпичику Lego. Это совершенно другое.

Валентин Домбровский: Примерно как о работе следователя судить по сериалам на НТВ?

Александр Козельский: Да, что-то вроде того.

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

Александр Козельский: В моём окружении программистов нет. Как ещё судить, кроме как не по поп-культуре. Понятно, что это всё гиперболизировано, но в любом случае...

Григорий Петров: И снова я ворвусь. Думаю, нашим слушателям будет интересно забавное когнитивное искажение. Когда ты сидишь в офисе где-нибудь в Башне в “Москва-Сити”, ты думаешь, что всё рядом с тобой разговаривают по-английски — наверно, большинство может разговаривать по-английски. Ты выходишь из Башни и вокруг тебя рушится твой стеклянный мир, и ты понимаешь, что в принципе, мало кто может разговаривать. И, когда ты программист, тебе кажется, что справа от тебя сидит программист, слева от тебя сидит программист и единственный непрограммист — это тётя Валя из бухгалтерии. Но и она уже на курсы пошла. Наверное, все более-менее понимают в компьютерах. Потом ты выходишь и всё это снова рушится с довольно неприятным звуком бьющегося стекла. Ты понимаешь, что для большинства компьютеры — такая магия и многие его даже включать не умеют — этим занимаются их дети и внуки. Это забавно. И тем интереснее слышать, что есть, например, два молодых человека, у которых в окружении нет программистов. У вас ведь не по три-четыре знакомых, а больше? Я имею в виду вообще. Это десятки, возможно даже сотни человек, и среди них нет программистов?

Александр Козельский: Да, разработчики есть, но профессионального общения с ними не было.

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

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

Moscow Python Podcast. Истории успеха джуниоров-питонистов

Мария, у Вас с Александром, немного разные истории, потому что Александр всё-таки с техническим бэкграундом, а у тебя гуманитарный. Я сам, если честно, гуманитарий (придётся в этом признаться). Как я написал недавно в одном техническом чате: “я гуманитарий, извините, есть такой грех”. Это, наверное, тоже интересно, потому что многие имеют подобный бэкграунд, и я думаю, что есть какой-то блок “гуманитарный”. Как ты его преодолела?

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

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

Григорий Петров: Лет пять-шесть назад я думал, что мозг мальчика и девочки различается, мозг гуманитария и технаря различается. Потом я более глубоко начал изучать нейрофизиологию, пообщался с Бесчастных, ещё с рядом нейрофизиологов, психиатров. Они говорят, что нет, не различаются, это всё наученное. То есть, последняя версия моей картины мира 2.0, улучшенная и переработанная — нет различия между мальчиками и девочками, гуманитариями и технарями, а есть то, чему мы научились, а переучиваться тяжело. Программирование — это специальная, я бы сказал, область, которая не похожа ни на что. Её можно сравнить с гуманитарным, её можно сравнить с математикой, хотя я это очень не люблю. Для меня это принципиальное новье, которое не имеет корней вообще. Ты начинаешь программировать и это имеет примерно такое же отношение к написанию книги, как к написанию книги имеет, например, готовка еды. У них есть что-то общее, можно проводить какие-то аналогии: и там, и там, например, есть рецепт. Но на самом деле вещи разные.

Валентин Домбровский: Пожалуй. Александр, ты учился программированию до курсов. Какие вообще методики ты применял до того, как решил пойти обучаться? Что тебе мешало, а что может быть помогало? Как ты оцениваешь процесс самостоятельного обучения?

Александр Козельский: Именно методик, как таковых, не было. Был навык учиться, который я приобрёл в институте. Так как работа подразумевала под собой активную интеллектуальную деятельность, приходилось выделять время на отдых. Чтобы, например, заставлять себя не смотреть в телефон в электричке, когда ехал домой. Это было самым важным. Потому что, если в телефоне будет какая-то информация, захочется какие-нибудь страницы в ВК полистать, например, то голова просто перегружается. Приезжаешь домой, садишься за компьютер, включаешь его и понимаешь, что ничего не хочешь, кроме как лечь поспать, поесть и пр. Это нужно было ограничивать. Так как мне нравилось разбираться в чём-то — это интересный процесс, особенно, когда начинает что-то получаться. Но Django такой фреймворк, где всё очень быстро делается, тяп-ляп и в продакшн, как говорится. Документация очень хорошая. Она на английском, но отличная. В Django быстро и tutorial идёт. Я сначала посмотрел какие-то видео по Django. Везде разбирается один и тот же блок, потом посмотрел в tutorial Django — этот же блок по сути разбирается. Именно так учился. У меня была какая-то задача, которую я не разбивал на слишком маленькие задачи. В этом была небольшая ошибка. Просто садился за то, что нравилось, и думал, как это сделать.

Валентин Домбровский: Мария, ты сразу решила что тебе нужна такая поддержка? Когда ты решила пойти в эту профессию, то сразу поняла для себя, что тебе нужно пойти на курсы?

Мария Кузнецова: Я прошла приложение Sololearn, для Python. Ничего не поняла. Погуглила курсы. И примерно через 2 месяца пошла уже на курсы. Мне нужна была поддержка, потому что я была абсолютным нулём. Я даже не знала как вызвать командную строку.

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

Мария Кузнецова: Я отношусь ко второму типу.

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

Мария Кузнецова: Мне посоветовали Python, сказав, что с него лучше всего начинать. Я слушалась. У меня не было вариантов. Курсов много. Я выбирала несколько месяцев, очень сомневалась, стоит ли идти. А из аргументов “за”, почему я выбрала именно эти курсы: во-первых, график очень удобный: в выходной можно было посещать занятия. У меня ребёнок, нужно было с кем-то оставлять. Во-вторых, на вашем сайте было написано, что после курсов ты, скорее всего, не будешь программистом оплачиваемым, скорее всего не выйдешь на работу, а должен будешь посвятить ещё около года учёбе и только потом, если ты будешь хорошо учиться — ты выйдешь. Мне показалось это честным. Потому что обещание, что я закончу курсы через три месяца и мне будут платить сто двадцать тысяч, по моему опыту, это подозрительно.

Валентин Домбровский: Да, так некоторые наши коллеги, к сожалению, поступают.

Мария Кузнецова: Да, и это вызывает большое сомнение.

Александр Козельский: В подтверждение хочу сказать, что фраза “мы не обещаем трудоустройство после курсов” определяющая. Мне кажется. В моём случае тоже самое было.

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

Александр Козельский: Эта помощь — уже очень многое.

Мария Кузнецова: Рассмотр резюме — это классно, что вы это делаете.

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

Григорий Петров: Кстати, забавно, я программирую, наверное, уже лет двадцать пять. Из них 20 лет за деньги. Когда ты так долго этим занимаешься, очень трудно понять, а что же в этом непонятного. Всё кажется таким простым, и когда ты человеку объясняешь интерактивно, всегда все всё понимают. Поэтому долгое время меня ставили в тупик слова людей из серии “я начал изучать программирование и упёрся во что-то, не понял”. Во что там можно упереться? Покажите мне эту стену, давайте вместе разберёмся. Так было, пока я не начал изучать японский. Японский у меня просто лакмусовая бумажка, о том, что всё бывает тяжело. Я начал читать статью о том, как спрягаются японские глаголы. Они спрягаются непросто, но есть какой-то набор правил. Прочёл. Не понял. Слова вроде бы все понятные и какие-то действия понятны. Тут разбиваем, тут словарные формы, тут пять вариантов, тут “i” отбрасываем, тут вставляем, а вот целостной картины как-то нет и повторить не можешь. Так и изучаешь-изучаешь сам и только через несколько лет на какой-то десятой статье, которая это объясняет разными способами, я наконец-то понял, что там происходит. На каком-то совершенно отвлечённом примере, я вдруг понял, как оно работает. Очевидно, что вне зависимости от того, какой у человека бэкграунд, какой у него интеллект, насколько он умный и так далее, новые вещи реально даются тяжело, особенно если пытаешься изучать по книжкам. С живым человеком гораздо проще, потому что живой человек видит, как ты с этим пытаешься разобраться, следить за твоим мыслительным процессом и может его подкорректировать. Это, конечно, ценно.

Валентин Домбровский: Так как у нас рекламный ролик, всё спонсируется Learn Python, скажу, что я недавно был на митапе, посвящённом обучению data science. Там были ребята, которые учат на разных курсах, у некоторых свои школы. Хорошие ребята, хорошие преподаватели, всё хорошо. Но там они как-то чётко разделяли, условно: онлайн — это на потоке, массово и так далее; оффлайн — это преподаватель, у него группа студентов и он их обучает. Я про себя подумал, что, по-видимому, у нас в некотором роде уникальный случай. В оффлайне есть не только главный преподаватель Миша, Володя и Илья, у нас есть кураторы. По сути, ты получаешь более индивидуальный подход, учась в этой мини-группе с куратором. Но и в онлайне та же самая история. Да, у тебя есть куратор и ты с ним уже в онлайне общаешься.

Вы оба учились в оффлайне. Мы видим, что этот подход более эффективен. По-видимому, потому что есть чёткие отсечки — встречи в субботу. И это всё работает более эффективно, чем то, что в онлайне. Но мы стараемся онлайн тоже подтягивать и делать эффективным. В принципе системы похожи: есть куратор, есть группа и всё это работает.

Давайте теперь по-честному о курсах — что хорошо, что плохо. Честно и откровенно. Нам самим это нужно: и Мише, Володе и Илье скину ссылку на эту запись, скажу: “смотрите, смотрите сюда!”

Александр Козельский: Я помню, как оставлял фидбэк о курсах после окончания — общение, оно бесценно. То, что мы приходим, группы из 6 человек плюс куратор — это очень классно, потому что в онлайн так не сделаешь. Есть тот, кто вещает, и остальные — максимум в чат могут написать. Наверно, это работает, точно не знаю. При этом, когда ты приходишь на занятие, вокруг совершенно разные люди, и, например, один что-то не понял, а ты это понял — ты ему объяснил, и наоборот. Происходит такой обмен опытом. Это хорошо.

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

Александр Козельский: Это очень хорошо. Практикоориентированность — это такой краеугольный камень, потому что у каждого есть свой проект и каждый идёт своими темпами. Это действительно хорошо. Первый день — интенсив, который погружает в язык программирования и его синтаксис. Но не хватает, лично мне кажется, мини-лекции в начале каждого занятия. То есть, рассказ на 10-15 минут о какой-то фиче языка, условно, как работает словарь, что такое хэш-функции, мэппинг и так далее. Чего-то подобного не хватает, потому что, например, на собеседованиях такие вопросы очень частые и их в основном нигде не освещают. В статьях, учебниках также редко об этом упоминается. Такое погружение в язык или, например, небольшая лекция по модулю itertools было бы полезно. Когда читаешь какую-нибудь статью, написано: здесь используем вот это и вот это. А почему, что она делает? Такие вопросы возникают.

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

Он хочет сделать воркшоп бесплатно для наших выпускников. Анонсы будут в закрытом сообществе. Воркшоп сделает, кто-то придёт к нему учиться. В принципе такие вещи мы тоже будем практиковать. Это кажется интересным форматом сотрудничества.

Мария, теперь твой честный фидбэк.

Мария Кузнецова: Мне понравилась идея коротких лекций. Потому, что ты приходишь и не очень понимаешь, когда начинать. Но в то же время, в этом есть большой плюс, потому что когда ты становишься программистом, ты всегда приходишь, открываешь ноутбук и всё твой рабочий день начался. Мне кажется, это особенность профессии такая, в принципе. И у тебя, пришедшего из “другого” мира, возникает вопрос: “а что происходит..?”. Но к этому надо привыкать. Из недостатков, сразу из плохого, мне было сложно из-за того, что некоторые видеолекции по установке каких-то модулей, прочего, были по старым версиям. У меня была винда, это в принципе было сложно, и тут ты заходишь на сайт, и понимаешь, что на этом месте нет этой кнопки. А там где я была тогда, на уровне моего знания, если ты не видишь кнопки, у тебя наступает паника. Тогда ты скачиваешь какую-нибудь устаревшую версию, лишь бы там была эта кнопка в том месте.

Moscow Python Podcast. Истории успеха джуниоров-питонистов

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

Мария Кузнецова: А так, всё классно.

Валентин Домбровский: Супер. Очень рад. А если касаться каких-то трудных моментов во время обучения? Мы говорили об организационных каких-то моментах, а вот какие-то блоки во время обучения у вас наступали? Например, “к пятому занятию я понял, что мозг у меня кипит” — что-то такое было?

Александр Козельский: Я подошёл к курсам уже более-менее подготовленным студентом. Я просматривал в основном веб, с Flask разбирался. Но в Django я с этим сталкивался. Была трудность в том, что мы с моим коллегой, скажем так, на неделю ошиблись с окончанием курсов и нам пришлось в последний вечер и ночь доделывать.

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

Александр Козельский: Лекции достаточно простые. Они для тех, кто приходит с нуля и дальше растёт сам. Это правильно. Я считаю, так и должно быть. Потому что человек, который в это окунётся, он найдёт какой-нибудь ресурс, который будет смотреть. Кстати, я вспомнил такой ресурс — Codewars. Это замечательный ресурс для просто набития руки. Какие-то простые логические задачи, например, декодировать какую-нибудь строку, которая легко закодирована. Зачастую это даёт понимание как работают разные структуры данных, например list, dict. Особенно, когда приезжаешь и над проектом нет никакого желания работать, но поучиться надо. Запускаешь какую-нибудь простенькую задачку, и эта платформа потом он тебя поздравляет, ранги повышает. Ты испытываешь восторг.

Мария Кузнецова: Я вот не соглашусь, что лекции очень простые.

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

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

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

Мария Кузнецова: Да. Иногда куратору напишешь. И когда всё заработает, ты думаешь: “ну, наконец-то”.

Григорий Петров: Для образования это очень здорово: запоминание эмоций. Если сам помучился, то гораздо лучше запоминаешь.

Мария Кузнецова: Да, это хорошо работает. Но немного психологически выматывает. На уроке тебе говорят: “вот и всё, смотрите, всё работает”. А у тебя не работает.

Григорий Петров: Обучение вообще психологически выматывает.

Мария Кузнецова: Это точно. Но это классно.

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

А чем вы сейчас занимаетесь? Чем вообще джуны занимаются на работе?

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

Moscow Python Podcast. Истории успеха джуниоров-питонистов

Валентин Домбровский: Давай чуть-чуть откатимся назад. Чем ты занимался после курса? У тебя получился относительно небольшой срок. Я имею в виду, мы говорим, что год-полтора надо ещё поучиться. Но поскольку у тебя был уже такой background и ты сам занимался, получилось, что... ты закончил 12 набор, это было у нас в мае месяце, и фактически пара месяцев всего прошла, судя по нашей статистике, с чем готовы поздравить. Что ты делал эти два месяца, расскажи, пожалуйста.

Александр Козельский: После курсов я был вымотан, потому что над проектом было достаточно тяжело работать, много нового. И в итоге я перешёл в режим light обучения: я приходил, читал статьи, решил пойти попробовать, что такое асинхронность в Python. Это было тяжело, больно, но я что-то понял. Я больше читал, чем кодил руками. Так как я работал, пока искал работу, у меня не было возможности часто ходить на собеседования. Особенно то, что у меня режимное предприятие и убегать с работы нехорошо. Может меня закидают тапками — это было моё первое собеседование и оно тут же стало успешным.

Валентин Домбровский: Ты же участвовал в проекте поддержки трудоустройства? Помогло хоть чем-то?

Александр Козельский: Истории, когда некоторые ходят и у них спрашивают какие-то просто невероятные вещи на собеседованиях для меня непонятны. Ты джун, ты, по сути, только начинаешь свой путь. У тебя есть два варианта обучения — в глубину или в ширину. Либо ты берёшь какую-то технологию, условно, Flask и погружаешься в неё, но ничего другого не знаешь. Либо ты посмотрел на Flask, Flask может это, SQL — вот это, ещё где-нибудь о Pandas узнал. В любом случае тебя начинают спрашивать не по одной технологии, а по нескольким. И спрашивают достаточно глубоко. Но если ты Junior, ты не можешь глубоко всё сразу изучить. Во-первых, у тебя нет проекта, чтобы это изучить, потому что просто почитать — это не работает. Скажем, есть какой-нибудь пример, который работает, а вот когда есть какое-нибудь отклонение, какое-то условие, которое нужно выполнить немного по-другому, всё это не работает. И вот тут нужно разбираться. Получается так, что в глубину несколько технологий сложно освоить, а когда ты приходишь на собеседование, тебя спрашивают всё. Я считаю это неправильно.

Валентин Домбровский: Работодатели, привет!

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

Валентин Домбровский: В итоге твоё собеседование в МТС было достаточно лояльным?

Александр Козельский: Да. Оно мне показалось идеальным. Меня спросили про Python: основы, как устроен, как работают словари, и так далее. Специфика моей работы больше не Python, не на Python писать, а делать SQL запросы. Из кластера нужно переводить в другие места данные, скажем так. И меня спросили про SQL. Я что-то ответил, что-то нет. Это было дружественное собеседование. Спасибо HR, которая нашла, и привела, так сказать, за ручку.

Валентин Домбровский: Как тебя нашли?

Александр Козельский: Через вас, как раз. Через программу поддержки.

Валентин Домбровский: Хорошо, что ты сказал. К сожалению, мы не всегда получаем фидбэк. То есть мы делаем рассылку.

Александр Козельский: Ну, как сказать…

Валентин Домбровский: Я имею в виду, фидбэк от другой стороны.

Александр Козельский: Как сказать. В чате вы написали раньше, чем мне ответили, что мне дают оффер.

Валентин Домбровский: Да, точно… Ок, отлично. Курсы Learn Python: “сообщаем о трудоустройстве раньше, чем вы об этом узнаёте!”.

Да, хорошо. Отлично. Мария, у тебя так получилось, что ты раньше заканчивала и у нас ещё не было нашего проекта поддержки. Как ты прошла свой путь? Чем ты занималась после курсов?

Мария Кузнецова: Курсы закончились прошлым летом, почти год назад, получается. Потом у меня был жёсткий период, связанный с разводом. Процесс занял полгода и я была не в состоянии учиться, если честно. Начала учиться где-то в январе. Я тогда отдала ребёнка в садик и у меня получалось уделять время учёбе около десяти часов в день. Я только училась: туториалы, лекции, Otus.

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

Мария Кузнецова: Да, как можно больше и параллельно рассылала резюме на hh.ru, получая отказы.

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

Мария Кузнецова: Это немножко, конечно, печалило, если не сказать больше. Есть ещё разные группы в Telegram для поиска работы. Первый раз, когда я откликнулась, и мне прислали тестовое задание — это было весной. Я поняла, что я ещё не могу, это было сильно выше головы. Пришлось ответить немножко нечестно, что просто нет времени, потому что постеснялась. В июне я ещё раз откликнулась. Мне также прислали тестовое задание. На тот раз оно было мне по силам. Задания были примерно на одном уровне, но, видимо, я просто была уже готова. Я его сделала и мы пособеседовались. Я работаю удалённо, кстати. Собеседование было по телефону, через два дня я прислала выполненное задание, его через три дня пустили в продакшн. За тестовое задание заплатили (что за него заплатят, было сразу оговорено). Таким образом, спустя 10 дней я получила первую зарплату.

Григорий Петров: Классно. Удалённая работа — это вообще круто.

Мария Кузнецова: Да, очень здорово. Мы живём в пригороде.

Григорий Петров: Вот компания Evrone, в которой я теперь DevRel известна не только тем, что делает заказ на разработку в основном на Ruby, но и тем, что вся команда удалённая. Вообще вся. В офисе “Москва-Сити” сидят два человека и теперь я. Потому, что я боюсь работать удалённо, я реально не смогу найти в себе силы. Поэтому каждое утро я прихожу в офис, говорю “привет, я буду работать здесь”. Народ говорит “ну ок”.

Moscow Python Podcast. Истории успеха джуниоров-питонистов

Валентин Домбровский: Мы сейчас находимся в таком относительно небольшом офисе замечательной компании Skyeng. Не сопоставим с небоскрёбами Mail.ru и с “Красной розой” Яндекса. Но при этом, когда у нас был подкаст с Сашей Куликовой, HR’ом, она сказала, что у них здесь 3000 человек работает и тогда для меня это было открытием. И действительно, основная масса, 3000 человек, на удалёнке. То есть это сопоставимо по масштабам с крупнейшими компаниями, это уже корпорация можно сказать, но это удалёнка. На самом деле это зачёт Skyeng, её менеджменту.

Григорий Петров: Ооо, да! CRM изнутри выглядит просто как... Я не буду спойлерить, но такого…

Валентин Домбровский: В Evrone сколько человек?

Григорий Петров: Больше сотни. Довольно большая компания по разработке. А CRM изнутри выглядит просто феерически. То есть процессы по удалённой работе — это реально процессы. Это сильно отличается от полностью офисного full-time, очень сильно.

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

Григорий Петров: Да, кстати, обсудить удалённую работу было бы интересно. У нас в Москве, например, Лихачёв есть, наш операционный директор. Я с ним ещё по NPTV знаком, где вместе работали. Он хорошо в удалённой работе разбирается и вполне возможно, что он как раз в качестве гостя подкаста сможет рассказать, каково разработчику на удалённой работе со стороны компании, которая с ним работает.

Валентин Домбровский: Это было бы очень интересно, согласен. В итоге, ваш вывод: те знания, которые вы получили, давайте считать, что курсы — это отсечка, насколько они в принципе совпадают с теми знаниями, которые нужны программисту? Что программисту нужно знать?

Александр Козельский: Знать SQL. Мне кажется, что в большинстве случаев это очень нужный навык. Не знать его досконально, потому что какое-нибудь распределение по какому-то рейнжу, не обязательно знать. Но обычные join запросы, join таблиц, запросы вложенные, вьюхи — это нужно. Это не так сложно. Некоторые компании не используют ORM, считают, что это замедляет. Или, если это большие данные, действительно большие данные, терабайты, то ни о какой ORM речи быть не может, только SQL запросы. А дальше на самом деле зависит от того, куда хочешь идти. Если условный back end, то Flask, Django, искать, что больше нравится. Специфику именно той области, куда идёшь и в принципе SQL, если там есть SQL. Потому что, например, в проекте с моим коллегой договорились, что мы не пользуемся ORM какой-то, а пользуемся SQLAlchemy, для того чтобы научиться. Это лично для себя.

Валентин Домбровский: Кстати, какой проект был на курсах?

Александр Козельский: Проект был предложен моим коллегой. Мы делали анализ словосочетаний абстрактных научных статей. Сделали сайт, выложили, он работал. Использовали NLTK, модуль, который это использовал, был достаточно маленький. Он просто пробегался по всем этим статьям, вычленял оттуда словосочетание. Дальше машина, которая это обрабатывала, вызывала. И парсер в итоге делал я, который работал неделями.

Валентин Домбровский: Мария, у тебя какой был проект?

Мария Кузнецова: Мы делали Keykeeper — это было расширение для FireFox, хранитель паролей, мы всё шифровали с сервером. Было прям классно! Я придумала.

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

Мария Кузнецова: Помогало смотреть headhunter и смотреть какие требования по вакансиям для джунов. И очень помогло — я зарегистрировалась на ……, где смотрела задачки. Я ни разу ничего не взяла, но это очень помогало понимать, что нужно в боевых задачах. Я за это время сделала pet project — бота для Telegram. Он принимает данные артериального давления, какая-то аналитика несложная, строит графики через Matplotlib, естественно работает всё время с сервером. Надо что-то делать такое, что можно посмотреть, чтобы оно работало. Чтобы оно было боевое, более-менее приближённое к действительности.

Валентин Домбровский: Кстати, на том самом митапе, посвящённом обучению data science, когда говорили о найме начинающих датасаентистов, один из спикеров сказал такую вещь, что “если датасаентист присылает ссылку на github, то это уже большой плюс”. У нас у всех по итогам курсов есть ссылки с проектами. Я отдельно хочу ещё раз подчеркнуть, что есть проблема, что у людей нет уверенности в собственных знаниях для того, чтобы идти куда-то на работу, для кого-то что-то писать. Я обычно говорю так: рассылайте резюме на более-менее адекватные вакансии, где Вы видите, что более-менее подходите. Не значит, что всё, что описано в вакансии Вы должны знать. Условно, если Вы джуниор-разработчик — отправляйте резюме. Если Senior, то, наверное, рановато. После курсов можете отправлять резюме на любую вакансию джуниор-разработчика на Python. Моё мнение лично такое. И здесь, мне кажется, что те отказы, о которых ты говоришь, не стоит их воспринимать как “ я ничего не знаю”. Ты абсолютно правильно сказала, что надо смотреть, что требуется в вакансиях естественно, всё это тоже стараться изучать потихоньку, нарабатывать, улучшать своё резюме. Делать проект и показывать, накапливать базу в Github, постепенно делать всё это. Параллельно рассылать резюме, не воспринимать обратную связь, как некий укол в вашу личность, что вы чего-то не знаете. Это всё нормально. Ходить на собеседования по возможности. Это тяжело может быть, потому что в любом случае этот тот самый процесс оценки, который ты должен пройти. И здесь действительно психологический барьер может быть. Когда тебе говорят, что ты чего-то не знаешь — это всегда неприятно. Но через это нужно пройти, если ты хочешь успешно устроиться. Иногда такой процесс может быть достаточно растянут во времени на несколько месяцев. Но несколько месяцев — это всё-таки не несколько лет, к счастью. Ну что же, давайте тем, кто смотрит нас, может, только начинает свой путь в изучении программирования, питона и так далее, дадим какой-то лайфхак, который вы обнаружили на пути, до той своей стадии, на которой вы сейчас находитесь. Лайфхак в обучении.

Александр Козельский: Лайфхак… По поводу Codewars уже сказал, это мне сильно помогло. Ещё такой лайфхак — спите по 8 часов минимум. Это действительно так. Спите в комфортном для себя ритме, сколько вам нужно, чтобы выспаться. Вы должны высыпаться, потому что вся информация, которую вы получаете днём — она обрабатывается и аккумулируется именно во сне.

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

Александр Козельский: Да, то есть соблюдать некоторую такую «диету».

Мария Кузнецова: Мне помогло всё время носить свой ноутбук. Когда у тебя есть пять минут, ты открываешь и что-то делаешь, что-нибудь, хотя бы чуть-чуть, покодишь и ты уже в процессе, ты ходишь и думаешь об этом. Это хорошо работает. А из лайфхаков: когда я хожу на маникюр, то смотрю лекции. Последний раз про Redis. Это было очень интересно. Девочкам очень рекомендую, потому что два часа просто так выкинуть… А тут ты не выкинула, ты ещё что-то узнала.

Валентин Домбровский: Да. У нас есть Youtube канал с докладами наших митапов. Кстати, скоро будем выкладывать наши прошлые конференции, там будет много интересных лекций. И, конечно, наши подкасты. Друзья, слушайте подкасты и смотрите в свободное время. Михаил Корнеев, как раз, на последнем занятии, когда говорит о том, как вам дальше двигаться и развиваться, говорит такую мысль, которую полезно освоить: надо как можно чаще практиковаться, кодить каждый день по возможности, хотя бы 20 минут. То есть, когда ничего не хочется, ставите таймер на 20 минут. И бывает так, что ты втягиваешься, и уже 20 минут превращаются в час, два и так далее. Программирование имеет такое свойство, что оно затягивает. Я думаю, вы со мной согласитесь, время летит незаметно.

Александр Козельский: Ещё хотел сказать. Посмотрите выступления с митапов Евгения Идзиковского. Его обязательно надо посмотреть, потому что там очень много таких лайфхаков, которые реально помогают. Условно, две минуты, но концентрация максимальная. Очень-очень полезно.

Валентин Домбровский: Да, это те самые доклады по soft skills, серию которых предложил нам сделать Григорий, и пригласил своего друга Евгения. На Youtube канале MoscowPython, на котором, возможно, некоторые из вас смотрят этот подкаст, зайдите в раздел плейлистов и найдите Евгения Идзиковского. У него много лекций и в других местах, но у нас есть три лекции Евгения, которые непосредственно относятся к разработке. Например, “Как перестать прокрастинировать и начать писать код”.

Григорий Петров: Первый доклад мы с ним делали вместе, я помогал. И эта вот Женина формулировка про прокрастинацию, он же сам бывший it’шник, ну как, бывших it’шников не бывает, но он ушёл из it в психологию — эта его формулировка про то, что прокрастинация — это на самом деле не откладывание работы “на потом”, ты просто не хочешь её делать вообще и перепоручаешь себе “завтрашнему” в полностью оправданной надежде, что во-первых, ты “завтрашний” её стопудово примет потому, что это не существующей персонаж, и, во-вторых, стопудово её не сделает, потому что завтра его уже не будет.

Валентин Домбровский: Мне нравится эта концепция разных людей: я вчера, я сегодня, я завтра. Действительно, абсолютная правда. Что ж, большое спасибо, друзья, это было очень интересно. Что-то я для себя открыл очень полезное и интересное. С Вами был MoscowPython подкаст — подкаст для тех, кто любит Python. Все это дело происходило в офисе компании Skyeng, за что им отдельная благодарность. Подкаст проводится при записи конференции Moscow Python Conf++ и для тех, кто ещё не понял во время нашего выпуска, курсов Learn Python. Cсылочки в описании и другие ссылочки, о которых мы сказали, например, ссылка на форму партнёра по трудоустройству курсов Learn Python, также будет в описании. Как Вы видите — это работает. C нами сегодня были: я Валентин Домбровский — сооснователь MoscowPython и компании Drylabs, Григорий Петров — Dev Rel компании Evrone, евангелист MoscowPython, руководитель программного комитета Moscow Python Conf++. Я стараюсь ускорять перечисление твоих регалий. Ведущий разработчик компании Evrone — Михаил. Александр Козельский — разработчик компании МТС, Мария Кузнецова — разработчик компании Techboss.

Ребятам желаю удачи. Мы остаёмся на связи, остаемся в нашем сообществе. Ставьте лайки, пишите комментарии, пишите о том, что работает, что не работает, какие у вас возникают вопросы по изучению программирования, подписывайтесь на наш канал. Здесь говорят про Python.

Ещё подкасты про выпускников Learn Python:

33
2 комментария
2
Ответить

А с курсами дата сайентистов мы партнёримся. :)

Ответить