Знание языка программирования python

Что нужно знать, уметь и понимать, чтобы не иметь проблем с поиском работы питонистом

Эта статья повторяет и дополняет содержание моего выступления «Что отличает джуниора от сеньора или как питонисту не иметь проблем с поиском работы» на последнем MoscowPython Meetup 39. Многие обращались ко мне после выступления с вопросами и я обещал опубликовать статью на Хабре и обсудить в комментариях.

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

no problem

Ответы будут чуть ниже

Сперва расскажу о результатах опроса с митапа (если кто был там или слушал трансляцию):

Кто же приходит на митап?

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

Есть ли вообще проблема?

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

Читайте также:  Исполняемый файл java приложения

Как устроиться работать джуниором?

Это почти самый популярный вопрос, на который я отвечу так: работодатель вряд ли наймёт вас, если вы вообще ничего не знаете и не имеете никакого опыта. Весьма редко работодатели нанимают джуниоров и это зачастую что-то типа экперимента — вдруг поймаем реально таланта, который резко станет мидом, а мы сможем платить ему зп джуниора? Поэтому мой вам совет: не старайтесь устроиться джуниором, а лучше как следует изучите то, что здесь написано и сразу цельтесь в миды. Многие не знают и половины того, что надо и их берут только из-за «опыта» (зачастую бестолкового). Короче не бойтесь и не считайте себя ни на что не способными, вооружайтесь знаниями, практикуйтесь и ничего не бойтесь!

need to know

Что нужно знать

    Английский язык. Он нужен для чтения документации, примеров на stackoverflow и статьей, а так же чтобы клеить иностранок, когда будете ездите в отпуск. Многие в России имеют печальный опыт обучения языку в школе и в институте, но на самом деле, ребят, это действительно на 95% проблема системы образования, а на остальные 5% — отсутствие реальной необходимости в языке. Не существует людей (не считая немых и больных амнезией), которые не смогли бы научиться говорить на английском, а уж тем более свободно читать. Почти все вы уже умеете читать со словарем и для начала этого вполне достаточно.

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

После митапа ко мне подошел один парень и спросил «а как же алгоритмы?». За 6 лет работы Python-разработчиком мне довольно редко приходилось писать что-то действительно не тривиальное, в основном все сводится к каким-нибудь манипуляциям с данными, их преобразование из одной формы в другую для дальнейших нужд ну и элементарная логика уровня школьной информатики. Чаще всего все алгоритмы давно реализованы в рамках специфичных библиотек и легко доступны.

skills required

Что нужно уметь?

    Читать чужой код — если не умеете, то фактически вы не умеете пользоваться существующими ресурсами и каждый раз будете пилить велосипед. Как правило это не эффективно (ну давайте может быть еще язык программирования каждый раз снова создавать под каждую задачу?). Со временем вы поймете, что иногда быстрее написать что-то свое, но по началу — старайтесь учиться у других. Даже если вы в итоге решите писать что-то свое, у вас будет уже хоть какое-то представление о том как надо или как не надо делать.

what to understand

Что нужно понимать

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

Помните, что для работодателя вы — инструмент решения бизнес-задач, которые в будущем должны принести ему выгоду. Поэтому фактически ваша задача на собеседовании убедить его, что платить вам зарплату — выгодное вложение денег. Вас нанимают не по клавиатуре стучать, а генерировать прибыль.

Язык — лишь малая часть того, что вам нужно знать. Может быть около 5% или даже меньше.

Таблица соответствия того, что нужно работодателю и как вы можете ему с этим помочь

Мечта работодателя Что от вас требуется
делегирование — поставил задачу и её сделали правильно без твоего участия не боитесь брать на себя ответственность и достаточно компетентны
скорость разработки (основное преимущество питона) владеете языком, знаете сторонние библиотеки и понимаете, что скорость разработки очень важна
надежность системы тэстирование собственного кода насколько это возможно или требуется
поддерживаемость (еще одно преимущество синтаксиса и рекомендаций питона) знакомство с гайдлайнами (pep, import this) и по возможности следование им
эффективность системы знакомство со свежими технологиями, библиотеками и другими приложениями
эффективность разработчика заинтересованы в проекте. Тут я советую действительно выбирать проекты, которые интересны.
предсказуемость, возможность планирования ваши планы на ближайший год ясны

top secret
Интересно что он ей такое сказал на самом деле?

Советы

    Развивайте коммуникацию. Когда ищете работу — ходите на как можно больше собеседований. Успех собеседования напрямую зависит от навыка коммуникации и она отлично оттачивается на собеседованиях.

Приехали мы как-то в баню, и там чувак вениками орудует. А я веников 3 года не видал — в Азии туго с ними. Ну я ему “ого, братюня, фартануло тебе, где ты веников раздобыл?”. Он мне: “да вот привез с собой из России, че хочешь я тебя тоже напарю?”. Ну я не дурак отказываться, конечно. Пообщались с ним, нормальный такой чувак. Ну и разъехались по домам. Через пару недель опять приезжаем — там он же, опять с веником, стали снова общаться, он меня и спрашивает, мол, “а ты вообще чем занимаешься?”. Я говорю ну так-сяк, вот коворкинг у меня свой, а в свободное время на питоне программирую. Он “да ладно? Мне как раз питонщики нужны”. Оказался он основателем небезызвестной компании и я до сих пор с ним работаю.

Помимо собеседований рекомендую играть в мафию (только не по турнирным правилам, а таким, когда возможна дискуссия, но чтобы без балагана — это очень круто тренирует нервы и навык общения), ходите на хакатоны, митапы, конференции. Не пропустите, кстати, Moscow Conf, такие конференции даже не каждый год бывают — это вам не митап двухчасовой, а реально можно за день наобщаться с опытными ребятами, позадавать вопросы спикерам.

Жил у нас в коворкинге один парень — крутейший JS-программист, уровня сеньора с зп 120000+. Работает за 80, потому что неловко себя чувствует на собеседованиях, не может себя правильно позиционировать.

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

Исключения для этого совета: если вам ну очень интересен проект в котором вы работаете и/или у вас есть опцион и проект явно ждет успех.

Сперва я 9 лет изучал английский в школе, потом 3 года в институте и уже мог разве что читать и переводить со словарем. Потом я несколько лет оттачивал навык чтением документации, но сказать сложнее «how much for coconut» получалось с трудом. Первым действительно эффективным шагом был просмотр видеоуроков Дмитрия Петрова «Полиглот» с канала Культура, следующим шагом — практика общения с иностранцами в нашем коворкинге на Пхукете, ну а совсем легко стало после женитьбы на филиппинке. Кроме всего прочего один мой знакомых открыл школу английского с уникальным методом, который позволяет за месяц-два обучиться, правда это на Пхукетике опять же.

UPD: В комментариях выразили мнение, что эта статья относится только к веб-разработке на питоне. Это не совсем так, просто веб-фреймворк Django, который я советую к изучению является самым востребованным на данный момент в чем легко можно убедиться. Вы можете запросто выбрать другое направление и большая часть статьи так же останется актуальной, но легко ли вам будет найти работу — я не знаю. Более того, совет про изучение других популярных библиотек именно на то и нацелен, чтобы вы не ограничивались только лишь Django и расширяли свои знания по другим направлениям.

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

Источник

Оцените статью