22 вопроса для Junior Python Developer из Санкт-Петербурга
Я хотел бы начать новую рубрику, интервью с людьми, что смогли самостоятельно изменить свою жизнь и перейти в IT.
В сегодняшнем интервью мы пообщаемся с Валентином, человеком, что в 30-летнем возрасте решился изменить сферу своей профессиональной деятельности, от старшего помощника капитана судна до Junior Python Developer. Начинаем!
1. Валентин, добрый день! Расскажите о своём образовании и связано ли оно с программированием?
Образование судоводительское и биологическое, с самим программирование не связано.
Хотя память об общих дисциплинах, таких как статистика, дискретка, линейная алгебра, матан очень пригождается.
2. Из какого вы города?
3. Кем работали до того, как решили стать программистом?
Я работал старшим помощником капитана
4. Почему решили изменить сферу деятельности и уйти в IT?
По семейным и профессиональным причинам. Работа в море жутко зарегулирована , и крайне редко ставит нетривиальные задачи, для решения которых бы потребовалось поднапрячь голову.
5. Почему именно Python?
Развилось из хобби: заинтересовался нейросетями, наиболее часто для их написание используется Python, что и предопределило выбор первого языка
6. Почему именно Backend?
Потому что этого требовал проект), ну и фронт я совсем не знаю, к сожалению.
Но по ходу дела придется разбираться и с этим
7. Как и за какой период вы стали Python-разработчиком?
С 0 до текущего уровня(который ниже, чем у половины это читающих желающих войти в айти) за полгода
8. Какие ресурсы использовали при обучении?
Курсы на stepik, freecodecamp, множество курсов на youtube (abglazov,indian pythonista, selfedu и т.д.) Книги: DataScience from scratch, Deep Learning with TensorFlow и т.д.
Немного удалось позаниматься с репетитором
9. Какие технологии пришлось изучить, чтобы соответствовать статусу начинающего разработчика?
Python, ключевые библиотеки для работы с данными, SQL
10. Расскажите о том, как вы искали первую работу разработчиком?
Я упорно трудился и верил в себя, и нашел работу)
Но на самом деле нет. С работой повезло, особо ее не искал,приятель рассказывал, что фирма , вкоторой он работает, в поиске человека, который имеет некоторые знания в области метаболомики, сносно кодит в Пайтоне, понимает в линейном программировании, и не требует зарплаты крутого сеньера/мидла. Случилось так , что все условия совпали.
С ужасом читал статью про тестера, который более тысячи раз отправлял резюме, но так и не был приглашен на собеседование. Если бы я пытался найти работу на голую вакансию Python разработчика- у меня не было бы ни шанса.
11. В чем заключается ваша работа Python-разработчиком?
Разработка модели метаболизма, и наполнение ее дополнительными функциями.
Обработка данных после хроматографии.
12. С какими трудностями приходится сталкиваться во время работы?
Так как работаю недавно, приходится работать почти круглыми сутками, чтобы скорее разобраться со сложностями, и наработать какой-то навык.
13. Какие качества нужны, чтобы успешно работать разработчиком?
Выносливость, умственная выносливость, что после 30 уже не так просто
14. Ценятся ли разработчики в бизнесе?
Как и любые другие рабочие), то есть не особо. Моё мнение.
15. Плюсы и минусы вашей нынешней профессии?
Стать junior-разработчиком за 3 месяца реально, найти работу после буткемпа — тоже. Эксперт ответил на вопросы читателей Tproger
CEO и наставник онлайн-буткемпа по программированию Роман Гордеев рассказал об обучении и перспективах выпускников буткемпов.
На прошлой неделе пользователям Tproger предложили задать вопросы Роману Гордееву — CEO и наставнику онлайн-буткемпа по программированию Turing Bootcamp. Главная тема — обучение программированию в формате буткемпа, а также перспективы выпускников. Получилось жарко: почти два десятка вопросов, обсуждение разных форматов обучения.
Роман ответил на все вопросы, которые читатели оставили в комментариях.
Как отбирают преподавателей буткемпа? Должен ли у них был опыт преподавания и проводится ли собеседование по hard skills?
Все наши преподаватели являются senior-разработчиками. Соответственно, первое, на что мы смотрим — это уровень знания JS, HTML, CSS, React не ниже senior. Мы также смотрим на soft skills. Нам важно, чтобы преподаватели могли просто и понятно донести информацию, объяснить техническую часть так, чтобы все студенты усвоили материал.
Одна из самых частых претензий к курсам программирования — что они не готовят к реальной работе. Вы как-то работаете с этим? Включаете ли «боевые» задачи или проводите стажировки в компаниях?
Наш курс отличается тем, что мы гарантируем трудоустройство. Это не хитрые юридические лазейки, а реальная гарантия того, что мы устроим вас на работу, либо вернём половину стоимости. Это прописано в договоре.
При этом мы не просто даём видеокурс с инструкцией «Как искать работу?». Мы вместе со студентами идем на HeadHunter либо к нашим партнёрам, проводим собеседования. Потом разбираем и исправляем ошибки, которые студенты допустили в тренировочном интервью.
Также у нас есть готовые списки вопросов и ответов для интервью и т.д. Всё это мы учим вместе со студентами. Всё для того, чтобы каждый устроился на работу. И это действительно больше похоже на стажировку в компании.
Хотелось бы узнать о разнообразии обучающихся. Учатся только парни и девушки после универа или есть взрослые семейные люди? Их процент, процент находящих потом работу.
К нам приходят самые разные возрастные группы. Люди, которые хотят сменить профессию, студенты и т.д. Самому возрастному потенциальному студенту, который к нам обращался, было 64 года, но мы его не взяли. К сожалению, мы не сможем гарантировать ему трудоустройство и не стали брать на себя эту ответственность. Хотя мужчина был очень мотивирован на обучение.
Обычно приходят люди от 23 до 40-45 лет. Девушки и парни, семейные и несемейные, из любых профессий. В идеале, конечно, чтобы предыдущая профессия была связана с какой-то математической работой: инженеры, сисадмины, аналитики и т.д. Но это не так важно.
Те, кто не бросил обучение, дошёл до конца, старался — трудоустраиваются. Это абсолютно точно.
Насколько реально совмещать обучение в кодинг-буткемпе с работой? А с работой по другой специальности? Можете дать советы, как это лучше организовать?
Обучению нужно будет уделять очень много времени. В течение 3 месяцев мы готовим junior-разработчиков. Очень важно уделять обучению от 3 до 8 часов в день.
Конечно, вариант совмещения есть. Вы остаётесь на текущей работе и пробуете уделять обучению в будни по 3-4 часа в день и все выходные. Но курс очень интенсивный. Важно понимать, что будет очень много новой информации, много материала, который нужно изучить. Поэтому лучше не совмещать обучение с работой.
Но если вы всё-таки очень хотите пройти курс, но уйти с предыдущей работы по какой-либо причине не можете, то возможность есть. Главное — это старание и желание на 3 месяца полностью погрузиться в программирование.
Насколько много практики и как вообще проходит обучение?
95% всего нашего курса — это практика. День на курсе начинается с лекции на 20-30 минут, затем live-coding в обед. Преподаватель разрабатывает что-либо, рассказывает и показывает, как он это делает. Всё остальное время студенты практикуются. Очень важно выполнять задания, которые мы даём. Важно получать обратную связь и работать с ней. Соответственно, это всё практика. Чтобы научиться программировать, нужно программировать.
Как за короткий срок получается освоить довольно большой объём информации и как расставляются приоритеты при обучении?
Программа построена таким образом, чтобы студенты быстро начали разрабатывать на JS, HTML, CSS и React. 3 месяца — это достаточный срок для того, чтобы бы стать junior-разработчиком. Вы познакомитесь с программированием, технологиями, сделаете свои первые практические задачи и подготовитесь к интервью. Объём достаточно большой, поэтому нужно расставить приоритеты так, чтобы на 3 месяца обучение было на первом месте.
Какой контроль со стороны преподавателя? На каждого студента отдельный наставник, который следит за его прогрессом? Или один преподаватель на весь поток, который не успевает давать обратную связь?
Мы сознательно не набираем группы больше 10 человек. Обычно это 4-6 студентов в потоке, соответственно, одного преподавателя хватает.
У нас есть несколько преподавателей. Один из них — автор курса, второй читает курс, третий занимается проверкой задачек, которых достаточно много. Если студент что-то не понимает, то с ним созваниваются один на один, он получает всю необходимую информацию, как если бы занимался с репетитором. Поэтому каждому студенту уделяется много внимания.
Какие есть критерии качества выпускников? Как вы отслеживаете, насколько вам удалось чему-то научить человека, чтобы он реально мог приносить пользу себе и обществу?
Единственная метрика, которая нас интересует — это количество людей, которые устроились на работу и успешно продолжают работать в компаниях, а не увольняются через неделю. Мы всегда на связи со своими выпускниками. Джуны или полуджуны — зависит в том числе и от студентов. Люди с хорошей подготовкой после обучения могут претендовать и на полумидл-позицию, но это очень редкий случай.
Реально ли стать хотя бы джуниором в приличной международной компании после буткемпа?
Конечно, реально. Всё зависит от вашей отдачи и желания. Ну а наша задача — помочь вам устроиться работать джуниорами в приличной компании.
Может ли выпускник буткемпа теоретически сравниться с выпускником вуза? Рассматривают ли работодатели таких кандидатов как равных или всё-таки предпочтение будет отдано выпускнику вуза?
Выпускники вуза, как правило, не имеют практических навыков — только математическая база и немного программирования. Поэтому чаще всего они идут на стажировки после того, как закончили вуз. Мы же предлагаем, в том числе и студентам, сразу обучиться программированию на React, JS, HTML, CSS и сразу пойти работать на junior-позицию. Это более выгодно.
Мне 33 года, хотела открыть несколько стартапов. Нужно ли мне самой изучать кодирование или лучше нанять специалистов? Хочу сама, т.к. ресурсов мало. Как вы думаете, я смогу без опыта и навыков в прошлом? Сколько времени займёт хотя бы создание MVP?
Если мы говорим о том, что вы хотите создать стартап, то, я думаю, вам не обязательно изучать программирование. Вы можете сделать MVP с помощью фрилансеров. Если умеете, то можете сделать на Тильде или других платформах.
Если ваш интерес — именно разработка стартапов, то буткемп вам точно не нужен. Я бы сказал, вам нужно изучать маркетинг, продукт-менеджмент и всё остальное. А программированием должны заниматься специалисты.
Рабочие задачи какого уровня я смогу решать после буткемпа?
Во-первых, нужно понять, какие есть уровни задач. После буткемпа вы становитесь junior-разработчиком, соответственно, вы сможете решать задачи junior-разработчика. Точно не мидла и сеньора.
Какие технологии изучают на буткемпе?
Начинаем с HTML, CSS, потом JS, React и Node.js. На выходе наши студенты в основном фронтенд-разработчики на React, либо фуллстек с Node.js.
Знакомят ли студентов с рабочими процессами? Объясняют ли, как коммуницировать в команде с дизайнерами, менеджерами, другими разработчиками?
Да, мы всему этому обучаем. Но всё-таки самая главная вещь в буткемпе — это технические знания, которые важно получить за 3 месяца обучения. И на последнем месте мы уже начинаем обучать рабочим процессам, интервью и т.д.
Дают ли базис по Computer Science или просто учат синтаксису и работе с популярными фреймворками?
Если вы имеете в виду Computer Science из университета, то поймите, что его изучают там несколько лет, а у нас есть 3 месяца. Мы берём ребят, которые хотя бы чуть-чуть знакомы с программированием, даём им тестовое задание. Оно достаточно простое, но требует определённых знаний. И только после успешного выполнения тестового задания приступаем к обучению.
Сильно ли нужен Computer Science, чтобы устроиться на работу? Наверное, не сильно. Нужно ли тратить столько лет на то, чтобы его изучить? Думаю, что нет.
Есть ли государственная лицензия на образовательную деятельность? По окончанию курсов даётся сертификат или диплом?
Мы выдаём сертификат об окончании курса. Но самым важным всё-таки остается успешное устройство на работу наших студентов, а не сертификат, который будет пылиться на полке.
Будет ли портфолио после окончания буткемпа?
После окончания буткемпа у вас будет 3 законченные работы в портфолио. Некоторые проекты будут уже на React. Соответственно, работодатель будет видеть, что вы с ним работали. Это очень важно. Помимо этого будет сформирован рассказ о том, чем вы занимались, так что вам будет что рассказать на интервью.
Что должен знать junior Python-разработчик, чтобы найти работу

Что сейчас происходит на рынке труда Python-разработчиков
Согласно индексу TIOBE и PYPL , в июне 2023 года Python занимает первое место в списке самых популярных языков программирования. Его используют в очень многих сферах: веб-разработка, машинное обучение, DevOps, тестирование, разработка десктопных приложений, геймдев. И также Python отличается простым синтаксисом.
По данным калькулятора зарплат Хабр Карьеры, заработная плата джуниор Python- разработчика не изменилась в разрезе первого и второго полугодия 2022 года и составила в среднем 70 000 рублей.

Во многом из-за всех перечисленных достоинств Python считается одним из самых перспективных языков для изучения, и мы на Хекслете тоже можем подтвердить высокий интерес к нему.
Однако у такой популярности есть и минусы — сегодня все больше программистов ищут работу именно на Python. Рынок перестал быть «рынком кандидата»: теперь работодатели диктуют правила игры, выбирая лучших, подготовленных специалистов. На одну вакансию джуниор Python-разработчика приходит от 200 до 400 откликов. Такая конкуренция вынуждает кандидатов активно бороться за то, чтобы быть замеченным.
Все эти изменения требуют развития новых компетенций и гибких навыков у кандидатов. В статье расскажем, как Хекслет помогает программистам правильно позиционировать себя на рынке, у каких разработчиков есть более высокие шансы найти работу и как питонистам соответствовать требованиям работодателей.
Получите профессию «Python-разработчик» за 10 месяцев! Python-разработчик занимается разработкой серверной части сайта, которая отвечает за логику и базы данных. Погрузитесь в практику с первого дня на Хекслете. Вы получите готовое портфолио на GitHub к концу обучения, поддержку наставников на протяжении всего курса и помощь в трудоустройстве.
Как Хекслет помогает джуниор-разработчикам повысить шансы на оффер
Еще пару-тройку лет назад от джуна требовали самый минимум — нужно было только знание языка программирования, а также готовность к работе в команде. Сейчас же требования ужесточились, и чтобы им соответствовать, необходимо прокачиваться более серьезно.
Мы на Хекслете даем несколько рекомендаций студентам, которые проходят наши профессии и курсы. Чтобы повысить свои шансы на оффер, им необходимо выполнить следующие шаги:
Получить необходимые хард скиллы, пройдя всю профессию на Хекслете
Разработчики с хорошей технической базой знаний ценились всегда, и особенно — сейчас. Понимая это, наши инженеры-программисты постоянно обновляют и улучшают учебные программы под запросы работодателей.
Поучаствовать в опенсорсе для получения первого продакшен-опыта
Продакшен-опыт — это опыт работы над реальным проектом, которым пользуются люди. Раньше джуниору было легко устроиться на работу без такого опыта, но сейчас он необходим, чтобы заинтересовать работодателя.

Опенсорс — это проекты с открытым исходным кодом, в разработке и развитии которых может принять участие все желающие: как самые начинающие разработчики, так и программисты с опытом. У Хекслета есть множество опенсорс-проектов — полный список мы раскрываем в нашем гайде «Как участвовать в жизни Хекслета».
Пройти программу Карьерного трека
Карьерный трек — это программа, на которой Хекслет помогает написать хорошее сопроводительное письмо, правильно подать свой опыт в резюме. Мы также проводим тестовые интервью с наставниками, чтобы, опять же, студенты могли избавиться от волнений и стресса перед реальными собеседованиями. Кроме того, они получают обратную связь от интервьюера, узнают свои сильные стороны и прорабатывают слабые.
Прорешать как можно больше тестовых заданий
У нас в открытом доступе есть репозиторий с тестовыми от разных компаний, который мы наполняем уже 11 лет. Прорешивание заданий оттуда помогает набить руку и снимает стресс при прохождении реальных тестов на собеседованиях.
Читайте также: Из инженера-электрика и альпиниста — в бэкенд-разработчики. Мой путь в программирование
Ошибки джунов, которые мешают им трудоустроиться
Многие джуниоры сейчас боятся, что их поиск работы затянется надолго или вовсе ни к чему не приведет. К сожалению, такое действительно может произойти. Но только в следующих случаях.
Разработчик не прокачивает хард скиллы после обучения
Первая ошибка кандидатов — окончить профессию и думать, что на этом можно забыть об обучении. На самом деле получать новые навыки нужно каждый день, особенно с учетом текущей ситуации на рынке. IT — это та профессия, в которой никак нельзя переставать учиться. Все меняется, появляются новые технологии, библиотеки, поэтому нужно оставаться в тренде.
Важно также самому мониторить вакансии, следить за требованиями работодателей и быть готовым к непрерывному совершенствованию своих знаний.
У кандидата нет четкого представления, как искать работу
Залог успешного трудоустройства — это целеполагание и мотивация. Сейчас особенно легко потерять нужный настрой на поиск работы. Но важно уметь собраться и сконцентрироваться на том, что поиск работы — это своеобразный проект, который нужно выполнить. Поставить себе цель: найти работу, неважно за один или три месяца, используя все свои профессиональные знания.
Мы на Карьерном треке не только готовим к трудоустройству, но и помогаем ставить цели. Подсказываем, как разбить на этапы проект под названием «Получение своей первой работы в IT». Студенты учатся прокачивать свои хард и софт скиллы и выстраивать стратегию по поиску работы, что в современных реалиях является очень ценным и нужным навыком.
Мы помогаем джуниорам выработать нужный настрой. Предупреждаем, что получить работу сейчас нелегко, но даем для этого все необходимые инструменты — консультации по составлению сопроводительного письма, резюме и портфолио. Помогаем не отступать от своей основной цели — найти работу.
Разработчик бездумно откликается на все вакансии подряд
Как правило, тяжелее всего трудоустроиться кандидатам, которые откликаются на все вакансии подряд, не пишут сопроводительные письма и думают, что возьмут количеством. Это не всегда работает, учитывая нынешнюю ситуацию на рынке: поиск работы таким способом может затянуться, а разработчик, скорее всего, выгорит и опустит руки.
Гораздо успешнее трудоустраиваются люди, которые вчитываются в требования вакансий, выбирают компании и команды своей мечты и анализируют причины отказов. Поэтому важно четко понимать, на какие вакансии стоит и не стоит откликаться, а также как грамотно подать себя при отклике.
Кандидат сам тормозит поиск работы или не выполняет рекомендации по трудоустройству
Поиск работы — это тоже работа. Если человек захотел получить сложный технический навык или профессию, то он должен быть готов к тому, чтобы активно заниматься новым делом. В том числе — и искать работу. Этот процесс должен быть системой, а не стихийными и бездумными откликами на вакансии.
Вся наша работа на Хекслете направлена на то, чтобы человек нашел работу: мы даем все необходимые инструменты для этого. Например, учим писать грамотное и интересное сопроводительное письмо, помогаем создать сильное резюме, даем советы по оформлению профиля на GitHub, LinkedIn, Хабр Карьере. Также мы рекомендуем студентов на стажировки и открытые вакансии в компании-партнеры.
Но несмотря на все это, сам кандидат не должен забывать, что поиск работы — труд обоюдный. Студенту нужно самостоятельно обрабатывать наши рекомендации по резюме и портфолио, искать компании, в которых хочется работать. И только тогда можно будет прийти к своей цели — найти работу.
Несколько советов джуниорам по трудоустройству от Python-разработчика

Сейчас сложность вопросов на собеседованиях, которые задаются джунам, можно приравнять к сложности вопросов мидлам два-три года назад. Работодатели заинтересованы в том, чтобы проводить серьезные отборы и выбирать более квалифицированных сотрудников.
Чтобы противостоять огромной конкуренции, я советую проделать следующие шаги:
- Решайте задачи на логику — они помогут выработать программистское мышление. А еще хорошо проговаривать решение задач вслух — на собеседовании это только в плюс, работодатель проследит за ходом вашей мысли.
- Пишите свои проекты. Даже если они не полностью рабочие, с неполноценной архитектурой — ничего страшного. Главное — показать, что вы работали с тем стеком, который от вас требуют, и что у вас есть тому подтверждение на GitHub.
- Не отказывайтесь от стажировок, даже от неоплачиваемых. Стажировки — это ваш шанс показать свой уровень, запомниться коллегам и произвести хорошее впечатление на работодателя. Недавно один из моих студентов как раз прошел двухнедельную практику, показал на ней хорошие результаты. И в итоге его взяли программистом в штат.
Да, на рынке труда сейчас много кандидатов, которые составляют большую конкуренцию. Придется принять факт, что сейчас нужно делать больше усилий, чем другие. Поиск работы — это обыкновенный конкурс, где ты показываешь, насколько хорош.
Один из моих советов, который я обычно даю студентам — не думайте о том, что как только вы выучите Python, сразу поедете работать у моря на Бали. Помните, что вы должны, а точнее обязаны ежедневно заниматься разработкой, даже если у вас есть отвращение к этому. Чем больше вы будете набивать руку на задачках, тем быстрее вы дойдете до той точки, когда скажете: «Ого, а у меня недурно получается, — или, — Я уже стал намного лучше писать код».
Итог
Вакансии теперь более челленджовые, но главное, что меньше их не становится. Поэтому самое важное сейчас — не опускать руки, набираться продакшен-опыта, изучать рынок и грамотно подавать себя.
Как бы банально это ни звучало — верьте в себя и свои силы. Когда на собеседование приходит уставший человек с потухшими глазами, продать себя ему гораздо сложнее. Если вы получили профессию Python-раработчика, значит вы прошли долгий путь, развили сложный технический навык, наработали портфолио и резюме, где отражен весь ваш труд — гордитесь собой.
Не забывайте про свою цель — оффер. Теперь вы знаете, как именно этот оффер можно получить.
Получите профессию «Python-разработчик» за 10 месяцев! Python-разработчик занимается разработкой серверной части сайта, которая отвечает за логику и базы данных. Погрузитесь в практику с первого дня на Хекслете. Вы получите готовое портфолио на GitHub к концу обучения, поддержку наставников на протяжении всего курса и помощь в трудоустройстве.
Как я стал Python-разработчиком за 10 месяцев
До того момента, как я захотел стать Python-программистом, я около 8 лет работал инженером в небольшой компании по производству кабельной продукции. Затем я получил повышение и стал руководить отделом и… перестал получать удовольствие от работы. Очень много волокиты с документами, проведение бесполезных собраний – всё это стало всё сильнее меня угнетать, так как я очень любил свою прежнюю должность инженера.
Так вышло, что по чистой случайности увидел бесплатный интенсив по Python-разработке, записался и прошёл несколько уроков. Я настолько увлёкся этой темой, что каждый день после работы бежал домой, садился за комп и решал простенькие задачки на Питоне. Как я узнал позже, этот язык один из самых простых в освоении, на практике так и не было, подтверждаю. Например, Java или C++ имеют более сложный синтаксис, это даже видно по официальной документации.
Я задумался, а не переквалифицироваться ли мне в Python-разработчики. Поглядел вакансии на hh.ru, отметил про себя, что чаще всего компаниям нужны специалисты с опытом работы от 1 года, но и было много предложений стажировок. Решил посвятить ближайшие 8-10 месяцев изучению Python’у, уж очень мне хотелось сменить свою работу.
Итак, с чего я начал? Решил начать обучение с бесплатных материалов. Стал искать полезные ссылки, нашёл несколько полезных статей:
- Обзорная статья по Python — много полезных советов о том, как начать изучение языка, включая большой раздел с ссылками на обучающие материалы;
- Книги и учебные ресурсы по Python на stackoverflow.com — подборка разных ссылок для новичков и опытных программистов;
- Дорожная карта по изучению Python на github.com.
Изучив статьи и отобрав понравившиеся мне материалы, я стал проходить бесплатные курсы на Stepik:
- stepik.org/course/58852 — «Поколение Python»: курс для начинающих;
- stepik.org/course/122813 — Курс для будущих Python-разработчиков.
Через месяц освоил курсы посерьёзнее:
- stepik.org/course/68343 — «Поколение Python»: курс для продвинутых;
- stepik.org/course/107365 — Многопоточность и многопроцессорность Python;
- stepik.org/course/107335 — Регулярные выражения в Python.
Параллельно читал книги «Укус Питона» и «Изучаем Python» М. Лутца. Книги обязательны к прочтению!
Разумеется, найти время было сложно, у меня 2 маленьких ребёнка, которые не бывает очень шумят, поэтому пришлось перебраться в маленькую комнату, чтобы сосредотачиваться на учёбе. Детьми занималась в основном жена и тёща, за что я им очень благодарен. Учился по 4-5 часов в день, ложился далеко за полночь, включая выходные и праздники. У меня была цель – получить начальные навыки, чтобы устроиться стажёром или джуном.
Процесс обучения мне очень нравился, когда получается решить сложную задачу самому – я получаю нереальный кайф, думаю многие программисты со мной согласятся.
Учиться было не так сложно как я себе представлял – всё-таки сыграла свою роль техническое образование и много лет стажа работы инженером. Ничего особенно сложного не было, все необходимое я находил в Гугле или форумах.
Кроме Python’а дополнительно мне пришлось изучать дополнительные инструменты – все те, которые работодатели указывали в вакансиях. Вот что я изучал параллельно с изучением Python:
Linux. OS для программистов:
- stepik.org/73 — Развивающий курс по Линуксу;
- Видеообучение “Linux для начинающих”.
Docker. Крутая штука, помогает запустить приложение на любой OS:
- stepik.org/1612 — Профессиональный курс по Docker;
- Серия видеоуроков по Docker для начинающих;
- Видеоинструкции по Docker.
Ansible. Система управления конфигурациями:
- stepik.org/course/123806 — Ansible для начинающих + практический опыт;
- stepik.org/course/123300 — Docker для начинающих + практический опыт;
- Уроки по Ansible на русском языке.
Kubernetes. Сложная штука для контейнеров, изучил только основы:
- stepik.org/course/99188 — курс «Kubernetes для пользователей»;
- Хорошие видеоуроки по Kubernetes.
SQL – язык для баз данных:
- stepik.org/course/551 — Образовательный курс “Основы баз данных”;
- sql-tutorial.ru/sqlbook/ru — Классный интерактивный учебник по SQL.
Django – фреймворк для веб-разработки:
- stepik.org/course/82067 — интересный курс «SPA сайт на Django Rest Framework и NuxtJS»;
- Видеоуроки от selfedu по Django 3.
Flask — легковесный веб-фреймворк на Python для создания веб-приложений:
- stepik.org/course/97540 — Основы Web-фреймворка Flask;
- Видеоуроки по Flask с нуля.
REST API — код, который позволяет двум приложениям обмениваться данными с сервера:
- stepik.org/course/120679 — Курс профессиональной подготовки по API;
- Видео по разработке API с нуля;
- Статья на Хабре по основам в REST API.
Ещё я завёл профиль на https://github.com/, у любого программиста так должно быть размещено портфолио, куда я выкладывал свои небольшие проекты, которые мне удавалось делать во время обучения. Вот скрин профиля, после 7 месяцев разработки:
Профиль на ГитХабе
Через 7 месяцев интенсивной учёбы я составил резюме и опубликовал его на паре сайтов (hh.ru и superjob.ru). Затем я стал откликаться на вакансии, причём не только на позицию джуниора, но и миддла. За первую неделю я получил 50 отказов: некоторые работодатели сразу писали, что я им не подхожу, другие давали тестовые задания, с которыми я плохо справлялся. Но я не отчаивался, так как всё это полезный опыт, а рано или поздно я работу всё равно найду. У меня не было в портфолио реальных проектов, поэтому я стал брать за бесценок заказы на фрилансе, чтобы прокачать своё портфолио. Вот как выглядят задания, которые публикуют исполнители на Кворке:
В течение 2 месяцев мне удалось сделать 2 хороших проекта по веб-разработке, и я стал опять усиленно заниматься поиском работы. Спустя неделю со мной связался работодатель и дал сложное тестовое задание (по API), на выполнение дал мне 12 часов. Я сделал всё , что смог и отправил результаты. Был уверен, что провалил задания, но через 5 дней мне прислали оффер. Как оказалось, я выполнил эти задания лучше других кандидатов, хотя и не совсем правильно, поэтому взяли в штат именно меня. Возможно мне просто повезло, но я всегда знал, что я смогу найти работу. 🙂
На начальном этапе меня взяли стажёром, на 3 месяца, дали наставника. С прежней работы уволился. На протяжении трех месяцев я учился ещё интенсивнее, мало спал, информации было очень много, было очень тяжело. Но затем стало полегче, усвоил то, что нужно было в стеке компании и меня перевели на должность джуна. Что я понял в работе программиста – что учиться нужно всегда, независимо джун ты или сеньор. Профессия такая, что нужно всё время быть на волне. Что по зарплате? Получаю 80 000 рублей на руки, это на 20 тыс. меньше, чем на прежней работе. Я остался очень доволен, думаю, через 2-3 года будут тянуться к позиции мидла, а там и зарплата совсем другая.
Сейчас я работаю в крупной компании по разработке сайтов (в отделе тестирования), у меня отличный коллектив и каждый день у меня встречается интересные задачи, над которыми я могу залипнуть на много часов. Скажу честно, несмотря на мой возраст (мне 39 лет) мне ни разу не отказали, сославшись именно на это. Только в одной из компаний меня сразу предупредили, что средний возраст разработчиков в компании 20-25 лет и будет ли мне комфортно работать среди молодёжи. На этот вопрос я ответил утвердительно, но в итоге туда устраиваться я не стал, но не по этой причине.
На данный момент ясно понимаю, в каком направлении мне нужно развиваться (хочу попробовать себя в ИИ). Денег стало немного поменьше, но моя жена меня поддерживает и помогает, мы уже не в первый раз привносим что-то новое в свои жизни, включая смену работы. Например, когда были помоложе, то у нас было несколько бизнесов, включая онлайн-магазин.
Моя цель – это вырасти до позиции Middle и получать от 120 000 р. и больше.
Мои советы для тех, кто хочет освоить новую профессию, желательно к ним прислушаться:
- Посидите и подумайте, чем именно хотите заниматься по-настоящему. Уделите этому хотя бы полчаса своего времени, прислушайтесь к душе.
- Напишите план обучения. Сложные темы разбейте на более мелкие. Напишите, сколько времени у вас уйдёт на обучение и умножьте эту цифру на 2. На практике вам понадобится больше времени на обучение.
- Чтобы не потерять мотивацию, выделите определённые часы для занятий, например по выходным с 16:00 до 22:00 или в будни после 20:00. Ставьте себе жёсткие сроки, без этого обучение может затянуться надолго.
- При поиске работы не нужно бояться отказов. Нужно лишь понять, почему вам отказывают и нарабатывать практику.
В заключение хочу поделиться полезным ссылками по обучению языку Python, думаю каждый найдёт для себя что-нибудь интересное:
- PEP 8 — руководство по написанию кода на Python;
- PyCheckIO — интерактивный тренажер на Python;
- Самоучитель Python;
- Checkio.org — задачи по Python в игровой форме;
- LeetCode — задачи, разбитые на разные уровни сложности;
- Алгоритмы и структуры данных на Python — видеолекции;
- Oнлайн-тренажёр Python;
- Питонтьютор — классный бесплатный курс по Пайтону;
- kodesource.top — упражнения для новичков;
- Хендбук по Python;
- Видеокурс от Яндекса на Хабре;
- Бесплатный курс по Python для новичков на code-basics.com;
- CS50 — курс для получения общих знаний по программированию;
- Много видеоуроков «Python для начинающих» для абсолютных новичков;
- Основы Python 3 — курс на Udemy;
- youtube.com/c/ТимофейХирьянов — замечательные видеолекции от преподавателя от бога.
На этом всё, будут вопросы — пишите в комментариях. Всем удачи в начинаниях!