Стать 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. Соответственно, работодатель будет видеть, что вы с ним работали. Это очень важно. Помимо этого будет сформирован рассказ о том, чем вы занимались, так что вам будет что рассказать на интервью.
Сколько у вас ушло времени чтобы стать python junior developer?
Начал изучать python для web , интересуют такие вопросы:
1)Читаю книгу «Изучаем Python. Программирование игр, визуализация данных, веб-приложения» вместе с «Learn python the hard way». Подходят ли они для начала или есть что-то лучше?
2)Посоветуйте литературу по алгоритмам и структурам данных для новичка.
3)Кто уже работает python разработчиком сколько времени вы затратили на то чтобы стать junior developer.
- Вопрос задан более трёх лет назад
- 24539 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 5
Trahibidadido @Trahibidadido
Backend/DevOps
Пришел python\django juniorом с улицы. За немалое время работы сожрал пуд соли. Самое большое разочарование — все ищут питонистов для быстрой разработки (порог вхождения ниже наверное только у php) и берут джунов на не джуниорские задачи. Я за первый месяц работы что только не писал, от системы скидок для интернет магазинов на Django, до админки системы курьерской доставки интернет-ритейлера написаной на связке Flusk+Vue+Jquery которую до меня писал десяток человек и все бросали.
Никто практически никогда не готов тебя учить, если на более «мейнстримных» языках ты получаешь более низкий оклад, но больший штат серьезных девов с многолетним опытом и высокий шанс того что за тобой будут «присматривать», то попадая в компанию которая пишет на python — ты сам по себе. Потому что питонистов тупо мало и стоят они дорого, никто не хочет тратить их время на всякие кодревью и митапы.
Не согласен с оратором выше, джун это просто человек способный писать работающий код. Как он это делает и что этот код из себя представляет — вопрос второй. Я пишу нереальные костыли и ничего, заказчик доволен, начальнику пофигу, зп на карточке.
Ответ написан более трёх лет назад
Комментировать
Нравится 4 Комментировать
Джуном становятся сразу как только выходят на первую работу.
Ответ написан более трёх лет назад
Нравится 3 1 комментарий
Яростно плюсую

Никита @AgentProvocateur
По литературе для начинающих и не только отвечал здесь. Далее по срокам вкатывания.
Если для собственных web-разработок, то python нормальный вариант. Можно довольно безболезненно вкатиться, сформировать грамотный фундамент у себя в голове, довольно быстро создать прототип и т.д.
Если намерен идти наемным питонистом-джуниором, то тут может постигнуть разочарование:
1. На реальном рынке python/django — самая невостребованная web-технология, как в СНГ, так и на западе, в сравнении с php/js/ruby/.net и т.д.
2. Полистай вакансии python-джуниоров — там либо требования к годам опыта, либо требования других языков. В общем, не джуниорские требования в основном.
3. В большинстве вакансий python упоминается либо в качестве доп.языка («будет плюсом»), либо в качестве бэкграунда для дальнейшего переката на Go, либо в качестве технологии для разного рода аналитиков.
4. На фрилансе также не густо в сравнении с php/js/ruby. Опыт/порфолио по web-python там сложновато наработать (гораздо больший спрос на всякие скрипты автоматизации, парсеры и т.д.).
5. Если ты не из столицы (Москва/Питер/Киев/Минск), то про вакансии python-джуниора вообще забудь, в регионах они если и встречаются, то в качестве исключений, подтверждающих правило. Открыл сейчас HH — по моему миллионнику ни одной.
К чему я это всё. типичный путь в python-разработку лежит через условные «5 лет на php» у подавляющего большинства. Python-проекты также подворачиваются волей случая чаще всего. Естественно, эти люди будут отвечать, что от «hello world» до реальной разработки у них ушло от недели до месяца. но тебя это полезной смысловой нагрузки не принесет, кроме иллюзий.
В среднем, на любой web-технологии от знакомства до уверенного джуниора проходит не менее 1.5 лет ежедневного практического (!) обучения. Т.к. уверенный джуниор — тот, кто не менее полугода трудится в реальном командном проекте и показывает результаты, то с python по вышеобозначенным причинам этот срок может увеличиться.
Сергей Немчинский: Сколько времени нужно учиться на программиста-джуна?

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

Сколько нужно учиться, чтобы стать джуном? Я могу сказать только какие-то приблизительные временные рамки, но уже это вам поможет понять, ввязываться ли вам в эту авантюру или нет. Наверняка вы знаете фразу, что для того, чтобы стать мастером в любом деле, нужно на него потратить 10 000 часов. Для того чтобы стать джуном вам не нужно 10 000 часов, а вот сколько именно нужно – попытаемся разобраться.
Уровни Junior
Я разделяю джунов на несколько уровней. Это важно проговорить, чтобы понимать, время обучение до какого уровня мы будем рассматривать.
«Пред джун» – это тот человек, который еще ни разу не подходил к реальной задаче, т.е. теоретически он что-то читал, но как это сделать – не знает. Такие «специалисты» выходят с большинства курсов, они абсолютно не готовы к живому проекту.
«Strong junior без опыта» – это наши выпускники. Они знают, как делать настоящую работу, но, по факту, еще ее ни разу не делали.
«Strong junior с опытом» – человек, который уже побывал в каком-то боевом проекте и, по большому счету, ему до уровня middle осталось накопить буквально немного опыта.
3 этапа в обучении программированию до уровня джуна
ЭТАП 1. Выбор направления. Я советую прежде чем погружаться в какое-то конкретное направление, попробовать еще пару других. Если вы увидите, что там совсем ничего не идет – значит не ваше. Но чаще всего бывает, что интересно и одно, и другое. При этом вы уже может выбирать более осмысленно. Я советую выбирать из таких вариантов: что-то из бэкенда (Java, C#, Python, Php), что-то из фронтенда (JavaScript), можно попробовать что-то из машинного ниже по уровню (СС++ или rust). Если попробуете язык и точно понимаете, что не ваше – бросайте. Если прям очень понравится – можно другое и не смотреть.
ЭТАП 2. Обучение самостоятельно или на курсах. Т.е. сначала вы выбрали направление, а потому начинаете его учить.
ЭТАП 3. Обучение на реальной задаче. Либо вы устраиваетесь на работу/становитесь фрилансером или учитесь у нас на проекте. Т.е. чтобы привести вас к уровню настоящего джуна, вам нужна настоящая задача (с настоящим заказчиком, сроками, эстимейтами, окружением и пр.).
Сколько вы будете учиться на реальном проекте, чтобы стать strong junior – очень сильно зависит от вас и вашей работы.
Сколько времени нужно на обучение?
Очень многое зависит от вашего бэкграунда, т.е. от того, с чем вы приходите учиться программированию.
Если есть бэкграунд из области ИТ
Если вы из ИТ сферы и были QA, DevOps, Data Scientist или из любой другой специальности, приближенной к программированию, то обучение займет у вас минимум времени. Все что будет нужно – выучить синтаксис соответствующего языка; выучить code style языка (это тоже достаточно банальные вещи); ознакомиться с фреймворками и библиотеками языка. Эти специалисты и так будут знать алгоритмизацию (превращение задачи в алгоритм). В этом случае человеку понадобится в среднем 6 месяцев, иногда меньше.
Если вы знаете какой-то другой язык программирования, то все будет еще проще. Если этот язык родственный, например, с C# на Java или наоборот – то переход займет 1-2 месяца. Если меняете с более далекого языка, например PHP на Java, то это займет 2-4 месяца.
Если бэкграунда нет
Если вы никогда не изучали программирование, то на вход в профессию потребуется очень много времени. Нужно будет учиться понимать, что это такое, как компьютер понимает то, что вы пишите, как научиться превращать задание в программу. Это все лишь введение в программирование и не зависит от выбранного языка.
По моему опыту, все новички делятся на два типа: те, у кого есть умение алгоритмизировать задачу, и у кого этого умения нет. И если его нет, то первые месяцы уйдут просто на то, чтобы научиться понимать, как выстраивать алгоритмы. Сколько на это уйдет месяцев – предположить очень трудно, все слишком индивидуально. Я ни разу не видел хорошей книги, где было бы дано задание и какой-то конкретный принцип, с помощью которого мы его алгоритмизируем. Если бы это было возможно, наверное мы бы уже создали искусственный интеллект, который пишет программы вместо программистов. Но нет. Фактически люди учатся программировать на основе опыта других людей. Поэтому время тратится в основном именно на то, чтобы научиться превращать задачу в алгоритм.
Кроме того, все зависимости от того, сколько времени вы уделяете обучению. Если вы уделяете меньше 1 часа за один присест – вы не выучите программирование никогда, можете даже не браться за это дело. Если вы сели заниматься на 20-30 минут, это время вы каждый раз будете тратить только на то, чтобы восстановить в голове, что вы делали в предыдущий раз. Соответственно заниматься меньше часа за раз – бессмысленно.
Я рекомендую тратить за раз не меньше 2-3 часов. Возможно, у вас не будет получаться уделять обучению каждый день, но важно, чтобы это было не реже 2-3 раз в неделю, иначе, опять же, вы все забудете. В идеале, конечно, заниматься каждый день. В любом случае на обучение у вас уйдет не меньше полугода. Как по мне, реальные сроки – от 9 до 15 месяцев. Ощутимое количество времени (от 3 до 6 месяцев) вы будете просто осваивать, что это вообще за профессия, как к ней подходить, как делать алгоритмизацию. С другой стороны – люди разные, некоторым это все может даваться легко даже без какого-либо бэкграунда. Но даже в этом случае не рассчитывайте менее чем на 6 месяцев обучения.
Всегда ваш Сергей Немчинский.
Что должен знать Junior Python разработчик для устройства на работу

Язык программирования Python входит в тройку самых популярных ЯП. Он подходит для решения самых разных задач, от небольших приложений до корпоративных систем. Python работает на разных платформах и поддерживает принципы объектно-ориентированного программирования. Поэтому спрос на разработчиков Python большой, давайте разберемся, что нужно знать Python Junior разработчику для успешного трудоустройства?

Многие начинающие программисты обдумывают, стоит ли браться за изучение этого языка. Кроме самого процесса обучения, их смущают многие нюансы: нужно ли высшее образование, какие hard и soft скиллы нужны, какие книги прочесть и о чем будут спрашивать на собеседовании. Попробуем ответить на эти вопросы.
Нужно ли разработчику Python высшее образование?
Наверное, это самый частый вопрос, который задают будущие разработчики. Стоит ли тратить несколько лет на ВУЗ, когда можно потратить полгода на изучение языка программирования и идти работать? На этот вопрос нет однозначного ответа. Поговорим о плюсах и минусах высшего образования для программистов.
Потраченные годы
Четыре года понадобится отучиться в вузе, чтобы получить степень бакалавра. Возможно, это время можно использовать эффективнее.
Устаревшая программа
На то, чтобы добавить новые знания в программу ВУЗа, уйдут месяцы, а то и годы. За это время знания устареют, особенно в IT.
Некомпетентные преподаватели
В идеальном мире в вузах преподают крутые специалисты, которые отлично владеют теорией и имеют практический опыт. В реальности опыт преподавателя может быть, скажем мягко, далеким от современных реалий.

Казалось бы, этих аргументов против высшего образования достаточно. Но есть и другая сторона.
Широкий кругозор
Это банально звучит, но вузовская программа расширяет кругозор. Кроме кода, полезно знать, как устроено общество, как функционирует экономика, что движет политикой.
Фундамент профессиональных знаний
Теоретические знания плохо монетизируются, но они закладывают основу для профессионального развития будущего программиста.
Навык самообучения
В вузе студент привыкает регулярно выполнять задания, читать учебную литературу, искать дополнительные источники информации. Если в дальнейшем придется изучать что-то еще, эти навыки пригодятся.
Диплом по специальности
Многие развитые страны имеют программу иммиграции Blue Card, с помощью которой привлекают квалифицированных специалистов. Для подтверждения квалификации потребуются документы с работы и диплом.

Недавно на сайте DOU проводился опрос об образовании у IT- специалистов. Выяснилось, что примерно у трети нет высшего образования, и больше половины обладателей дипломов работает не по специальности.
Так что не делайте однозначных выводов. Работать программистом можно и без высшего образования, но нельзя сказать, что оно бесполезно.
Требования к техническим навыкам
Требования к техническим навыкам junior python разработчика постоянно растут. Парадокс: разработчиков не хватает, а входной порог повышается. Индустрия пытается защититься от недоучек, которые приносят больше проблем, чем пользы. Что нужно знать, чтобы одолеть входной порог?
- Python, синтаксис, библиотеки, алгоритмы, структуры данных, и так далее. Для позиции Python-разработчика это основной критерий. Обязательно также знать, где хранится документация.
- Фреймворки, например, Django или Flask. Начинающий разработчик не обязан владеть всеми фреймворками. Достаточно уметь работать с одним и знать названия других, а также то, где они применяются.
- Базовые знания HTML\CSS. Начинающий программист Python не обязан вникать в тонкости фронт-энд разработки, но общее представление необходимо.
- Реляционные базы данных. SQLAlchemy, SQL, PostgreSQL, MySQL.
- Общие принципы работы интернета. API, протоколы (http, https), JSON-RPC, Protocol Buffers, gRPC.
- Linux, а также одну или несколько IDE. Разработчику надо уметь настраивать рабочее окружение самостоятельно.
Кроме того, пригодятся следующие знания и умения:

- Agile\Scrum. Если даже вам не доводилось работать по этим методологиям, то хотя бы ознакомьтесь с общими принципами.
- Git. Умение работать с системами контроля версий будет требоваться постоянно.
- Микросервисы. Подробного знания микросервисов от новичка не будут требовать, но понимание их работы пригодится.
Список навыков, которые «хорошо бы» иметь, можно продолжать бесконечно. В него войдут и Amazon Web Services, и облачные технологии, и Machine Learning. Словом, все, что вы знаете на достаточном для работы уровне, пойдет в плюс: главное, не забудьте добавить эти скиллы в резюме и упомянуть о них на интервью.
Какие soft skills могут пригодиться?
На всякий случай напомним, что soft skills — это профессиональные навыки, не связанные непосредственно со специальностью. Развитые софт скиллы нужны и для поиска работы, и для дальнейшего продвижения.
Английский язык
IT всего мира говорит на английском. Справочная литература, новые технологи — все на английском. Кроме того, на этом языке вам придется говорить с иностранными коллегами, партнерами и даже клиентами. Без английского ваш карьерный рост будет медленным.

Общение
Большие задачи не делаются в одиночку. Хороший разработчик должен быть командным игроком и уметь эффективно общаться. Товарищи по команде, менеджмент, представители заказчика — со всеми этими людьми предстоит решать рабочие вопросы, а без развитых коммуникативных навыков это сложно.
Дисциплина
Приходить вовремя на работу и на митинги, вовремя отчитываться о задачах, отвечать на письма в течение дня — казалось бы, несложно, но сколько молодых специалистов этим пренебрегает!
Управление временем
Это часть общей дисциплины, но отдельно хотелось бы подчеркнуть необходимость work-life баланса. Разработчик, который не отдыхает и ничем не интересуется, кроме программирования, может быстро выгореть.
Общая адекватность
Описать этот скилл непросто. Но рекрутеры обычно отслеживают особенности поведения кандидата на собеседовании. Если у вас есть экстравагантные привычки, например, дома вы работаете раздетым, лучше это не показывать.
Конечно, это далеко не все полезные soft skills, но эти мы считаем ключевыми.
Что будут спрашивать на собеседовании?
Собеседование будет состоять из нескольких этапов. На начальном этапе вопросы самые общие — вас спросят, на какую вы позицию претендуете, и другие элементарные вещи. Рекрутеру нужно убедиться, что работу ищете вы, а не ваша мама. Не поверите, как часто это случается, особенно у начинающих программистов.
Затем будет нетехнический этап собеседования. Вас спросят, почему вы выбрали этот язык программирования, где учились, есть ли у вас опыт работы, словом, проверят бекграунд.
Вопрос «Кем вы себя видите через пять лет» тоже задают на этом этапе. Так рекрутеры пытаются выяснить, насколько вы амбициозны и нацелены на профессиональный рост. Кстати, в этой части собеседования можно упомянуть участие в хакатонах и других отраслевых ивентах.
Часть вопросов направлена на то, чтобы оценить софт скиллы, которые мы описали ранее. Уровень владения английским, стрессоустойчивость, подход к решению задач — все учитывается. Могут спросить, почему вы выбрали именно эту компанию. Поэтому полезно перед собеседованием прочитать, что это за компания и подобрать пару аргументов.
А затем вас ждет техническое интервью. Есть масса способов его проведения и сотни вопросов, которые вам могут задать.

Общие вопросы: устройство компьютера, принципы работы интернета. Тут уместно рассказать о сетевых протоколах и что происходит, когда в строке поиска набираешь google.com.
Основы программирования: чаще всего спрашивают об основных принципах ООП. Если возможно, добавьте к описанию принципов примеры практического применения.
Python: массивы и как они устроены, основные алгоритмы сортировки, типа данных, способы поиска. Не обойдется без вопросов по фреймворкам. Скорее всего, ваш технический интервьюер будет задавать довольно сложные вопросы. Не огорчайтесь, если на какие-то из вопросов не будет ответов: интервьюер не пытается вас завалить, а проверяет границы ваших знаний. Скорее всего, вам предложат тестовую задачу. Попросят ее решить или описать, как бы вы ее решали.
Навыки создания кода: какие IDE вы знаете, умеете ли их устанавливать, подключать библиотеки и плагины, и так далее.
Базы данных: какие базы вы знаете, с какими работали, каковы их особенности.
Какие знания будут плюсом
Компания-наниматель ищет не просто разработчиков, а тех, кто способен выполнять актуальные бизнес-задачи. Поэтому будут спрашивать то, что имеет отношение к этим задачам.
Например, если в работе компании значительное место занимает Data Science, то у junior python разработчика будут спрашивать о знании математики, анализа, теории вероятностей. Выше мы писали, что все это изучают в профильных вузах, но вполне реально освоить основы самому.
Если у вас есть учебные или личные проекты, перед собеседованием их стоит выложить на Git или на ваш сайт, чтобы показать на интервью. Хорошо, если демонстрация кода будет сопровождаться рассказом о том, какую задачу решал этот проект.
В целом мы бы рекомендовали в начале поиска работы проанализировать свои знания и скиллы и составить список. Бесполезных знаний не бывает, надо только уметь их правильно применять.
Какие книги нужно прочесть Junior Python разработчику
Главное имя, которое должен знать Junior Python разработчик — Марк Лутц. Он написал серию книг о разработке на Python, включая Python Pocket Reference. Этот карманный справочник лучше читать в оригинале, и в нем содержатся ответы и подсказки почти на все вопросы, которые могут возникнуть у неопытного разработчика.
Еще одна базовая книга для начинающих разработчиков — «Программируем на Python» Майкла Доусона. Автор предлагает освоить основы языка, создавая простые игры. Опытным разработчикам эта книга не пригодится, а вот для начинающих вполне подойдет.
А вот книга Марка Саммерфилда «Python на практике» подойдет и для опытных программистов. Мы ее рекомендуем еще и потому, что в ней описываются паттерны проектирования и правила их использования для создания хорошего кода.
Заключение
Сейчас ситуация на рынке IT-кадров складывается в пользу соискателей. Миру нужно больше программистов, поэтому толковых ребят буквально отрывают с руками. Даже начинающий программист может легко найти работу, если приложит усилия.
Для junior python разработчика лучший путь — освоить основы языка Python, познакомиться с фреймворками и базами данных, прочесть несколько книг по специальности и поработать над развитием софт скиллов. После этого можно начинать поиски работы, и очень скоро поиск увенчается успехом.
Всегда ваш Сергей Немчинский

Расскажите, какие навыки вам потребовались при трудоустройстве на позицию junior python developer? Какие задачи приходилось решать на собеседовании?
