👁️👁️ 300 000 криптанів встановили собі Trustee Plus - гаманець з криптокарткою. Чого чекаєш ти? 👉

SmallTalk with Senior. Опытный Python-разработчик о том, как достичь уровня сеньор и не тратить лишнее время на изобретение велосипеда

Кто-то говорит, что Python — один из самых легких языков программирования, другие — об его универсальности, когда его можно использовать вместе с другими популярными языками программирования, в частности, Java и C#. Отдельная ценность Phyton состоит в том, что это лучший язык для программирования искусственного интеллекта, машинного и глубокого обучения. О том, что должен знать Senior Python Developer, как достичь этого уровня и на что стоит обратить внимание, рассказал Александр Ветер, разработчик Python уровня сеньор в SoftServe.

Вашему вниманию очередной материал из цикла SmallTalk with Senior на dev.ua, где все, кто хочет достичь этого уровня, могут воспользоваться советами бывалых.

Оставить комментарий
SmallTalk with Senior. Опытный Python-разработчик о том, как достичь уровня сеньор и не тратить лишнее время на изобретение велосипеда

Кто-то говорит, что Python — один из самых легких языков программирования, другие — об его универсальности, когда его можно использовать вместе с другими популярными языками программирования, в частности, Java и C#. Отдельная ценность Phyton состоит в том, что это лучший язык для программирования искусственного интеллекта, машинного и глубокого обучения. О том, что должен знать Senior Python Developer, как достичь этого уровня и на что стоит обратить внимание, рассказал Александр Ветер, разработчик Python уровня сеньор в SoftServe.

Вашему вниманию очередной материал из цикла SmallTalk with Senior на dev.ua, где все, кто хочет достичь этого уровня, могут воспользоваться советами бывалых.

Если вы — сеньор и хотите поделиться своим опытом — пишите на почту [email protected] 

От «материального» к программированию

Меня зовут Александр Ветер, и я работаю на позиции Senior Python Developer в SoftServe с 2021 года. Мне 33 года, из которых последние шесть живу в Одессе, но до этого почти всю жизнь провел в Николаеве. Там я сначала учился в обычной школе, потом в экономическом лицее, а дальше в НУК (Национальный университет кораблестроения имени адмирала Макарова).

Карьерный путь не был прямолинейным, как у многих моих коллег. В школьные годы мне не очень нравилась информатика, потому что не очень повезло с преподавателем, зато я обожал алгебру, геометрию и физику, так что мечтал стать инженером в каком-нибудь «материальном» направлении, а не в программировании. В конце концов, так и произошло — я получил степень магистра по специальности «Технологии судебного машиностроения» и после университета с 2014 года почти четыре года проработал в Николаеве на заводе по производству газотурбинных двигателей для кораблей.

Можно сказать, что мне повезло с первым местом работы, ведь я попал в отдел, который занимался написанием программ для станков с ЧПУ (числовое программное управление). То есть, хотя и занимал позицию инженера формально, но фактически где-то 80% моей работы уже тогда было связано с программированием. Университетские знания хоть и помогли и были хорошей базой, но все равно большинству реальных знаний и навыков пришлось учиться уже непосредственно на рабочем месте.

К сожалению, пообщавшись с более опытными коллегами, некоторые из которых работали на заводе по 30–40 лет, я понял, что эта сфера в Украине имеет почти нулевые карьерные и финансовые перспективы. Для того, чтобы обеспечить себе и своей семье более комфортный уровень жизни, в 2017 году я начал изучать разные языки программирования (JavaScript, Java, Python) и в конце концов остановился на последнем, как основном инструменте в своей карьере. Думаю основной причиной, почему я выбрал именно backend разработку, а не что-то другое (frontend, AQA, DevOps) было сходство backend разработки на том, чем я занимался как инженер-программист на заводе. Так что фактически нужно было только выучить синтаксис нового языка, а все базовые понятия и принципы я и так уже понимал. Первую работу, как Junior Python Developer, я получил в 2018 году, примерно через год после того, как начал изучать язык.

Больше всего мне помогли такие ресурсы, как:

  • Sololearn — сайт и мобильное приложение, это можно изучать практически любой язык программирования. Мне понравился темп подачи в материале — от простого к сложному с плавным нарастанием сложности и интересные практические задачи.
  • Codingame — сайт, где программисты со всего мира соревнуются, сочиняя код «ботов» для разных игр, разрабатываемых авторами этого проекта. Очень круто развивает алгоритмическое мышление и оптимизировать собственные алгоритмы.
  • CheckIO — сайт с задачами для изучающих Python и JS. Кстати, я тоже там работал определенное время как автор задач и статей, уже после того, как успел побыть «учеником» на их сайте.

Путь сеньора

На то, чтобы стать сеньором, у меня ушло семь лет, из которых первые четыре я работал на заводе с разными не очень популярными технологиями, например G-codes. Затем три года — именно как Python Developer. Это был непростой путь, я часто чувствовал, что мне не хватает фундаментальных знаний из Computer Science, у которых есть люди, которые изучали это все в университете. Вдобавок к овладению практическими навыками мне приходилось выделять время после работы, когда я уже работал на позиции Junior Python Developer, для закрытия пробелов в теоретических знаниях. В среднем у людей путь к сеньору в Python занимает пять лет, поэтому у меня он был немного длиннее.

В 2020 и 2021, когда я еще был медли, но психологически уже был готов к следующему шагу, я преподавал программирование в компьютерной школе Hillel. Это очень сильно развило софт скилы и менторские навыки, что в результате сильно помогло при прохождении собеседований на позицию сениора. Итак, относительно сложности становления сеньором был период в карьере, когда приходилось параллельно работать на 2 работах: на основной с понедельника по пятницу и преподавателем — на выходных.

Что по деньгам

Когда я начинал свою карьеру, то доллар еще был по 8 (золотые были времена), поэтому в долларовом эквиваленте моя зарплата сеньора в 14 раз больше первой зарплаты. А если сравнивать гривневые суммы тогда и сейчас, то сеньорская зарплата в 67 раз больше, чем была оплата инженера-программиста без опыта 10 лет назад.

Скрин DOU

Не смотря на то, что финансово я уже достиг серьезного уровня, зарплата продолжает расти в среднем раз в год. Максимум, который я лично видел в вакансиях, которые мне посылали рекрутеры, был в районе 6500$ в месяц, но я еще не достиг такого уровня. От некоторых людей слышал, что в Украине реально зарабатывать и $7000-8000 как Senior Python Developer, но таких вакансий я не видел. Суммы в украинских и зарубежных (европейских) компаниях отличаются незначительно, возможно на 10-20%. Американские компании готовы платить еще больше, некоторые даже больше $10 000 в месяц, однако такие вакансии нужно активно искать и самому на них подаваться, не дожидаясь, пока рекрутеры тебя найдут и сами предложат.

Также следует учитывать, что многие компании могут не захотеть сотрудничать с человеком, живущим в стране в состоянии войны, поэтому они могут попросить переехать в более безопасную страну (если есть такая возможность) и получить другое налоговое резидентство, что значительно повлияет на размер чистого дохода. , ведь во многих странах размер налогов может составлять 30-45%, а не украинские 5-6.5%

Что должен знать каждый синьор

Я бы выделил следующие ключевые моменты:

  1. Базовые знания по Computer Science. Имея эту базу, даже освоенную самостоятельно, а не в университете, гораздо проще разбираться с новыми технологиями, другими языками программирования и многими другими профессиональными инструментами. Без этого разработчику карьерно и профессионально расти очень и очень сложно. Причем не обязательно все время держать в памяти, например все алгоритмы сортировок или все возможные операции со связанными списками или бинарными деревьями. Достаточно просто иметь представление об их существовании (а также остальных базовых вещах) и тех ситуациях, когда их следует использовать. Это, во-первых, позволит не тратить лишнее время на изобретение велосипеда, а во-вторых — писать эффективные программы без мысли «пусть пользователи покупают более мощные девайсы».
  2. Софт скилы. Многие джуны и медли игнорируют этот пункт, считая, что хард скилы это 90% успеха. Но на самом деле, чем выше по иерархии вы поднимаетесь, тем более важными становятся софт скилы. Иногда даже доходит до ситуаций, когда сеньором может стать менее технически квалифицированный специалист, но с лучше развитыми софт скиллами, а его коллега мидл без хорошо развитых софт скилл — так и останется медлей еще на долгие годы, даже имея лучшую техническую экспертизу.
  3. Английский язык. Чем выше позиция человека в цепочке джуниор — мидл — сениор, тем обычно становится меньше кодинга и больше общения: с заказчиками, с другими командами, менторинг джунов и т. д. Некоторые даже ведут собственный ютуб канал или пишет статьи или выступают на конференциях. Так вот, международный язык общения в ИТ, как и в бизнесе, науке и многих других сферах — это английский. Желательно знать ее хотя бы на уровне В2 — это открывает более широкие возможности, чем более низкие уровни владения.
  4. Понимание потребностей бизнеса. Пожалуй одна из ключевых точек, где сеньор кардинально отличается от медла. Если мидл просто берет очередную задачу и делает то, что там написано, без лишних мыслей, то сеньор имеет более комплексное видение и понимание бизнеса клиента, что помогает выдвигать идеи для улучшения проекта или понимать, как изменения со стороны нашей команды могут повлиять на другие команды. в положительном или отрицательном смысле. В конце концов нам платят хорошие деньги не за то, что мы такие классные алгоритмы пишем, а за то business value, которое мы создаем.
  5. Последний пункт будет немного циничным и не очень лояльным — если вы еще не сениор, то не засиживайтесь слишком долго на одном месте. Во-первых, я видел много ситуаций, когда пройти внутреннюю аттестацию у компании на более высокую позицию гораздо сложнее, чем пройти собеседование в другую компанию. То есть джун может надолго застрять на позиции джуна, а мидл — на позиции медла в рамках одной компании, хотя они могли бы подняться на +1 карьерную строчку, если бы попытались устроиться в другую компанию. Во-вторых, для сеньора важны не только годы опыта, но и качество этих лет. Поэтому важно поработать на нескольких проектах за пять лет, которые вы будете идти до уровня сеньор. Не все компании имеют такую ​​возможность переводить человека с проекта на проект каждые 1-2 года. А если застрять только на одном проекте на все пять лет начала своей карьеры, то не разовьется достаточно широкий кругозор, который нужен сениору.

Что может быть дальше

Я большой поклонник FIRE (Financial Independence, Retire Early — финансовая независимость, ранний выход на пенсию), поэтому почти всю карьеру, начиная с «джуновства», откладывал так много денег, как только мог. Учитывая размер зарплаты сеньора и стоимость жизни в Украине, у меня выходит откладывать около 80%, а жить всего на 20%. Поэтому в планах на будущее — продолжать работать сеньором еще лет 10, а потом, по моим расчетам, сохраненных денег должно хватить, чтобы инвестировать их и жить обычной жизнью на дивиденды.

Если план по FIRE сработает — то по моим расчетам я смогу выйти на пенсию уже в 45 лет, причем это будет пенсия, которую «выплачиваешь сам себе», а не зависим от милости государства. План Б, если вдруг план А провалится по тем или иным причинам, работать до 60-65 лет, как и большинство обычных людей.

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

Существует ли компания мечты?

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

Второе интересное направление — похоже на компанию Neuralink Илона Маска, где чип считывает электрические импульсы мозга. Я хотел бы работать в компании, которая занимается цифровизацией человеческого сознания и (в перспективе) — созданием цифрового бессмертия. То есть, чтобы живого человека оцифровали при жизни, а после биологической смерти, за определенную сумму, ему создали новое синтетическое тело и загрузили его цифровое сознание туда, чтобы он продолжал жить дальше. Человечество уже частично идет к этому, к пониманию, что «человек» — это его сознание, а не его тело. Например, многие потеряли конечности на войне или при несчастных случаях. Но ведь от этого эти люди не перестали быть собой. Так же, на мой взгляд, и полная потеря тела не должна быть помехой тому, чтобы жить дальше, просто не в биологической форме, а в кибернетической.

Что, если бы не IT?

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

Также мне нравится научно-фантастическая литература и фэнтези, и время от времени я пишу статьи на разные темы, так что возможно попробовал бы себя в качестве писателя.

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

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

Почему сеньору сейчас сложно найти работу?

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

Читайте главные IT-новости страны в нашем Telegram
Читайте главные IT-новости страны в нашем Telegram
По теме
Читайте главные IT-новости страны в нашем Telegram
SmallTalk with Senior. Java-разработчик с опытом рассказал как стать хорошим Java-developer и за 6 лет увеличить зарплату в 20 раз
SmallTalk with Senior. Java-разработчик с опытом рассказал, как стать хорошим Java-developer и за 6 лет увеличить зарплату в 20 раз
По теме
SmallTalk with Senior. Java-разработчик с опытом рассказал, как стать хорошим Java-developer и за 6 лет увеличить зарплату в 20 раз
SmallTalk with Senior. Опытный Wordpress/PHP Developer о том как достиг сеньорского тайтла никогда не изучая теорию ради теории
SmallTalk with Senior. Опытный Wordpress/PHP Developer о том, как достиг сеньорского тайтла, никогда не изучая теорию ради теории
По теме
SmallTalk with Senior. Опытный Wordpress/PHP Developer о том, как достиг сеньорского тайтла, никогда не изучая теорию ради теории
Читайте также
Запускай код прямо в браузере: лучшие онлайн-компиляторы для C++, PHP, Python, Java, C#, Go и не только
Запускай код прямо в браузере: лучшие онлайн-компиляторы для C++, PHP, Python, Java, C#, Go и не только
Запускай код прямо в браузере: лучшие онлайн-компиляторы для C++, PHP, Python, Java, C#, Go и не только
Не всегда есть доступ к любимой IDE или время на ее запуск. Но когда нужно быстро проверить какой-то простой функционал или воплотить новую идею, пригодится онлайн-компилятор.
1 комментарий
Мануал для джуна. Python Developer: вопросы на собеседовании, практические задания и советы для начинающих
Мануал для джуна. Python Developer: вопросы на собеседовании, практические задания и советы для начинающих
Мануал для джуна. Python Developer: вопросы на собеседовании, практические задания и советы для начинающих
Джунов, которые ищут работу, проходят кучу собеседований и получают отказы вместо оффера, во время войны стало больше. А все потому, что к собеседованиям необходимо тщательно готовиться. dev.ua продолжает серию материалов о том, что нужно знать джунам для прохождения собеседования и получения вожделенного оффера от первого работодателя. Александр Ковтунов, Python Software engineer компании Ajax Systems, который также проводит собеседования для junior- и middle-специалистов, рассказал о профессии Python Developer и дал советы, как начинающим присоединиться к профессии.
Хочу стать программистом. С чего начать и как выбрать между Java Script, PHP, Python и другими
Хочу стать программистом. С чего начать и как выбрать между Java Script, PHP, Python и другими
Хочу стать программистом. С чего начать и как выбрать между Java Script, PHP, Python и другими
Диана Смеликова, операционный директор Wezom Academy, в своем блоге на DOU объяснила, с чего начать изучать программирование и каким языкам стоит отдать предпочтение на начальном этапе. Вот 5 важных советов от нее. 
Какие IT-специальности будут востребованы в ближайшие пять лет? Мы выяснили у главы американского стартапа ADAM Дениса Гурака
Какие IT-специальности будут востребованы в ближайшие пять лет? Мы выяснили у главы американского стартапа ADAM Дениса Гурака
Какие IT-специальности будут востребованы в ближайшие пять лет? Мы выяснили у главы американского стартапа ADAM Дениса Гурака

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментариев пока нет.