Как стать разработчиком? Пошаговый план

25.09.2023

Спрос на IT-специалистов и, в частности, разработчиков ПО в России по-прежнему велик. Как стать программистом с нуля? Какое выбрать направление, какой язык и где учиться?

В 2020 году Ассоциация АПКИТ совместно с АНО «Цифровая экономика» сравнили количество программистов в России с этим показателем в других странах и пришли к выводу, что в IT-сфере есть очевидный дефицит кадров – общая численность специалистов составила 1,8 млн. человек или 2,4% от трудоспособного населения страны. При этом аналогичный показатель в среднем по Европе составляет 3,9%: в Великобритании на момент исследования он достигал 5%, в Финляндии – 7%, в Германии, Франции и Чехии – 4%, в Польше 3%.

По мнению исследователей, общая годовая потребность в высококвалифицированных кадрах к 2024 году достигнет значения 300 тысяч человек в год. Судя по всему, уже сейчас реальность превзошла этот прогноз. Согласно данным на апрель 2023 года спрос на IT-кадры увеличился на 63%, а срок поиска кандидатов на цифровые вакансии вырос сильнее, чем в среднем по рынку: в два раза против 1,5 раза в других отраслях. На начало 2023 года на отечественном рынке было около 59 тысяч открытых IT-вакансий – это, не считая около полумиллиона профессионалов, уже задействованных в сфере. И спрос будет только расти, утверждают эксперты.

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

1 Расстаться со стереотипами 

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

Другое заблуждение – IT-сфера закрыта для людей без математических способностей. Это не всегда так. Разумеется, склонность к точным наукам – это большой плюс, но IT-индустрия включает в себя более 200 различных профессий, и далеко не все из них связаны с написанием кода.

Для гуманитариев открыты такие сферы, как разработка игр и моделирование для 3D-печати, создание пользовательского интерфейса и визуальных эффектов для фильмов и рекламы.

2 Выбрать направление 

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

  • разработка мобильных приложений: iOS-разработка, android-разработка, кроссплатформенная разработка (для двух операционных систем одновременно), стартовая зарплата – 90000 рублей;
  • веб-разработка
    • frontend (программирование видимой части ресурса – меню, анимации, кнопки, формы и другой интерактив на сайтах), стартовая зарплата – 50000 рублей, 
    • backend (программированние внутренней части сайта – взаимодействие с базами данных, обработка информации и вычисления), стартовая зарплата – 60000 рублей, 
    • fullstack (работа и с внутренней, и с внешней частью сервиса), стартовая зарплата – 80000 рублей;
  • разработка игр (написание кода, чтобы всё, созданное сценаристами, геймдизайнерами и дизайнерами соединилось в целостный продукт), стартовая зарплата – 60000 рублей;
  • системное программирование (исследование новых архитектур и структур данных, а также QA-тестирование – проверка работоспособности написанного ПО вручную и с помощью специальных программ), стартовая зарплата – 40000 рублей.

Рейтинг вакансий в IT-сфере меняется довольно быстро. Поэтому лучше всего ориентироваться не на актуальный спрос на рынке труда, а на то, что нравится и то, что соответствует индивидуальным способностям. 

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

После того, как сфера приложения усилий определена, переходим к следующему этапу – самому важному. 

3 Выбор языка программирования. 

Лучший язык программирования – это самый универсальный и такой, специалисты по которому наиболее востребованы на рынке труда. Эти данные ежегодно публикуются в специализированных рейтингах. Например, на рейтинге TIOBE, который оценивает популярность языков программирования. На индекс влияет количество курсов, статей и специалистов по каждому из языков во всем мире. На декабрь 2022 года ТОП-10 выглядит так.

Первый в этом рейтинге – Python – считается самым универсальным и простым языком программирования. Разработчики могут его легко читать и без труда создавать с его помощью программы, потому что его базовый синтаксис похож на синтаксис английского. Кроме того, Python легко сочетается с другими языками программирования и имеет обширную библиотеку стандартных решений, поэтому программисты могут не писать код «с нуля». 

Второе и третье место в рейтинге заняли С++ и его «предок» С, который уже считается устаревшим. На этом языке чаще всего пишут сложное высокопроизводительное ПО. Например, драйверы и программы для промышленных систем. Иногда используют для разработки компьютерных игр.

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

4 Как учиться?

Когда выбор окончательно сделан в пользу одной из специальностей и определённого языка программирования, можно начинать учиться. Сегодня есть возможность выбрать из огромного количества ресурсов – посещать готовые программы обучения онлайн или следовать алгоритму, разработанному самостоятельно. У каждого способа есть свои достоинства и недостатки. 

Почитать книги, посмотреть видео

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

Вот несколько книг, которые помогут освоить азы самых популярных языков программирования:

«Python. Экспресс-курс», Наоми Седер. Практическое руководство о том, как освоить Python 3 от основ до структур данных: особенности языка и его объектно-ориентированные способности.

«Python, например», Никола Лейси. Руководство без заумной терминологии и сложных формул для тех, кто хочет освоить язык Python. Автор плавно переносит от основ к решению непростых задач.

«Программирование на C# для начинающих», Алексей Васильев. Книга об основах, структуре, типам данных, циклах, операторах и другой важной информации, которая потребуется, чтобы подружиться с языком С#. 

«Выразительный JavaScript», Марейн Хавербеке. Практическое пособие о синтаксисе, асинхронных и стрелочных функциях, итераторе, шаблонных строках, других важных тонкостях JavaScript. От простого к сложному. Финальная тема — программирование браузеров.

Закончить курсы

В сети огромный выбор онлайн-площадок – разные цены, программа, интенсивность, соотношение теории и практики. Длительность обучения – от 8 до 24 месяцев. Некоторые площадки предлагают финальное трудоустройство. Чтобы выбрать и не разочароваться, рекомендуем читать отзывы на независимых платформах.

Если желание научиться программированию пришло уже в школе, то получить азы профессии можно без отрыва от основного обучения и бесплатно. Например, в федеральной социально-образовательной программе «IT Школе Samsung». 

Формировать портфолио 

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

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

Проходить стажировки

Стажировка даёт возможность начинающим специалистам получить опыт программирования. Минус – финансовые потери. Если стажировка оплачиваемая, то за неё заплатят не более 30000-40000 рублей в месяц. Плюс – возможность задать вопросы опытным профессионалам и поработать на своё портфолио. Кроме того, при удачном раскладе из практиканта можно вырасти в junior-разработчика в той же компании с последующими карьерными перспективами. 

Где искать стажировки? На агрегаторах стажировок: например, FutureToday или Changellenge. 

5 Какие знания и навыки нужны, чтобы считаться junior-разработчиком? 

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

Что понадобится знать, чтобы считаться junior-программистом:

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

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

6 Поиск работы

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

Где искать вакансии?

•    На специализированных сайтах вроде HH. 
•    В Telegram. Есть каналы, которые специализируются на стартовых вакансиях, например, Remote Junior. 
•    На сайтах компаний. Например, ВК или Сбер регулярно публикуют вакансии для junior-разработчиков.
•    Нетворкинг. Не сбрасывайте со счетов возможность найти работу своей мечты на встречах с коллегами. Это может быть как деловая встреча, так и досуговое мероприятие. Например, проводятся встречи IT-специалистов, чтобы поиграть в футбол, настольные игры, «Мозгобойню». 

Пара лет на позиции junior-разработчика открывает путь к уровням midle- и senior-специалистов, где уровень зарплаты и ответственность намного выше, а задачи интересней – радужные перспективы в карьере обеспечены.