Где можно получить профессию программиста

Комментарии
Популярные По порядку
Не удалось загрузить комментарии.
ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ
Помнить все: делимся лучшей шпаргалкой по Python
Мы подготовили очень занимательную коллекцию, которая по праву может называться лучшей шпаргалкой по Python благодаря ее простоте использования.
Английский язык для IT-специалистов
Всем людям, так или иначе связанным с IT сферой, прекрасно известно, что рано или поздно вопрос о владении английским языком становится ребром.
Изучаем алгоритмы: полезные книги, веб-сайты, онлайн-курсы и видеоматериалы
В этой подборке представлен список книг, веб-сайтов и онлайн-курсов, дающих понимание как простых, так и продвинутых алгоритмов.
Программист: типы профессии, зарплаты, как стать и где учиться

Рассказываем подробно, как быстро стать программистом, какие есть специализации программистов, где на них учат и сколько они зарабатывают. Кстати, недавно центр профориентации ПрофГид разработал точный тест на профориентацию, который сам расскажет, какие профессии вам подходят, даст заключение о вашем типе личности и интеллекте.
Кто такой программист
Программист — это разработчик алгоритмов и компьютерных программ. Он пишет их на специальных языках. Во всём мире программисты очень востребованы, их работа хорошо оплачивается: зарплата программиста в России в диапазоне 80 000–220 000 рублей, тимлиды — TeamLead и техлиды — TechLead (специалисты высшей квалификации) получают больше: 250–400 тысяч рублей. Пройдите короткий бесплатный тест, чтобы понять, можете ли вы быть программистом.
Как узнать, подходит ли вам профессия «Программист»?

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

Мечтаешь создать свою игру?
Воплоти мечту в реальность вместе с XYZ School!
Читайте также

Специализации программистов
Разработчиков можно условно разделить на две крупные категории в зависимости от специализации.
Яндекс.Практикум, скидки 20%
Приходите учиться любой профессии со скидкой 20% в честь сами знаете чего!

Новогодняя акция! Скидки до 60% и «Тайный Санта»
Всеми любимый «Тайный Санта» здесь: те, кто приобрел у нас курс, получат курс в подарок и смогут подарить мини-курс своему другу.

Скидки 70% и подарки на сумму до 260 000 ₽
Покупаете один курс — получаете два. Год английского от Skyeng +1 профессия в подарок.
Прикладные программисты
Разрабатывают программное обеспечение прикладного характера — игры‚ бухгалтерские программы‚ редакторы‚ мессенджеры и т. п. К области их работы относится создание программного обеспечения для ERP и CRM системы вроде 1С, систем видео- и аудионаблюдения‚ пожаротушения или пожарной сигнализации и т. п. Также они адаптируют уже существующие программы под нужды конкретной организации или пользователя.
Список некоторых прикладных специализаций программистов:
- Web-программист;
- 1С-программист;
- Android-разработчик;
- Разработчик игр (GameDev).
Системные программисты
Разрабатывают операционные системы, роботов, работают с сетями, пишут интерфейсы к различным распределенным базам данных. Они пишут код для «железа». Системные программисты относятся к числу самых редких и высокооплачиваемых. Их задача состоит в том‚ чтобы разработать системы программного обеспечения (сервисы)‚ которые‚ в свою очередь‚ управляют вычислительной системой (куда входит процессор‚ коммуникационные и периферийные устройства). Также они поддерживают работу созданных ими систем (драйвера устройств‚ загрузчики и т. д.).
Профессии разработчиков по языкам программирования
Разработчики решают очень разные задачи, и не все языки программирования одинаково удобны для решения этих задач. Вот список наиболее популярных языков программирования:
Со стороны профессия выглядит творческой, высокооплачиваемой и интересной. Однако в современном мире программист становится элементом конвейера. Его задача – создавать программные продукты для бизнеса и не только: в срок, без сбоев и лишней лирики. И место сотрудника на конвейере ПО зависит от его квалификации.
Программисты нужны, потому что растёт рынок технологий, открываются новые направления. Однако реальность такова, что значительная часть шарма этой профессии ушла под давлением жёстких требований бизнеса.
Немногие программисты могут позволить себе применить творческий подход к решению проблем. На это просто нет времени, и они просто корректно применяют уже готовые шаблоны и стратегии.
Можно ли оставаться творцом, работая на конвейере? Мой ответ – да. Программист создает и сразу наблюдает плоды своих творений. Это важно для любой профессии, и программирование не исключение. Это похоже на строительство дома, но виртуального — программист легко сносит этажи, только что им построенные. А ещё через несколько минут результатами твоей работы будут пользоваться реальные люди.

Денис Горбачев
Руководитель группы разработки финтех-сервиса «Выберу.ру»
Зарплата программиста
Даже не самый продвинутый специалист может найти работу в соответствии со своим уровнем знаний, а затем постепенно учиться и набираться опыта. Зарплата стажера — около 50 000–80 000 рублей. Штатный программист в компании среднего уровня (не IT) получает от 120 000 до 200 000 рублей. Зарплата ведущего программиста — 180 000–300000 рублей.
Зарплата руководителя IT-отдела колеблется в диапазоне от 150 000 до 350 000 рублей – в зависимости от компании. Хороший программист может стать руководителем крупного проекта по разработке ПО, в этом случае уровень доходов достигает 500 000 рублей и выше.
Зарплата программиста на январь 2024
Информации о зарплатах предоставлена порталом hh.ru.
Россия 30000—130000₽
Москва 30000—100000₽
Где работают программисты
У программистов широкая сфера приложения профессиональных знаний:
- IT-компании;
- банки;
- заводы;
- транспортные компании;
- коммерческие предприятия;
- государственные структуры;
- ФСБ, МВД, ФСО;
- web-студии;
- игровые студии;
- научно-исследовательские центры, университеты.
Примеры компаний с вакансиями программиста
Читайте также

Требования к программистам
Список требований к программисту:
- знание английского языка upper-intermediate (выше среднего);
- умение работать в команде;
- грамотная устная речь, умение доносить мысль до собеседника;
- умение мыслить абстрактно;
- знание математики (зависит от сферы, например, Gamedev);
- ответственность, умение определять и укладываться в сроки;
- готовность к постоянному самообучению;
- желательно высшее техническое образование.
Думаю, что программист – это та профессия, где для достижения успеха недостаточно читать профессиональную литературу и ходить на курсы. Без врожденной предрасположенности к информационным технологиям освоить ее сможет далеко не каждый. Поэтому и талант играет свою роль. И из освоивших профессию не все смогут достичь вершин в карьере.
Бытует мнение, что программист – профессия молодых. В целом так и есть. Эту престижную профессию выбирают всё больше молодых людей. Программисты в возрасте либо уходят на руководящие должности, либо становятся экспертами. Сам я считаю, что программированием можно заниматься пусть и не до глубокой старости, но по крайней мере намного дольше, чем профессиональным спортом.
Почему молодому поколению куда проще «войти в айти»? Сегодня дети вырастают в насыщенной информационной среде и, как правило, знакомы с высокими технологиями «с пеленок».

Денис Горбачев
Руководитель группы разработки финтех-сервиса «Выберу.ру»
Как стать программистом
- Пройти курсы или обучиться самостоятельно.
- Пройти практику – пет-проект или практика при курсах.
- Найти постоянную работу в статусе junior.
- Продолжать учиться самостоятельно и в коллективе.
- Бесстрашно браться за новые задачи.
Самый надежный путь – пойти работать в ИТ-компанию. Когда меня принимали на работу, для работодателя наибольший вес имел мой опыт разработок. Только потом – образование, но у меня оно было. Так что практика остается лучшим способом научиться программировать.
По моему опыту, работодатель иногда даже не интересуются дипломом кандидата вплоть до момента приема на работу. Однакопри отсутствии практики в области программирования диплом по специальности будет существенным плюсом для начала карьеры.
Отлично, если начинающий программист получил базовые знания вуза. Речь не только о мехмате МГУ – в стране много университетов, которые готовят кадры для будущей профессии. Они есть не только в столицах, но и в Томске, Новосибирске, Казани, Самаре. Знаю, что сильные выпускники выходят из Петербургского ИТМО и Бауманского университета.
Можно получать знания самостоятельно или на многочисленных онлайн-курсах. Курсовые программы полезны для получения специальных навыков в выбранных человеком направлениях программирования. Но трудоустройство выпускника онлайн-курсов на позиции выше «джуна» – скорее исключение, чем правило.

Денис Горбачев
руководитель группы разработки финтех-сервиса «Выберу.ру»
Советуем ознакомиться с мнением экспертов о том, как стать программистом с нуля.
Карьера программиста: джун, мидл, сеньор
Карьера программиста имеет три ступени: Junior («джун»), Middle («мидл»), Senior («сеньор»).
Джун, джуниор (Junior), начинающий программист
Джун – это не нулевой уровень программиста, а уровень начинающего программиста после обучения и некоторой практики. На работе джуны выполняют порученные мелкие части проекта, а не проект целиком, не обязательно представляя себе масштабы проекта. Для того чтобы вас взяли джуном, можно выучиться самостоятельно по книгам или закончить хорошие курсы программистов, где вас научат:
- прикладной теоретической базе;
- основам одного из языков программирования;
- работе с XML, JSON;
- основам одного из фреймворков;
- основам среды разработки (программ для написания кода);
- алгоритмам;
- работать с консолью (терминалом);
- основам баз данных;
- некоторым методологиям разработки и взаимодействию с другими участниками проекта;
- основам контроля версий кода.
Примеры задачи для джуна: транслитерировать входящую строку, написать подпрограмму для проверки значений.
Чтобы чувствовать себя увереннее на собеседовании, нужно приобрести кое-какой опыт работы. Прекрасным примером такой работы может быть собственный pet-проект (например, свой сайт или самописная консольная утилита). К собеседованию нужно готовиться тщательно, потому что много и глубоко спрашивают, в том числе могут дать логическую задачу. Старайтесь не быть поверхностным. Это нормально, если пройдёте много собеседований прежде, чем вас возьмут на работу джуном. Начинающих очень много.
Мидл (Middle), программист среднего уровня
Мидл – это вполне самостоятельный программист, который может справиться с любой задачей. Мидл имеет довольно глубокие знания:
- в языке программирования – его особенностях, недостатках, предельных возможностях;
- одном или нескольких фреймворках;
- всех основных методологиях разработки (SOLID, DRY, KISS, YAGNI, DIE, DDD, TD).
Мидл должен понимать цели и задачи продукта, который он разрабатывает, а также хорошо понимать предметную область, в которой он работает, например, финансовую. Перед ним могут поставить такую, например, задачу: разработать приём платежей в программе. Мидл должен самостоятельно выбрать инструментарий, выстроить архитектуру, прописать план и точные сроки выполнения. Таким образом, в его задачи входит и административная работа.
Сеньор (Senior)
Сеньор – это программист высшей квалификации. Он умеет разработать архитектуру новой программы или сайта. Для того чтобы эта программа была создана, требуются и другие люди. Сеньор умеет ставить перед ними задачи и контролировать их выполнение. Таким образом, сеньор должен обладать навыками руководителя: видеть цель, объяснить её подчинённым, вдохновить их, обучить и проконтролировать, провести работу над ошибками.
Сеньор глубочайшим образом понимает структуру проекта, фреймворков и инструментов разработки. Он заранее предвидит, как в будущем будет меняться проект и как его оптимально поддерживать.
Сеньор может стать руководителем группы программистов (тимлидом), менеджером IT-проекта, IT-директором предприятия и т. п.
Обучение на программиста
Профессию можно освоить в вузах, на курсах и в колледжах, но выучиться возможно и самостоятельно. Крупные работодатели, как правило, предпочитают программистов с высшим техническим образованием.
Программирование можно изучать на разных направлениях подготовки:
- вузы:
- «Прикладная математика и информатика» 01.03.02;
- «Математика и компьютерные науки» 02.03.01;
- «Информатика и вычислительная техника» 09.03.01;
- «Программная инженерия» 09.03.04 и другие направления, связанные с ИТ и разработкой ПО.
- «Информационные системы и программирование» 09.02.07;
- «Программирование в компьютерных системах» 09.02.03;
- «Прикладная информатика (по отраслям)» 09.02.05.
За качественным образованием программиста необязательно ехать в столицы. В регионах тоже есть вузы с сильными ИТ-направлениями.
Ассоциация компаний – разработчиков ПО РУССОФТ составила рейтинг российских вузов по подготовке ИТ-специалистов. Уровень обучения программистов в университетах оценивали директора отечественных софтверных компаний. В топ-50 по мнению работодателей вошли более трех десятков региональных вузов.
Топ-10 вузов для программистов по версии РУССОФТ:
1– 2. МГТУ им. Баумана, ИТМО (вузы делят первое-второе место с одинаковым количеством рейтинговых баллов).
- СПбГУ.
- МФТИ.
- МГУ.
- СПбПУ (Политех Петра Великого).
- МИФИ.
- НГУ (Новосибирск).
- ЮФУ (Ростов-на-Дону, Таганрог).
- НГТУ (НЭТИ), Новосибирск.
Еще один рейтинг вузов, выпускающих программистов, сформировал Superjob по уровню зарплат молодых ИТ-специалистов.
Топ-10 ИТ-вузов по версии Superjob:
- МФТИ.
- МГТУ им. Баумана, ИТМО, МИФИ (выпускники этих вузов получают одинаковые зарплаты).
- МГУ.
- НИУ ВШЭ (Московский институт электроники и математики им. Тихонова), СПбГУ.
- НГУ (Новосибирск).
- МЭИ.
- МАИ.
- МИСиС.
- ННГУ им. Лобачевского.
- СПбПУ (Политех Петра Великого).
В следующей десятке этого рейтинга тоже без малого 40 нестоличных вузов (многие занимают одинаковые позиции). Так что будущим программистам есть из чего выбирать.
Профессия Программист

Программист — человек, который строит алгоритмы работы электронных устройств: от компьютеров до космических спутников. Программирование принято условно делить на две категории: системное (оно включает в себя, например, написание программ для драйверов оборудования), и прикладное (создание сайтов, приложений, ПО и т. д.).
Помимо знания нескольких языков программирования, хороший специалист должен быть собранным, внимательным и креативным, а также владеть английским языком. Профессия предполагает постоянное самообразование: поколения продуктов циклически устаревают, иногда сменяя друг друга каждый год. Если программист не совершенствует себя, его профессионализм быстро перестанет быть ценным. Но есть и обратная сторона: рост отрасли приводит к тому, что спрос на хороших сотрудников превышает предложение. Вот почему стереотип о высоких зарплатах программистов небезоснователен. Выпускники престижных вузов нередко получают хорошие предложения о работе за рубежом, и многие могут работать удаленно.Где работать
Самый очевидный выбор для программиста — это создание ПО или работа в интернет-корпорации. Но на самом деле вариантов куда больше. На предприятиях программисты автоматизируют производство, а IT-отдел со штатными IT-девелоперами есть в любой крупной компании, пользующейся 1С или другими программами для управления внутренними процессами. Кроме того, работу можно найти у многочисленных создателей сайтов и мобильных приложений.
Компании мечты

Яндекс

Google

Mail.Ru

Лаборатория Касперского

SAP
Хочешь получить эту профессию в топовом вузе?
Поможем в онлайн-школе Учёба.ру подготовиться к ЕГЭ на высокие баллы с гарантией поступления.

Расскажем о системе эффективной подготовки

Познакомим с онлайн-школой и платформой

Ответим на вопросы и запишем на занятия

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

Карьеру программиста можно начать и без высшего образования, но есть нюансы. В сфере разработки уже давно появилось «классовое деление»: есть крутые «программисты-ученые» и «программисты-инженеры», а также рядовые «программисты-работяги».
Здесь уже все как на обычных производствах: высокие инженерные или исследовательские должности без высшего образования недостижимы. А начать карьеру простого разработчика (и в процессе «дорасти» до сильного спеца) можно сразу после школы или колледжа.
Начать карьеру программиста можно в веб-разработке. Достаточно полгода поучиться на онлайн-курсах, чтобы получить нужные навыки. Да, зарплата вначале будет низкой, но в течение нескольких лет она вырастет до 100 тысяч рублей и выше.
А вот стартануть в data science без профильного образования будет сложнее. Нужно знать предметную область, а она по сложности соответствует высшему образованию.
В зависимости от задачи я работаю с разными программистами. Есть и наши выпускники, у которых нет профильного технического образования. Они занимаются веб-интерфейсами. А есть и серьезные специалисты с профильным образованием, они разрабатывают инфраструктуру интерактивных курсов.
В нашей команде много программистов-самоучек. У нас даже есть дочерняя компания «Лига А», в которой коммерческие заказы выполняют только наши выпускники. Они самоучки с той точки зрения, что проходили только онлайн-курсы, а не получали профильное вузовское образование.
Кроме того, программисту для успешной работы необходимо системное мышление и внимательность. И желание разобраться в задаче перед тем, как начать писать код.
Идеально, если разработчик всегда горит желанием узнать, зачем он решает конкретную задачу, что она даст пользователям и его компании.
Дмитрий Уткин, техлид направления Machine Learning, группа компаний Neti

Программирование очень разнообразно. Веб-разработка требует одних навыков, построение интегрированных корпоративных систем – других, создание нейросетей и моделей машинного обучения – третьих. Объединяет разные отрасли системный подход, тщательность в выборе данных и алгоритмов, скрупулезность тестирования и умение поставить себя на роль пользователя.
Я бы сказал, что высшее инженерное или математическое образование поможет в наукоемких отраслях программирования, а в прикладных – будет достаточно курсов.
Чтобы попасть к нам на работу, соискатель должен продемонстрировать системность мышления, хорошие знания синтаксиса языка программирования и понимание, какие именно задачи решаются в процессе работы.
Будет нелишним знать лучшие практики отрасли – сейчас их часто преподают на продвинутых курсах и в вузах. Еще я бы порекомендовал почитать Макконела, Мартина, Фаулера, «Банду Четырех».
И, кстати, можно пройти открытые курсы от ведущих мировых вузов – MIT, например. Много интересного можно найти на Coursera.
Высоко ценится знание английского языка – почти все новые фреймворки и технологии описаны именно на английском, а это значит, что у вас будет преимущество в год или два перед теми, кто ждет перевода документации на русский.
И, конечно, важна способность постоянно учиться. В разных областях программирования знания устаревают за два-три года. Так что необходимо постоянно учиться и переучиваться.
Евгений Лопатин, директор департамента разработки «Инфосистемы Джет»

Конечно, я бы рекомендовал будущим программистам не пренебрегать высшим техническим образованием. Оно играет важную роль в карьере разработчика. Но есть и другая сторона — качество образования. И здесь не всегда отсутствие диплома магистра играет фатальную роль.
Многие начинают свой путь в разработке еще со школьной скамьи: изучают профильную литературу, участвуют в сообществах, развиваются самостоятельно. Образование или самообразование просто необходимы — одних курсов недостаточно.
Важнейшее качество разработчика — уметь и хотеть учиться. Любые знания в конкретной области — это лишь базис для последующего совершенствования. Тот, кто остановился в развитии, очень быстро теряет ценность.
Поэтому мы в компании уделяем огромное внимание развитию сотрудника: семинары, индивидуальные планы развития, курсы, мастер-классы — это помимо непосредственного участия в проектах по заказной разработке.
Сама по себе практика и наличие сильных экспертов в окружении способны частично компенсировать отсутствие профильного образования и вывести начинающего программиста на новый уровень.
При найме сотрудника мы смотрим на перспективы роста и мотивацию. Разумеется, берем на работу и программистов-самоучек, но, как правило, потолок развития у таких кандидатов ниже, а темпы роста компетенций не такие быстрые. В любом случае пробелы системного образования нужно будет восполнять. Но сегодня востребованность такого специалиста, безусловно, гарантирована.
Денис Коровкин, генеральный директор WebProfy (Kokoc Group)

При приеме на работу программисту важнее показать работодателю классный код, а не сертификаты и дипломы. Высшее образование здесь, скорее, небольшой плюс, чем необходимость. Нужно, чтобы голова у человека хорошо работала. Иногда высшее образование этому способствует, иногда нет. В вузах, как правило, не готовят специалистов, которые нужны на рынке.
В работе я отдаю предпочтение ребятам сообразительным и любознательным, независимо от пола, возраста, вероисповедания и высшего образования. Гораздо важнее внимательность, обучаемость, пунктуальность, критическое мышление. Умение правильно «гуглить», кстати, тоже пригодится.
Кроме перечисленных качеств программисту не обойтись без умения концентрироваться, самодисциплины и самокритики. Очень важен навык чтения, в том числе, на английском языке, и навык отладки.
Это то, чем программист занимается 80% своего времени — ищет причину, по которой код не работает так, как хочется. Что поразительно, очень большое количество программистов не умеет этого делать и тратит время работодателя на перебор вариантов и метод тыка.
С точки зрения обучения, мне нравится Британская высшая школа дизайна. Среди профильных ресурсов можно обратить внимание на Udemy, у них большая база англоязычных курсов. Слышал много хороших отзывов о Школе разработки интерфейсов от «Яндекса». Есть курсы, которые у всех на слуху, вроде HTML Academy или GeekBrains, но это больше заслуга маркетинга.
Вообще тема «опыта работы» кажется мне более актуальной, чем профильное образование.
Практический опыт — лучшее обучение. Чем больше шишек набито, чем больше решений найдено, тем эффективнее человек будет работать.
После вуза или Codecademy новоиспеченных программистов нужно еще от трех до шести месяцев готовить к настоящим задачам. Я завидую студиям, у которых есть своя «песочница» для обучения новичков. Сами мы предпочитаем брать людей с уже существующим опытом — так они встраиваются в процесс уже за пару месяцев, а иногда и быстрее.
Евгений Салтыков, руководитель проектов департамента корпоративных систем ЛАНИТ

Высшее образование является фундаментом для дальнейшего развития программиста. В вузе он получит навыки, которые помогут ему самообучаться в дальнейшем. Наличие высшего образования показывает умение достигать долгосрочных целей. А вкупе с дипломом именитого вуза это говорит о базовой дисциплине и умении работать в команде.
Мы не отдаем предпочтения выпускникам конкретных вузов, но складывается статистика в пользу МГТУ им. Баумана, МФТИ и МАИ (факультетов математики и информатики).
При отборе специалистов мы больше смотрим на опыт. Программисты нужны разные, каждый из кандидатов может найти свое место в команде. Но, прежде всего, программист – это человек с аналитическим системным мышлением, обладающий навыками алгоритмизации процессов и задач.
Что касается вопроса, где получить профильное образование, то я рекомендую вузы, указанные мной ранее, а также популярные у молодежи МИФИ, МИРЭА, МИСИС.
Андрей Коваленко, сооснователь и CTO Voximplant

Профильное образование, на мой взгляд, нужно. В вузах не учат программированию как таковому, а дают лишь базовые алгоритмы. Тем не менее высшее образование говорит о наличии у человека дисциплины и фундаментальной базы знаний для дальнейшего развития.
При приеме на работу этот пункт резюме не критичен, и мы можем взять хорошего специалиста без профильного образования. Однако в случае выбора между двумя кандидатами предпочтение будет отдано разработчику с дипломом.
Так куда пойти учиться? Есть топ технических вузов страны, тут я ничего нового не скажу. Это МГТУ имени Баумана, Университет связи, МИСиС, МАИ, МЭИ и МИФИ. Также к этому списку относят мехмат МГУ, хотя он больше заточен под фундаментальную науку.
На курсах зачастую дают очень поверхностные знания, и то, что человек прошел какой-то курс, не говорит о его профессионализме в этой области. Всегда нужно заниматься самообразованием.
Могу дать совет выбирать курсы с несколькими уровнями погружения в тему, чтобы получить максимальный объем знаний, не останавливаясь на базе. Однако ни одни курсы не имеют смысла без практического опыта. Я закончил технический вуз, и все знания, которыми я обладаю, получил в процессе работы. Все зависит от усилий самого разработчика.
Однако образование — это еще не все. Для программиста важна усидчивость и внимательность.
Конечно, программирование — это творческая профессия, но творческих задач в ней 15%, а остальное — типовые процессы, требующие аккуратного выполнения.
Также обязательна способность быстро усваивать новое: сейчас технологии появляются с такой скоростью, что книги устаревают еще до выхода в печать, поэтому умение быстро разбираться в новинках необходимо любому IT-специалисту.
Константин Ян, сооснователь, технический директор платежного сервиса CloudPayments

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

Не буду категорично утверждать, что без высшего образования никак нельзя устроиться программистом и успешно работать. Но все же закончить вуз крайне желательно, причем именно технический. Я рекомендую идти учиться в МГУ им. М. В. Ломоносова, МФТИ, Бауманку, НГУ, СПбГУ.
Есть, конечно, еще достойные вузы. Но это мой топ, и большинство наших сотрудников — из перечисленных вузов. Без такой базы сложно скреативить что-то новое. Высшее образование требует от четырех до шести лет обучения, и это более системный подход. Курсов такой продолжительности не бывает.
Никто же не подумает идти работать хирургом после двухмесячного курса? А в чем разница? И у хирурга, и у программиста цена ошибки может быть высока.
Программисты пишут не только игры или приложения для статистики тренировок, но и алгоритмы для управления системами курсовой устойчивости на машинах или теми же кардиостимуляторами. Поэтому одних курсов по программированию, на мой взгляд, недостаточно.
Но есть и другая ситуация. Представим, у нас есть разработчик с 10-летним опытом, но он не учился в техническом вузе. Возьму ли я его на работу? Да не вопрос!
Решение в пользу «брать» или «не брать» основывается на множестве параметров. Недостаточно просто прийти и принести диплом. Диплом — это не гарантия трудоустройства.
При отборе кандидатов, безусловно, мы смотрим на баланс hard-скиллов и soft-скиллов. При этом hard-скиллы можно прокачать, хоть это потребует времени и денег.
Если поразмышлять по этому поводу, то у программиста должен быть аналитический склад ума. Зачастую приходится принимать решения в условиях неполной информации, обобщать, делать допущения.
Обязательна любознательность и желание узнавать что-то новое в нашей постоянно меняющейся отрасли, изучать причинно-следственные связи.
Еще важно понимание, что программирование — это инструмент для решения пользовательских задач.
А вот с soft-скиллами сложнее, они практически не прокачиваются. Это работа в команде, эмпатия, коммуникация, способность слышать и давать обратную связь, ориентация на клиента, позитивное отношение к жизни. Эмоциональный интеллект должен присутствовать обязательно.
Сергей Шаров, CEO и сооснователь в ASOdesk.com

Мы с партнером по бизнесу закончили московский Физтех, факультет инноваций и высоких технологий. Кроме того, однозначно можем рекомендовать Университет ИТМО — кузницу победителей международных олимпиад, ВМК МГУ, НГУ, МГТУ им. Баумана, ВШЭ.
Для более детального изучения можно посмотреть мировые и локальные рейтинги, например, Times Higher Education по предмету «Computer Science» — особенно это актуально тем, кто ищет образование за рубежом.
Конкретные курсы я не смогу посоветовать, но, по мнению нашего CTO, все слишком зависит от направления и начального уровня программирования. Можно посмотреть то, что на слуху — Coursera, Code Academy, GeekBrains от Mail.ru и курсы от «Академии Яндекса».
Но, если честно, я не помню, когда в последний раз смотрел в чей-то диплом при трудоустройстве к нам в компанию. У нас, помимо отсева кандидатов по необходимому технологическому стеку, существует два этапа собеседования.
Первый — оценка уровня необходимых знаний и умений в формате короткого тестирования. Второй — оценка личных целей и качеств человека для работы именно в нашей команде.
Мы проверяем, насколько он заинтересован в долгосрочной работе, нацелен ли на результат, и смотрим на его уровень ответственности и самостоятельности. Нам важен непосредственный опыт соискателя, его качества и мотивация к развитию, нежели «корочка», где написано, что человек — возможно — умеет.
У нас в компании есть ребята на позициях middle back-end и middle front-end с бэкграундом бармена и аналитика в строительной компании. Они сами переквалифицировались в разработку и прошли необходимые курсы.
В то же время мы отказывали кандидатам с непонятными для нас целями — не было уверенности, что человек проработает на одном месте больше года. Опять же, диплом или пройденные курсы не были аргументами в таких ситуациях.
Анна Айрапетова, глава разработки p2b-платформы Penenza.ru

На мой взгляд, курсов недостаточно, но неоконченное техническое высшее (с третьего курса) подойдет. В моей команде был разработчик, у которого было техническое образование (техникум). Он был «владельцем» самостоятельного отчуждаемого модуля. Это, скорее, исключение из правил, но в то же время и показатель того, что важно не высшее образование, а технический склад ума.
Из вузов рекомендую МГТУ им. Баумана, МИФИ, МАИ. МГУ, как ни странно, не лучший в этом списке, по моему опыту. В целом, не имеет особого значения, какой вуз. Главное, чтобы он был техническим.
Есть, на мой взгляд, и актуальные направления. Одно из них — дата-сайентисты. Потому что искусственный интеллект все больше привлекается для решения повседневных задач в разработке. Поэтому сейчас это самые секси-специалисты на IT-рынке.
У меня есть, помимо образования, и общие рекомендации ко всем разработчикам.
33% успеха — это профессиональные навыки, то есть знание технологий и языков программирования. Сейчас очень многие смотрят в сторону open source-технологий, поэтому востребованы специалисты, пишущие на Python, GoLang, Java и имеющие опыт работы с базами данных Postgres, MongoDB, Redis, интерфейсами обмена данными KAFKA.
Вторая треть — личностные качества. Дотошность, ответственность, вдумчивость, креативность, любознательность и интерес к новым технологиям. И да, коммуникабельность тоже важна, хотя и принято считать, что все разработчики интроверты.
Евгений Кот, Frontend Team Lead, Wrike

Если говорить про Санкт-Петербург, то сильными вузами считаются ИТМО, Политех, ЛЭТИ. Про курсы сказать труднее, их сейчас немало. Что касается фронтенд и экспертных сообществ, рекомендую сходить на несколько локальных митапов.
Там можно познакомиться с экспертами и научиться многим вещам. Например, NodeSchool, PiterJS, PiterCSS, Spb-Frontend, а также наши регулярные митапы Wrike Tech Club.
Но есть две стороны монеты: с одной стороны, образование как «корочка» без практических знаний абсолютно бесполезно. Кандидат, который ничему не научился ни в вузе, ни на курсах, вряд ли сможет принести пользу команде и компании. Но, безусловно, можно быть программистом и без какого-либо образования.
Главное, чтобы было желание, причем достаточно сильное. Программирование — это не та специальность, которую можно освоить за неделю-другую.
Однако в интернете представлены огромные базы материалов по всем предметам (например, та же Coursera) и зачастую их можно найти бесплатно. И вместо того чтобы тратить пять лет на изучение не совсем профильных предметов (я с ужасом вспоминаю философию и ОБЖ), можно концентрированно получать именно те знания, которые точно пригодятся на практике.
Во Wrike мы, прежде всего, смотрим на навыки и самого кандидата, а не на то, что именно он закончил.
Давно уже не существует такого понятия, как просто «айтишники», которые умели бы делать все на свете. Они остались вместе со свитерами, дискетами и ZX-Spectrum где-то в далеком прошлом.
Сейчас есть разные типы программистов, которые делятся по направлению деятельности. Есть бэкенд, есть фронтенд. Есть мобильная разработка, но есть и те, кто работает с железяками. Везде разные требования.
Если у фронтенда идет упор на визуальную составляющую (User Experience), то, например, у бэкенд-разработчика задачи лежат совершенно в другой плоскости. Но если попробовать составить портрет среднего программиста, то он обладет этими качествами:
- Способность быстро усваивать информацию и развиваться профессионально. В нашей отрасли нельзя один раз что-то запомнить и потом пользоваться полученными знаниями до скончания века. Моргнешь, и все. То, что ты когда-то знал и умел, уже становится неактуально.
- Способность строить сложные системы и просчитывать последствия решений на много шагов вперед. Это как со строительством дома: если фундамент плохой, то чердак не устоит. Но в отличие от дома программисту приходится учитывать тот факт, что заказчик может захотеть маленький гараж, причем в сжатые сроки. А потом передумать и решить, что все же хочет шикарный особняк. Если ты делаешь какой-то программный продукт, то приходится просчитывать план действий на месяц, полгода и год вперед.
- Усидчивость. Для того чтобы усвоить много информации или придумать что-то непростое, приходится подолгу сидеть на одном месте и медитировать над клавиатурой и монитором. Я бы вообще сказал, что программисту полезно уметь мечтать. Как писатель думает: «На герое была коричневая потертая шляпа», а затем рождается целая история. Программист из одного предложения бизнеса должен развернуть целый мир. Хотя порой все сводится к шляпе.
- Интерес к своему делу. Профессия у нас творческая, из-под палки много не накодишь. Ну, то есть можно, конечно, но разве это жизнь.
- Позитивное отношение. Это совет не только к программистам, но к профессии в целом. О нас ходят разные легенды, что программисты, мол, асоциальны и угрюмы. Это не так, будьте веселее!
Артем Кротов, cтарший архитектор приложений в «Райффайзенбанке»

Для того чтобы стать программистом начального уровня, оканчивать вуз необязательно — достаточно выучить один или несколько языков программирования.
На рынке много игроков в области IT-образования, можно подобрать вариант под свои нужды и бюджет: онлайн-обучение, чтение профильной литературы, очные курсы, открытые митапы.
Большое количество базовых курсов можно найти на «ИНТУИТ», Coursera, GeekBrains, курсы разного уровня есть в HackerU, которые предлагают также последующее трудоустройство.
Однако тем, кто хочет стать по-настоящему первоклассным инженером, отсутствие базы — высшего технического образования — как раз может помешать. Конечно, вузовские программы подготовки инженеров не нацелены на получение передовых знаний и опыта в разработке ПО, но от академического образования этого и не требуется.
Его цель – дать фундаментальные знания и научить быстро анализировать большие объемы информации. Это расширяет кругозор и помогает смотреть на задачи комплексно, видеть проблемы в разных плоскостях.
Важно понимать, что диплом выпускника не гарантирует успех.
При поиске наших будущих коллег мы в первую очередь ценим не «корочки», а непосредственно накопленный опыт, выполненные проекты и желание применить имеющиеся знания для развития в новых областях.
Здесь, кроме профессиональных характеристик, обретают важность так называемые soft-skills: общительность, презентационные навыки, эмпатия. Сегодня программист не работает в одиночку — в компаниях разработка обычно ведется в командах, и результат во многом зависит от слаженности их работы.
Поэтому кроме «типичных» для инженера навыков, таких как аналитическое и системное мышление, усидчивость, программисту в 2019-м еще требуются хорошие коммуникативные навыки.
Они также пригодятся для обмена опытом на митапах или конференциях и для обсуждения сценариев использования ПО с пользователями.
Чаще всего разработчики ПО обладают чертами интроверта, и это им помогает сконцентрироваться на решении сложных задач. Но это же мешает устанавливать новые профессиональные контакты и проявлять активность в сообществах. Студенту преодолеть этот барьер поможет участие в различных мероприятиях в качестве волонтера или организатора.
Инга Герасименко, HR-директор «БАРС Груп»

Одной из самых востребованных на сегодняшний день является профессия программиста. Нехватка специалистов в этой области настолько высока, что даже человек, не обладающий достаточным опытом работы, может легко найти себе место.
Мы не всегда набираем программистов именно с высшим образованием. Основная причина в том, что сейчас в вузах на факультетах программирования образование практически ничего не дает. Оно предлагает лишь базу и понимание того, как это вообще работает.
Но это не повод не идти в вуз. В Казани можно пойти учиться в КФУ, КХТИ хорошо готовит аналитиков, программистов — слабовато, но тем не менее. И еще не стоит упускать из внимания Техникум связи. Отличное заведение, для того чтобы прокачаться в современных языках программирования.
Считается, что если ты неработающий студент второго курса, то, скорее всего, будешь невостребованным к выпуску.
Поэтому, в любом случае, нужно подрабатывать, начиная со второго курса. Можно устроиться на полставки или работать стажером. Это обеспечит хороший бэкграунд к выпуску. Кроме того, необходимо развиваться самостоятельно. Есть хорошие онлайн-курсы, например: JavaRush, Otus, Ulearn.me, «ИНТУИТ», Microsoft Virtual Academy.
Пройдя их, можно получить знания в современных языковых программах, но это снова будет база. Желательно искать именно практическое применение: выполнять задачи на freelance-сайтах, а также работать с модулями.
Как ни странно, важно хорошо знать выбранный язык и начинать расширять свою базу по другим языкам.
Допустим, если это back-язык программирования, то к нему обязательно нужно изучать JavaScript. Кроме того, необходимо знать базы данных, иметь навыки в аналитике.
Кстати, не стоит пренебрежительно относиться к стажировкам в вузе. Мы с удовольствием набираем стажеров, давая возможность поработать на серьезных проектах и получить бесценный опыт.
Юрий Минкин, руководитель департамента разработки беспилотных транспортных средств Cognitive Technologies

Диплом о высшем образовании сегодня все еще важен. И чем более значим университет, который окончил тот или иной кандидат на программистскую должность, тем выше его шансы при прочих равных условиях. Скорее, отсутствие диплома будет для нас определенным индикатором.
Конечно, есть самородки, не имеющие высшего образования, которые прекрасно владеют навыками своей профессии. Но в Cognitive Technologies не было опыта, чтобы такие ребята стали team leaders, руководителями или архитекторами проекта.
Как правило, это люди, развитые довольно однобоко, у которых нет комплексного подхода к решению задач и системного мышления. Такому человеку нужно крайне ярко блеснуть на собеседовании, чтобы на него обратили внимание.
Я убежден, что для работы на позиции программиста необходима хорошая математическая подготовка и наличие фундаментальных знаний в области естественных наук, ИТ.
Знание английского приветствуется, как и знание других европейских и азиатских языков.
Мы тесно работаем с китайскими и японскими компаниями. Знание этих языков существенно повышает шансы кандидата, особенно если он претендует на позиции, подразумевающие общение с заказчиком.
Как показывает практика, в наибольшей степени наши ожидания как работодателя, оправдывают выпускники МГУ, МФТИ, НИТУ МИСиС, МИФИ, Бауманки, а также ИТМО и СПбТУ.
Материалы по теме:
Фото на обложке: Unsplash

