Как Сменить Специальность На Программиста?

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



Как сменить специальность на программиста?

Здравствуйте, меня зовут Александр Зеленин.

Я программист со стажем более 15 лет. За это время я успел поработать на должностях от веб-разработчика до технического директора, в компаниях различного уровня (от 5 человек, до 2000+, стартапы, корпорации), в разных странах и городах.

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

* Данная статья является исключительно моим мнением.

Не претендует на полноту, абсолютную правильность, отсутствие ошибок и неточностей.

Руководствуйтесь здравым смыслом при принятии любых решений и берите за них личную ответственность.



— Необходимо ли профильное высшее образование?

Нет. Это не влияет напрямую на доступную работу, заработную плату или возможности.

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

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

Работодатель всегда находил пути решения этого вопроса.



— Но, тем не менее, с высшим образованием проще?

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

Даже если все забудется, восстановить знания будет быстрее.

Если он есть – хорошо, если нет – ну и черт с ним.



- Я интроверт. Программист — самый крутой вариант для интровертов, правда?

Как сказать.

До определенного момента, возможно, и да, но через пару лет для роста потребуются коммуникативные навыки.

Эти проблемы можно решать по мере необходимости.



- Трудно учиться?

Да очень.

Конечно, это все индивидуально, и у кого-то это дается очень легко (лично мне все казалось очень легко, но путь был долгим), но, в принципе, все, кто переучивался, говорят, что это очень сложно.

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

Постоянное ощущение, что ты глуп, недостаточно знаешь, медленно решаешь и так далее.

Это серьезный вызов.

Гораздо серьезнее, чем кажется на первый взгляд.

- Стоит ли оно того вообще?

Это зависит от вашего видения мира, текущих условий и множества других специфичных для вас факторов.

Специалист высокого уровня может рассчитывать на следующее (на момент написания статьи):

  • Для РФ: зарплата в районе 200 000 белых рублей, ДМС (на семью), печенье, гибкий график, оплата обучения/детского сада, поездки на профильные конференции, высокая стабильность, интересные задачи, полный пакет для переезда (квартира на месяц, билеты, перевозка грузов, помощь в поиске жилья и т.д.)
  • Для Европы: зарплата в районе 5000 евро, а в основном все выше.

    В пакет переезда часто также входит единовременный платеж в размере около 7000 евро.

    Зачастую местная пенсия начинает просачиваться и появляется возможность позже получить ВНЖ/гражданство

  • США/Канада/Швейцария/Ближний Восток: зарплата около 10 000 долларов США и все вышеперечисленные льготы.



— Что значит «специалист высокого уровня»?

Специалистов принято делить на 3 уровня.

Требования зачастую сильно различаются, но в целом они таковы:

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

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



- Хорошо, сколько времени нужно на изучение каждого уровня?

Самый первый этап, пожалуй, самый трудный психологически.

На Джуниоре вам понадобится около 1500 часов чистого времени (это полгода по 8 часов каждый день).

После чего вы будете работать джуниором около 1,5 лет. После чего я был в середине еще два года.

Если вы не поменяли предметную область, то добро пожаловать на сеньор (всего 4-5 лет).



- Подожди, подожди.

Я видела курсы, они проходят 3 раза в неделю по 2 часа и через два месяца мне обещают зарплату 100 000 в месяц!

Ну, если пообещают, то так и будет (нет).

Я преподавал несколько подобных курсов исключительно из личного интереса.

Даже увеличив часовую нагрузку студентов в 2,5 раза (по 5 часов), к концу второго месяца был получен хороший «обзор» техники.

После таких курсов конкуренции практически нет. Это не засчитывается в «опыт».

Ну, это так.

В резюме можно написать опыт работы не менее 5 лет, но это не даст вам опыта.



- Ладно-ладно, а вообще есть ли польза от платных курсов?

В общем, есть, если вы не сидите и ждете погоды у моря, а активно используете возможность общения с наставником и при условии, что помимо этих курсов (а это типа 6 часов в неделю) вы также вложите свои 34 часа сверху.



— Какие курсы вы порекомендуете?

Бесплатно.

Я серьезно.

Основная ценность курсов – общение с наставником.

На этом их полезность заканчивается.

Проблема многих таких платформ в том, что: на них очень много участников и внимание наставника рассеяно, наставники неквалифицированны.

Зачастую площадки предлагают за их проведение сущие копейки, что практически сразу исключает появление хороших специалистов, готовых их проводить (кроме идеологических, которых вы встретите единицы).



- ?, а как тогда учиться?

  1. Вам обязательно нужно найти личного наставника.

    Без этого весь процесс либо существенно замедлится, либо вы потеряете много времени не в том месте.

    Как найти наставника? Лучше всего среди друзей и знакомых, которые либо уже программисты, либо учатся (минимум полгода).

    Обычно программисты не против поделиться знаниями и помочь.

    Другой способ — нанять наставника.

    Недостаток этого метода в том, что он стоит денег.

    Преимущество в том, что вы можете более точно выбрать вариант, соответствующий вашим потребностям.

    Здесь нужно учитывать зарплаты хороших специалистов (см.

    предыдущие вопросы) и понимать, что даже несколько часов в неделю обойдутся в приличную сумму.

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

  3. Составьте план и установите сроки Наставник поможет вам составить план.

    Самостоятельно это нереально, потому что ты не знаешь того, чего не знаешь.



- Наставник, наставник.

что, ты без него не можешь?

Можно и без этого.

Но тогда нужно еще много читать, делать, стараться во всем ориентироваться и постоянно себя перепроверять.

Мне доводилось общаться с людьми, имеющими опыт работы более 10 лет, но по уровню знаний они даже не дотягивают до уровня Junior. Как это происходит – сложный вопрос.

Уловить момент застоя непросто.

Вы можете следить за рынком, видеть, какие технологии ищут, смотреть разные новые решения и так далее.

А затем найдите наставника.

Даже если вы уже пенсионер, всегда здорово получить совет от более опытного специалиста.



— Статья вроде бы о том, как «сменить» специальность, но вы говорите, что вам нужно полгода по 8 часов.

Как совмещать это с работой? Может быть, год за 4 часа?

Пойманный.

Это очень сложный вопрос.

Согласно предыдущему опыту, сокращение количества часов непропорционально увеличивает продолжительность обучения (т. е.

ожидаемый год составит не 4 часа, а, скажем, 1,5-2).

Также в зависимости от текущей работы усвоение сложного материала может просто не пойти и всё, то есть совместить его может не получиться.

Все зависит, все индивидуально.

Один из способов — накопить средства и посвятить такому переходу полгода.

Это может быть очень сложно, когда уже есть семья или другие требования в виде ипотеки и тому подобного.

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

Другой способ.

ну, совсем облажаться.

Что вы хотите? :-D

— Мой друг прошел курс за два месяца и сразу после этого начал получать $5000 в месяц.

Вариантов несколько: либо он врет, либо он гений (в данном случае ход ни при чем, совпадение), либо ему повезло (знакомый его хитрым способом нанял и т. д.), либо это это что-то действительно супер узкоспециализированное и он нашел лазейку.

Пусть он расскажет вам, как это сделать.

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



— Где искать работу?

В столицах или, хотя бы, городах-миллионниках.

Если вы находитесь не в Москве, Киеве, Минске или где бы то ни было, готовьтесь к переезду.

Местные рынки слишком малы и не могут обеспечить достаточное количество вакансий (особенно для специалистов начального уровня), возможности для роста невелики и так далее.

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

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

Если вы ориентируетесь на такую компанию или она есть в вашем городе, желательно заранее сравнить все варианты между собой.



— Можно ли сразу устроиться на удаленную работу?

Сможешь, это будет сложнее, в первую очередь, тебе.

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

Да, инструментов сейчас много (просмотр ТВ, чаты, скайп, разные доски), но по комфорту и скорости общения все по-другому.

Если целиться на дистанцию, то нужно быть готовым отставать в 2 раза от нормы, чтобы хотя бы успевать за адекватным темпом.



— Мне 45. Возьмут ли меня юниором без опыта выступлений?

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

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

С переездами в некоторые страны может быть сложнее, если вы старше и нет вышки, но и это можно решить.



— Какой язык мне следует выучить?

Зависит от того, что вы хотите сделать.

Если вы не хотите играть в лотерею и идти безопасным путем, Java — ваш выбор.

В любом случае это позволит вам пройти весь путь без сильных технологических изменений и с очень хорошей оплатой.

Если у вас есть друг, который обещает нанять вас в качестве PHP-разработчика через шесть месяцев, это тоже может быть хорошим кандидатом.

Потому что язык не важен.



— Я думал, ты пошутил насчет «английского».

Должен ли я его учить?

Не в начале.

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

Когда вы решите переехать, вам понадобится английский язык.

Подходящее время для начала учебы может быть через пару месяцев после устройства на работу младшим специалистом.

И да, вам обязательно понадобится общение с носителями языка – будьте готовы вложить и в это деньги.

Мини-пример про переводчик: совсем недавно мне пришлось иметь дело с библиотекой, текущая документация по которой существует только на китайском языке (MyBatis-Plus) — Google Translate помог мне без особых проблем разобраться, что к чему.



- Подожди, ты сказал, что язык не важен.

что?

Это не совсем правда.

Это, конечно, важно, но после определенного этапа (старшего) вам будет все равно, на каком языке вы будете писать.

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

.

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

классная история.

Язык – это всего лишь инструмент общения.



- Хорошо, можешь дать мне план, что делать?

  1. Решите, действительно ли вам это нужно.

    Стоит ли оно того?

  2. Решите, чем вы хотите заниматься.

    В идеале составьте список компаний, в которых вы хотели бы работать.

    В идеале выбирайте, где вы хотите оказаться через полгода, через два и через пять.

  3. Напишите в компанию, где хотите работать через полгода.

    Узнайте условия трудоустройства, чему вам нужно научиться и так далее.

  4. Составьте план тем для изучения (из должностных инструкций и информации из пунктов 2 и 3)
  5. Учитесь, практикуйтесь.

    Каждый день.

    Каждый.

    Обязательно.

    Никаких пауз.

  6. Решайте проблемы программирования.

    Минимум 1 в день, минимум лёгкий уровень.

  7. По мере продвижения вы сможете связываться с рекрутерами из компаний и искать возможности трудоустройства.

    Чем раньше тем лучше.

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

  8. Найдите наставника.

Независимо от языка, список тем, которые я рекомендую включить в план: контроль версий (git, github), структуры и алгоритмы (знать все общие, большая О, знать, что «есть что-то такое» и уметь чтобы быстро найти), IDE (зачем, как настраивать), отладка и профилирование (как искать ошибки, точки останова и т.п.

), тестирование (написание хотя бы простейших тестов и понимание того, что в них включать), базы данных ( реляционный, сетевой, документоориентированный), документация (как писать, зачем), планирование и расстановка приоритетов (сколько времени это займет, что и когда делать), изучение Style Gudie для вашего языка, Linux (базовое понимание того, что там есть) , зачем и где, возможность запускать там свой код), менеджеры пакетов (как использовать, зачем, как поддерживать), семантическое версионирование (почему оно есть, как за ним следовать), фреймворки (на нужном языке, как минимум несколько для ознакомления), инструменты для сборки и автоматизации, криптография (в основном то, что существует, а не как это сделать), авторизация и аутентификация (что есть что и что для этого существует).

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

Для некоторых тем достаточно 15 минут, для других можно выделить месяц-два из шести месяцев.



— Я увидел, что интересующая меня компания обучает с нуля и нанимает сотрудников.

В чем подвох?

Низкая зарплата в течение первого года-двух.

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

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

Если в компании из вашего списка интересов есть подобные стажировки с нуля, стоит присмотреться к ним.



- Тяжело, все сложно.

Да и нет. Самое сложное — на старте.

Тогда многие понятия запоминаются и их не нужно держать в голове.

Многие вещи можно погуглить за 10 секунд, если вы знаете, что гуглить.

Теги: #программирование #Образовательный процесс в IT #работа #учеба #обучение программированию #обучение программированию #профессиональный рост #курсы программирования #смена работы #первые шаги #с нуля

Вместе с данным постом часто просматривают: