Найти тему

Смена профессии к 30, или как влиться в IT без образования и опыта.

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

Какой язык мне выбрать, и в какую отрасль пойти?

На этот вопрос нет универсального ответа, сначала задайте себе вопрос, проанализируйте, что Вам нравится, и чего хотели бы Вы сами? Если интересна работа с визуальной составляющей, и нравится незамедлительно видеть результат своих трудов, тут скорее фронтенд-разработка, и, само собой, стоит присматриваться к JS(тут я думаю и объяснять не надо). Лично меня не прельщал фронт, работа с данными, математика и логика, - как мне казалось, всё это я смогу найти в бэкенд-разработке. Вот тут уже с выбором языка полёт фантазии трудно остановить, каждый язык применяем в большей степени в какой-либо отрасли. Python популярен как в машинном обучении, благодаря множеству библиотек и простоте понимания кода, так и в веб-разработке(на стеке Jango/Elixir, например, если мне память не изменяет). C# и .NET - мощная платформа для создания всего на свете, Java со своей кросс-платформенностью, завоёвывающая топовые места в рейтингах языков каждого года, продолжать список можно долго, как из этого всего выбрать "то, что надо"? Как мне кажется никак, начните изучать первый, на который глаз ляжет, конечно сначала полазить по форумам и почитать о них - не плохая затея.

Окей, допустим мы выбрали язык, куда двигаться дальше? Лично не пользовался платными курсами, хотя, возможно, с ними мой путь был бы короче, но это не точно. Бесплатных курсов по основам языков огромное количество, так что понять основы не составит труда. Пройдите курс, порешайте десяток-другой задач, сайтов с программистскими задачами по разным языкам уйма, Codingames и Hackerrank, например.

-2

Ух, я прошёл курс и могу задачи решать на языке X, теперь я могу трудоустроиться? Нет. Ну, скорее всего, нет, необходимо куда больше знаний и понимания происходящего вокруг, чтобы называться разработчиком. Пара моментов, необходимых для изучения:

  1. Изучайте язык глубже, необходимо не только понимание вызовов методов, но и того, как они работают, как язык "работает под капотом"!
  2. Фреймворки. Без них никуда, это обязательная вещь, без которой знание голого языка не значит ничего. Чтобы представлять, что именно нужно изучать - посмотрите вакансии Junior (*ваш язык), обычно в требованиях указывают, какие фреймворки надо знать.
  3. Знание смежных областей так же жизненно необходимо. Если вы backend-разработчик, например, нужно знать, как работают базы данных, какие подходы к разработке приложений существуют, различные паттерны проектирования и т.д. и т.п.!

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

-3

Прошло время, Вы набрались знаний, сделали свой небольшой проектик, а может быть и пару, что же дальше? Смело идите на собеседования, создайте анкету на сайтах поиска работы и рассылайте, не бойтесь! Отказов, скорее всего, будет много. Да чего мелочиться, скорее всего почти все будут отказы, но в некоторых случаях всё же Вас пригласят. В любом случае приглашение - это маленькая победа, т.к. если Вас не возьмут, Вы сможете понять, чего в Ваших знаниях не хватает, где нужно подтянуть, что почитать, и стать лучше к следующему интервью, тут главное не сдаваться и становиться лучше и лучше с каждым разом.

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