В декабре 2018 года я написал свой первый "Hello World!" на языке программирования Java, в июле 2019 года я вышел на свой первый рабочий день в должности инженера-программиста. Между этими событиями прошло 7 месяцев, 5 из которых были потрачены на обучение.
В процессе освоения новой профессии я допустил ряд ошибок и, наоборот, применил несколько удачных практик. В конечном итоге, появился алгоритм, который вы можете успешно применить для себя. Главное следовать всем шагам и ничего не упускать.
Сразу скажу, что у меня нет профильного образования, а с программированием ранее я был знаком только в школе, когда писал простейшие программы на языке Pascal. Поэтому можно с уверенностью сказать, что начинал я с самого нуля.
0) Выбрать сферу деятельности и язык программирования
Первое, что вам необходимо сделать - понять, куда вас больше тянет. Если говорить максимально просто, то всю разработку можно поделить на две сферы: визуальная часть, с которой работает пользователь (front-end) и серверная часть, которая скрыта от глаза юзера и в которой происходит основная работа с данными(back end). В зависимости от того, какая сфера вам больше по душе - выбирайте язык программирования, который хотите изучать. Постарайтесь не задерживаться на этом шаге дольше недели.
1) Начинайте изучать базовый синтаксис языка
На данном этапе многие совершают ошибку и прибегают к помощи сторонних курсов, тренингов и пр. Я уверен, что начинать изучать язык программирования надо самостоятельно и здесь у всех есть отличный помощник - youtube! В сети очень много видео, где не только объясняют, что надо сделать, но и визуально показывают, как должен выглядеть результат - это огромное преимущество видео контента. Даже если ничего не понятно, всегда можно повторить все за спикером и все равно получить результат.
Мой личный опыт подтверждает, что курсы и тренинги могут стать хорошими помощниками, но только на том этапе, когда уже есть определенные (даже самые минимальные) знания по тематике. В противном случае вы рискуете потратить деньги, но при этом не понять абсолютно ничего из содержания курса.
2) Найдите помощника
Один из самых важных пунктов. Обязательно найдите человека, владеющего языком программирования, который вы изучаете. Попросите его о помощи: задавайте вопросы, обсуждайте, что вы недавно изучили, консультируйтесь по темам дальнейшего обучения.
Если в вашем окружении такого человека нет, попробуйте найти его в социальных сетях, на профильных митапах и конференциях, в университетах города. Да, скорее всего вам откажут, может быть даже не один раз, но здесь все зависит лишь от вашего желания и целеустремленности. Дерзайте и все обязательно получится!
3) Начните свой собственный проект
Лучшее обучение - на практике. Начните работу над своим собственным проектом. Никто не требует от вас разработки фейсбука, можно начать с простого калькулятора или конвертера валют. Начните с малого и постепенно расширяйте свой проект: введите новые системы счисления в калькулятор или подключите автоматическое добавление актуальных курсов валют в свой конвертер.
По ходу реализации проекта у вас будет появляться много вопросов, решение каждого из которых приблизит вас к первой работе. Хорошо, что ответы на все вопросы уже есть в интернете (вообще умение "гуглить" - один из главных навыков программиста) или даже у вашего помощника.
Не затягивайте со стартом своего проекта, постарайтесь начать работу над ним спустя 2 месяца после начала своего обучения.
4) Изучайте вакансии и подготовьте резюме
Главный сайт по поиску работы для программистов в России и Белоруссии - hh.ru. Посмотрите, чего ждут работодатели от junior программистов, пишущих на вашем языке, не пугайтесь большого количества незнакомых слов. Чаще всего, помимо основного языка программирования, работодатели ожидают наличие дополнительных знаний, например sql (язык для работы с базами данных) часто требуется для back end junior разработчиков.
Выпишите самые часто встречающиеся "незнакомые слова" и почитайте про каждое из них, поймите для чего они нужны. Скорее всего, с каждой из этих технологий вы ближе познакомитесь в первый год работы и сможете уже на практике изучить их лучше.
Составьте резюме, обязательно добавьте в него ссылку на ваш проект, а код проекта выложите на github. Постарайтесь завершить этот шаг через 4 месяца после старта учебы, ведь впереди вас ждет самый важный шаг!
5) Найдите работу
Вам необходимо запомнить одну простую истину: программист вообще без опыта работы и программист с 2-3 месяцами опыта - это два абсолютно разных специалиста. За первые пару месяцев работы вы получите опыт:
- в работе над настоящим, коммерческим проектом;
- в работе в команде;
- в чтении чужого кода;
- в работе с git или другой системой контроля версии в коммерческих целях;
Именно поэтому крайне важно найти первую работу, возможно даже в ущерб зарплате, условиям труда и пр. Для этого вам потребуется откликаться на все вакансии на hh, рассказать всем друзьям и знакомым, что вы ищите работу программистом, рассылать свое резюме во все компании не только своего города, но и страны (удаленная работа для программиста - абсолютно нормальная практика).
Не бойтесь собеседований. На свою первую работу я попал после десятка неудачных интервью. Спустя какое-то время вы осознаете, что 80% вопросов на собеседованиях повторяются, а это значит, что досконально изучив эти вопросы, вы значительно повысите свои шансы на трудоустройство.
Вы не уверены, что хотите стать программистом? Тогда прочитайте 5 причин, по которым необходимо войти в IT в 2020 году!