В глазах многих айтишники – это какая-то закрытая секта богатых лентяев. Говорят на непонятном айтишном языке, получают много денег и работают по 4 часа из 8, при этом постоянно жалуясь на выгорание. А попросишь их починить тостер (ну ты же разбираешься во всех этих железных штуках, верно?) – впадают в ярость. На самом же деле айтишник – это в большинстве случаев такой же работник, как и слесарь на заводе, только задачи – интеллектуальные, и ответственности – намного больше. Ниже мы детально разберем тех айтишников, которые «в природе» встречаются чаще всего – программисты.
Ответ на вопрос «Кто такой программист?» лежит прямо в названии профессии, программист – это человек, который создает программы для железа. В ранние годы, когда компьютеры были большими и шумными, программисты общались с железом на языке последнего – буквально делали дырки в нужных местах на перфокартах, чтобы компьютер понял, что нужно делать. В дальнейшем появились более удобные (высокоуровневые) языки программирования – сначала вместо дырок на перфокартах появились короткие команды (ассемблерные), затем команды стали более читабельными для людей (низкоуровневые языки программирования), сейчас же чаще всего используются языки, на которых можно описать в человеческих словах и предложениях действия, которые компьютер должен совершить (высокоуровневые языки программирования). Таким образом, определение можно расширить до «Программист – это человек, который с помощью одного из языков программирования описывает набор действий, которые нужно совершить компьютеру».
Но все, естественно, не так просто. «Программист» – такое же расплывчатое определение, как, например, «врач».
Системный администратор тоже пишет код (является программистом), хирург тоже лечит людей (является врачом). Но если вы назовете сисадмина программистом или хирурга врачом, то столкнетесь как минимум с удивлением. В сфере информационных технологий есть множество направлений, и просто делить специалистов по принципу «пишет код/не пишет код» нельзя, потому что специалист автоматического тестирования пишет код, но «программистом» в обычном понятии не является, а архитектор код не пишет, но является «программистом». Чтобы разобраться во всем этом, давайте введем 5 основных специальностей, участвующих в разработке:
Школа |
Skillbox |
Стоимость |
82 571 руб |
Цена в рассрочку |
3 753 руб/мес |
Длительность курса |
7 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Нетология |
Стоимость |
104 500 руб |
Цена в рассрочку |
3 055 руб/мес |
Длительность курса |
16 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Яндекс Практикум |
Стоимость |
170 000 руб |
Цена в рассрочку |
21 500 руб/мес |
Длительность курса |
9 месяцев |
Программа трудоустройства |
Отсутствует |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
40 906 руб |
Цена в рассрочку |
6 817 руб/мес |
Длительность курса |
2 месяца |
Программа трудоустройства |
Отсутствует |
Формат |
Запись лекций |
Школа |
Московский институт профессионального образования |
Стоимость |
67 453 руб |
Цена в рассрочку |
7 027 руб/мес |
Длительность курса |
14 месяцев |
Программа трудоустройства |
Отсутствует |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Институт профессионального образования |
Стоимость |
67 545 руб |
Цена в рассрочку |
2 814 руб/мес |
Длительность курса |
15 месяцев |
Программа трудоустройства |
Отсутствует |
Формат |
Запись лекций |
Школа |
Skillbox |
Стоимость |
101 277 руб |
Цена в рассрочку |
4 220 руб/мес |
Длительность курса |
10 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Нетология |
Стоимость |
47 300 руб |
Цена в рассрочку |
2 763 руб/мес |
Длительность курса |
4 месяца |
Программа трудоустройства |
Отсутствует |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Яндекс Практикум |
Стоимость |
77 000 руб |
Цена в рассрочку |
16 500 руб/мес |
Длительность курса |
5 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
85 800 руб |
Цена в рассрочку |
4 516 руб/мес |
Длительность курса |
6 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Академия «Синергия» |
Стоимость |
75 530 руб |
Цена в рассрочку |
3 147 руб/мес |
Длительность курса |
6 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Нетология |
Стоимость |
80 400 руб |
Цена в рассрочку |
3 525 руб/мес |
Длительность курса |
6 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Таким образом, под «программистом» обычно понимают именно разработчиков, реализовывающих основной функционал программы.
Вам может казаться, что зарплата программиста перевешивает все трудности работы, и этим стоит заниматься даже в том случае, если вам откровенно не нравится учить языки, алгоритмизацию и другие базовые навыки программиста. Но не стоит ориентироваться исключительно на зарплату и исключительно на программиста – иначе вы рискуете столкнуться с чередой выгораний или бросить учебу на середине. Возможно, программирование – не для вас, и вам стоит присмотреться к другим должностям в IT или вне его (в IT, например, можно попробовать себя в качестве тестировщика). Как это проверить? Проще всего – на практике. Возьмите какие-нибудь бесплатные курсы, например «Поколение Python» на stepik.org, и пройдите его. Если в процессе прохождения курса вы заметите, что вам интересно решать задачи, учить теорию и самостоятельно искать ответы на необычные вопросы – программирование вам точно зайдет.
Если же вы не чувствуете желания всем этим заниматься – возможно, вам стоит поискать себя в других направлениях.
Вариантов – очень много: самостоятельное обучение, бесплатные курсы, платные курсы, стажировка, колледжи и ВУЗы. Последние два варианта – наименее предпочтительные. Дело в том, что IT – это очень быстро развивающаяся сфера, и знания (не считая самых фундаментальных основ) очень быстро устаревают – то, что вы изучили год назад, теперь уже вполне может быть не актуально. Колледжи и ВУЗы, конечно, дают фундаментальные основы, но в большинстве своем они представляют безнадежно устаревшие программы обучения, и после получения диплома вы вдруг осознаете, что половину потраченного на обучение времени уже можно выбросить в корзину. Поэтому на программиста лучше учиться самостоятельно, на курсах или (если повезет) на стажировке.
Первый вариант – самостоятельное обучение. Самый дешевый и нестабильный вариант.
Организовывается очень просто:
Учить можно по книгам, курсам, статьям, телеграм-каналам – в общем, брать информацию из всех доступных источников. У этого варианта есть три существенных минуса. Первый: нет учителя или ментора, вы не всегда будете знать, что совершаете ошибки. Второй: сложно подтвердить свои знания перед потенциальным работодателем, вам будут часто отсеивать на стадии изучения резюме, если у вас не будет собственных толковых проектов на GitHub. Третий: у вас в какой-то момент может просто закончиться мотивация к дальнейшему обучению.
Второй вариант – курсы. Лучше – платные, потому что они обычно предлагают проверку домашек, помощь ментора и более-менее солидный сертификат. Еще один плюс – вам будут подавать материал структурированно, поэтому вы станете программистом быстрее. Из минусов – нужно платить деньги.
Наконец, третий вариант – стажировка. Иногда крупные компании набирают лаборатории, то есть открывают обучение для тех, кто хочет стать программистом. Чтобы попасть в лабу, вам нужно иметь какой-никакой айтишный бэкграунд (пройти пару курсов, написать парочку своих простеньких приложений) и владеть английским хотя бы на уровне А2. Если вас пригласят в лабу, то вы будете учиться так же, как в ВУЗе – с расписанием, преподавателями и экзаменами. Если вы успешно пройдете обучение, вас пригласят на работу в компанию, которая лабу и запустила.
Это – идеальный вариант, но попасть в лабу – очень непросто, потому что: а) они редко появляются; б) большая конкуренция.
Делить направления можно по разным критериям (чаще всего делят по языкам), но мы остановимся на фронт- и бэк-энде, поскольку они наиболее сильно между собой различаются.
Фронт-энд разработчик – это, как мы уже говорили, специалист, который создает интерфейс/внешний вид приложения или сайта. В этом направлении стоит смотреть тем, кому интересно работать с дизайном, цветами, удобством пользовательского интерфейса и прочими такими вот вещами. Основные языки: JavaScript, CSS, HTML, Python, иногда – Ruby. Желательно уметь пользоваться Фотошопом.
Школа |
Skillbox |
Стоимость |
92 663 руб |
Цена в рассрочку |
3 861 руб/мес |
Длительность курса |
9 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Академия «Синергия» |
Стоимость |
31 920 руб |
Цена в рассрочку |
2 660 руб/мес |
Длительность курса |
3 месяца |
Программа трудоустройства |
Отсутствует |
Формат |
Запись лекций |
Школа |
Нетология |
Стоимость |
98 400 руб |
Цена в рассрочку |
2 876 руб/мес |
Длительность курса |
11 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Это – те самые технари-инженеры, которые разбираются в алгоритмах и создают закулисье сервиса. Здесь более ценятся математические и аналитические способности. Языков – множество: C++, Java, Python, Ruby, C#, … Практически обязателен SQL.
Школа |
Skillbox |
Стоимость |
97 488 руб |
Цена в рассрочку |
4 062 руб/мес |
Длительность курса |
8 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Академия «Синергия» |
Стоимость |
119 120 руб |
Цена в рассрочку |
4 963 руб/мес |
Длительность курса |
6 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Нетология |
Стоимость |
109 300 руб |
Цена в рассрочку |
3 194 руб/мес |
Длительность курса |
12.5 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Те, кто умеют и в интерфейс, и во внутреннюю логику программы. Если вы только начинаете свой путь, на фул-стэк разработчика замахиваться не стоит, слишком много знаний нужно. Языки: Java, Python, C#.
Школа |
Skillbox |
Стоимость |
102 267 руб |
Цена в рассрочку |
4 261 руб/мес |
Длительность курса |
11 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Нетология |
Стоимость |
140 900 руб |
Цена в рассрочку |
4 120 руб/мес |
Длительность курса |
22 месяца |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Яндекс Практикум |
Стоимость |
225 000 руб |
Цена в рассрочку |
16 000 руб/мес |
Длительность курса |
16 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Поскольку программисты бывают самыми разными, требования к ним тоже бывают самыми разными. Если мы откинем инициативность, стрессоустойчивость и остальные требования, копирующиеся из вакансии в вакансию, основным требованием будет знание общих принципов разработки плюс конкретного стэка (списка) технологий, необходимых для закрытия конкретной позиции в команде. Из общих принципов и технологий разработки стоит отметить ООП, Agile, Git и SQL. Из конкретных технологий – обычно один язык плюс необходимые фреймворки (Java + Spring, например).
Сейчас все чаще встречается требование по базовому пониманию UNIX и Docker.
3 примера junior-разработчиков с hh.ru:
Школа |
Skillbox |
Стоимость |
97 488 руб |
Цена в рассрочку |
4 062 руб/мес |
Длительность курса |
8 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Академия «Синергия» |
Стоимость |
98 320 руб |
Цена в рассрочку |
4 097 руб/мес |
Длительность курса |
6 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Нетология |
Стоимость |
109 300 руб |
Цена в рассрочку |
3 194 руб/мес |
Длительность курса |
12.5 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
143 005 руб |
Цена в рассрочку |
4 767 руб/мес |
Длительность курса |
12 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Нетология |
Стоимость |
89 600 руб |
Цена в рассрочку |
3 929 руб/мес |
Длительность курса |
11.5 месяцев |
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Бруноям |
Стоимость |
49 900 руб |
Цена в рассрочку |
4 158 руб/мес |
Длительность курса |
3 месяца |
Программа трудоустройства |
Есть |
Формат |
Запись лекций |
Программисты работают везде, где есть что программировать. Основное место работы – компания, которая создает продукты для себя или для других заказчиков (аутсорс). Рабочий день условно разбит на 2 части: встречи и выполнение задач. Встречи – это когда вся команда или отдельные ее участники созваниваются/встречаются в каком-то месте и обсуждают происходящие в проекте события. Это помогает синхронизироваться, одна из основных проблем разработки – рассинхронизация (Максим делает ту же работу, что и Витя, в результате оказывается, что один и них зря тратил свое время).
Когда митапы (встречи) заканчиваются, программисты разбредаются по своим рабочим местам и выполняют задачи, которые на них повесил менеджер.
Для самостоятельного обучения мы рекомендуем использовать бесплатные курсы, перечисленные выше, и вот этот прекрасный сайт.
Как мы уже говорили, обучение в ВУЗах – не лучшая идея. Но если вам все же очень хочется получить высшее образование для себя или ребенка, подойдут эти варианты:
Посмотреть топ-20 университетов с ИТ-направлениями по версии рейтингового агентства RAEX можно тут.
Джун – это программист, который приносит компании убыток. Джунов не подпускают к реальным задачам – обычно им дают песочницу, в которой джуны нарабатывают опыт на своих ошибках. Мало того, что джун не делает ничего полезного, так к нему еще нужно приставить сеньора, который будет помогать джуну – а за время работы сеньора тоже нужно платить. Поэтому джунов берут с тем расчетом, что они останутся в компании, станут мидлами и начнут приносить бизнесу прибыль.
Это – программист, который уже что-то умеет. На мидлов уже вешают задачи, которые требуют некоторой ответственности, надзора за мидлами намного меньше. Поскольку миддл – уже полезный программист, зарплата растет существенно, в 2 раза и больше.
Сеньор – это ответственный специалист, который может сделать что-то полезное и не сломать при этом все остальное. Сеньоры – основная рабочая сила проекта, именно они реализовывают тот функционал, который нужен заказчику. Сеньор уже может выставлять свои требования по зарплате, поскольку компания очень не хочет его потерять. Если джуны зарабатывают 500$, а миддлы – 1 000$, то сеньор вполне может требовать 2 000$+ в месяц.
А дальше – большая развилка. Сеньор может улучшать свои кодерские скилы и получать больше денег; он может уйти в менеджмент и управлять командой; ему открывается дорога в архитекторы.
В общем, сеньор может претендовать практически на любую позицию в команде.
Плюсы:
Минусы:
Это ваш личный проект, который вы делаете для себя. Пет-проекты – отличная возможность отточить свои навыки и показать работодателю, что вы что-то умеете.
Зависит от личных качеств, но на то, чтобы получить профессию с нуля, у вас уйдет от полугода.
Тезисно: