Куда нужно поступать чтобы стать программистом
Перейти к содержимому

Куда нужно поступать чтобы стать программистом

  • автор:

Профессия программист

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

Говорят, что в мире есть 10 видов людей. Те, кто понимает двоичный код… и те, кто не понимает.
Юмор программистов

Программирование зародилось в XIX веке, и до середины XX века, когда случился бурный рост информационных технологий, создание программ для машины было сродни искусству. Программирование было уделом избранных. Сегодня же профессия программиста распространена и очень востребована. В 2017 году в мире насчитывалось 18.2 млн разработчиков программного обеспечения, из них 1.3 млн — в России.
Давайте посмотрим, какое будущее у профессии программиста. И что ему угрожает.

Описание профессии

Программист – это специалист, создающий исходный код для программы. Такой программой может быть операционная система компьютера, видеоигра, web или мобильное приложение и даже алгоритм работы микроволновки. Программный код пишется на специальном языке программирования. Он состоит из обычных слов и некоторых специальных символов. Сегодня насчитывается несколько сотен языков программирования, но самые распространенные из них – Java, Python, PHP, C#, JavaScript, C, С++, Objective-C, Swift. Какой язык программирования выбрать, программист решает сам в зависимости от конкретной задачи (сделать игру, приложение для web или программу для сервера) и собственных знаний. Квалифицированный программист уверенно использует 2-4 языка.

Специализация программистов

Если вы думаете, что программист = компьютерщик, то это далеко не так. Самое удивительное, что программист не обязательно работает на компьютере. Он может писать код программы хоть на салфетке, а компьютер ему нужен, чтобы применить этот код и протестировать.
Не стоит также приравнивать программиста к «айтишнику». Под общим названием «IT-специалист» скрывается более 50 разных профессий и должностей. Например, UIX-дизайнер (разработчик интерфейсов), account-менеджер (специалист техподдержки), системный администратор, devops («инженер по автоматизации IT-процессов»), менеджер IT-проекта – это «айтишники», но не программисты. Однако стоит помнить, что в любую из IT-профессий можно попасть через образование программиста.

По специализации программисты делятся на системных, прикладных и веб-программистов. Прикладные программисты занимаются написанием различных программ и приложений: игры (например, популярная игра Angry birds), офисные приложения (например, Microsoft Office Word) и многое другое. Системные программисты занимаются созданием операционных систем (например, Android или iOS). Веб-программисты разрабатывают интернет-сайты и программы, которые поддерживают работу этих сайтов.
На сайтах вакансий вы найдете разделение программистов по тем языкам, с которыми они работают: программист C++, программист Delphi, PHP-программист. А также по типам задач, которые они выполняют: программист баз данных, фронтенд / бекенд разработчик, мобильный / десктоп разработчик, программист 1С, программист Битрикс, геймдев, архитектор ПО, системный инженер и т.д.

Плюсы и минусы профессии программиста

Профессия программиста очень притягательна для современных абитуриентов. В 2018 году в технических вузах самый большой конкурс пришелся на специальности «Прикладная математика», «Информатика и вычислительная техника», «Электроника и наноэлектроника». В 2023 году проходные баллы по ЕГЭ на эти специальности обещают только вырасти. Что так привлекает молодых в программировании?

Плюсы профессии программист:

Высокая зарплата. Средняя зарплата высококвалифицированного программиста 70-100 тыс. рублей.
Востребованность. Рынок труда для программистов растет за счет цифровизации всех сфер общественной жизни. Онлайн-образование, телемедицина, интернет вещей (IoT), даже сельское хозяйство не обходится теперь без IT-специалистов.
Интересные задачи и простор для творчества. Что делает программист на работе? Пишет код, тестирует, проверяет на уязвимости, переписывает код. Тем не менее, конечный результат кодирования – это рабочая программа с разными целями. Одни программисты создают игры. Другие программируют роботов. Третьи делают полезное приложение под Android. Четвертые создают агрегатор, который соберет все билеты мировых авиакомпаний в один сервис для бронирования авиабилетов. Разнообразно, не правда ли? А когда продукт начинает исправно работать, программист испытывает радость, как персонаж папа Карло, который из деревянного полена выстругал живого мальчика.
Возможность удаленной работы и свободный график. Программисты – это каста людей, к которым не применяют строгих офисных правил. Для поддержания креативности и работоспособности им разрешают работать из дома, приходить позже на работу. И, если вы еще не знаете, лучшие офисы принадлежат именно IT-компаниям. Загляните в Google, Microsoft, Яндекс и Mail.Ru.
Карьерный рост в России и за рубежом. Для программирования нет географических границ. Во-первых, многие российский специалисты работают удаленно в иностранных проектах. Во-вторых, переехать в «Силиконовую» долину (более точно ее называть «Кремниевой») для IT-профессионала с отличным знанием английского гораздо проще, чем, например, бухгалтеру, юристу или инженеру-строителю, которым придется изучать специфику профессии в конкретной стране.

Минусы:

Сидячий образ жизни. Без физических нагрузок в нерабочее время программист рискует большую часть зарплаты тратить на врачей. Особенно страдают зрение и опорно-двигательный аппарат.
Быстрое устаревание знаний. Программисту необходимо постоянно учиться. Программирование развивается стремительно, поэтому программист обязательно должен читать профильные журналы и интернет-ресурсы, получать новые знания и сертификаты на курсах. Иначе его ценность как специалиста на рынке труда упадет.

Где учиться

Чтобы стать программистом, можно пойти тремя путями:
1. После 11 класса в вуз по направлению 09.00.00 «Информатика и вычислительная техника» или 10.00.00 «Информационная безопасность».
2. После 9 класса в колледж на эти же направления, а потом пойти или не пойти в вуз.
3. Учиться на курсах программирования и самому.

IT-сфера отличается молодостью и современным подходом к образованию. При трудоустройстве ценится не столько диплом, сколько те навыки (hard skills), которые у будущего сотрудника в багаже. Работодатель даст тестовое задание по программированию и по его результатам примет или не примет соискателя на работу. Именно поэтому приобретать знания и опыт в информационных технологиях можно и дома с помощью книг, online-курсов и создания небольших программ. Какой вариант образования лучше, решает каждый сам. Главный вопрос, который должен задать себе программист – «Достаточно ли я усидчивый и целеустремленный человек, чтобы выучиться и потом конкурировать с теми, кто пришел из вуза?».

В каких вузах и колледжах учиться на программиста
Для поступления в вуз необходимо успешно сдать ЕГЭ по математике, русскому языку, информатике и ИКТ, физике, английскому языку (4 из 5 экзаменов в зависимости от специализации). В Москве получить образование программиста можно во многих учебных организациях.
Полный список вузов, колледжей и техникумов смотрите здесь >>

Где работать

• Компании-разработчики (сервисы Booking.com, Mail.ru, Yandex, Unisender)
• IT-отделы и отделы digital-маркетинга организаций (Сбербанк России, Газпром, Тинькофф банк)
• Системные интеграторы (Крок, Softline, Техносерв, Ланит, Ай-Теко)

Карьерные возможности

Из-за бурного роста сферы IT и дефицита разработчиков ПО, работать программистом можно начать еще в институте. Со 2-3 курса можно устроиться junior-разработчиком и начинать движение по карьерной лестнице. И при этом получать достойную для студента зарплату в 30-50 тысяч рублей.

Сами программисты оценивают длительность каждой ступени следующим образом:
• Первые полгода-полтора года реального опыта вы junior
• При активном обучении следующие 1-3 года работы вы middle
• А программист с опытом работы 4-6 лет – это senior

Но, конечно, стоит помнить, что границы условны, и более активный и любознательный разработчик сможет освоить все навыки senior-developer за 3 года.

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

Оплата труда (диапазон зарплат)

Зарплата программиста напрямую зависит от специализации и квалификации. Наименее оплачиваемые должности – это junior-разработчики, которые только учатся. А наиболее оплачиваемые на рынке труда – архитекторы ПО и системные инженеры, на которых лежит ответственность за продукт или проект в целом. Поэтому диапазон зарплат программистов может быть очень широким:

    30 000 – 260 000 рублей

Сейчас отрасль IT в целом и программирование в частности находятся на пике востребованности. Компании конкурируют за квалифицированных специалистов. В перспективе ближайших 5 лет программистов ждет благополучная жизнь и высокие зарплаты, потому что молодых кадров станет немного меньше. Придет период демографической ямы из-за низкой рождаемости в начале 90-х гг.
Но рынок IT ждет несколько опасностей. Во-первых, обучение программированию сейчас начинается уже практически с детского сада. Самые известные обучающие языки — это Scratch от MIT и Blockly от Google. Вероятно, навык программирования будет настолько же распространен, как знание английского языка, то есть будет входить в «джентльменский набор» при приеме на работу. А если им владеет почти каждый, то и ценность работы снижается.
Во-вторых, IT-образование сейчас дает почти каждый колледж и вуз. После дефицита рынок может «насытиться» профессиональными программистами, и их зарплаты упадут.
В-третьих, есть страны, в частности Индия, где IT-образование развивается еще быстрее. И в определенный момент услуги программирования насытят мировой рынок, как сейчас произошло с товарами, произведенными в Китае. С индийскими программистами трудно будет конкурировать в цене.

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

Какие компетенции и личные качества необходимы программисту

Наверняка, вы сходу назовете 3 качества, которые отличают программиста:
✎ логическое мышление
✎ математические способности
✎ усидчивость

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

Человек, который умеет придумывать новые идеи и хорошо взаимодействовать в коллективе таких же разработчиков, сможет попасть в самые интересные и передовые IT-проекты или открыть свой.

Что делать уже сейчас

    ✔ Углубленно изучать математику, информатику, русский и английский язык в школе.
    ✔ Программировать и создавать веб-сайты, небольшие редакторы и полезные утилиты.
    ✔ Читать новости из сферы IT: на порталах cnews.ru, habrahabr.ru, computerworld.ru, hightech.fm и github.com.
    ✔ Заниматься в кружках по программированию и школах юного программиста.
    ✔ Посетить iСмену лагеря «Профессионалы будущего», чтобы пообщаться с настоящими IT-специалистами и узнать больше о современных технологиях.

Автор: Ольга Биккулова, ЦТР «Гуманитарные технологии»

Если вы хотите получать свежие статьи о профессиях, подпишитесь на нашу рассылку.

Профессия — Программист

Стоит ли становится программистом? Как им стать и где получать образование? Какие бывают специализации?

Читайте далее

Образование в сфере IT Образование в сфере IT за рубежом. Главное про лучшие IT-университеты, цены, стипендии

Стипендии для IT-специалистов Мы собрали для вас список актуальных стипендий для студентов (и отдельно — для студенток) IT

Бакалавр компьютерных наук Bachelor of Computer Science — требования для поступления, основные предметы и карьерные перспективы

Профессия — Программист Стоит ли становится программистом? Как им стать и где получать образование?

Кто такой программист

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

В обязанности программиста обычно входят: написание программ и приложений на различных компьютерных языках (таких как C++ и Java), создание и совершенствование операционных систем (iOS, Android), разработка веб-сайтов, обновление и расширение существующих программ, проверка программ на наличие ошибок и исправление неисправных строк компьютерного кода, создание и тестирование кода в интегрированной среде разработки (IDE), техническое обслуживание, сетевая архитектура.

При поиске работы можно встретить вакансии по языкам, с которыми работают программисты (программист С++, программист Java PHP-программист), по типам задач (программист 1С, web-программист, front-end / back-end разработчик) и по уровню (intern, junior, medium, senior).

Зарплата программиста в России и за рубежом

Страна/ регион Мин. зарплата /год Ср.зарплата/год Front-end разработчик Разработчик игр Программный инженер
Москва 5 097 USD 7 709 USD 11 902 USD 8 327 USD 5 746 USD
Регионы РФ 3 823 USD 7 205 USD 10 194 USD 7 645 USD 5 097 USD
США 70 500 USD 86 800 USD 76 000 USD 86 200 USD 82 000 USD
Великобритания 38 179 USD 82 903 USD 69 813 USD 80 115 USD 74 540 USD
Австралия 31 061 USD 43 105 USD 49 888 USD 50 712 USD 51 980 USD
Канада 38 945 USD 84 381 USD 69 236 USD 77 890 USD 76 448 USD
Германия 36 000 USD 44 261 USD 39 930 USD 39 930 USD 39 296 USD
Франция 38 979 USD 48 908 USD 42 254 USD 45 951 USD 45 951 USD
Чехия 119 852 USD 301 277 USD 27 725 USD 30 657 USD 29 063 USD
Китай 23 892 USD 33 527 USD 40 855 USD 42 697 USD 42 697 USD
Сингапур 32 061 USD 69 642 USD 57 290 USD 64 649 USD 63 072 USD

Данные, указанные в таблице, приблизительны.

Высокооплачиваемые специальности в программировании

Программисты уже давно занимают первые строчки в списке самых востребованных и высокооплачиваемых направлений [1] . Среди них отмечают профессии Python-разработчика, аналитика данных, Java-разработчика, инженера по тестированию и других [2] .

Получить программистское образование можно в университете, но на онлайн-курсах освоить профессию можно быстрее — примерно за 8-12 месяцев, занимаясь всего по 10 часов в неделю.

Важно выбрать лицензированный онлайн-университет. Один из лучших в России — Skypro. Там по окончании курса вы получите диплом о профессиональной переподготовке государственного образца. Также в Skypro:

  • подбирают преподавателей, которые сами добились многого — среди них представители СберМаркета, Авито, МТС, Rambler Group, JetBrains, Skyeng и других компаний;
  • дают востребованные навыки: написание кода, работа с базами данных, тестирование сайтов;
  • помогают собрать портфолио: у вас будет от четырех до восьми проектов после выпуска;
  • гарантируют трудоустройство за 4 месяца с зарплатой от 50 000 RUB ;
  • всегда остаются на связи — любой вопрос решится за 15 минут, а отзыв по домашней работе вы получите за сутки.

Стоимость курсов начинается от 116 028 RUB . Список направлений по программированию в Skypro:

  • Python-разработчик;
  • Java-разработчик;
  • аналитик данных;
  • инженер по тестированию;
  • веб-разработчик.

Если вы не знаете, какой курс выбрать — обратитесь за бесплатной карьерной консультацией. Оставляйте заявку на сайте университета Skypro — специалисты подберут ту профессию, которая отвечает вашим целям.

Исполни мечту. Освоить легко, даже если не в курсе про IT

Преимущества профессии программиста

  • Творческое пространство и ощутимые результаты. Умение писать код открывает безграничное поле для фантазии. Программисты создают приложения и программы, автоматизируют различные задачи. Они упрощают и ускоряют процессы для пользователей, решают практически любые проблемы и впоследствии облегчают жизнь людям. Программист создает что-то своё, тем самым помогая другим.
  • Удаленная работа. Поскольку для работы программистом необходим только компьютер, программист обычно не привязан к определенному местоположению. Интернет связывает его с другими пользователями, а облако хранит базы данных. Однако стоит отметить, что удаленная работа подходит не всем работникам и работодателям.
  • Постоянное развитие. Технологии меняются стремительно. IT тоже не стоит на месте, например появляются новые языки программирования. Для IT-специалистов существует большой выбор курсов и программ, посвященных определенным темам и новшествам или повышению квалификации. Тем не менее, у этого преимущества есть и обратная сторона. Программисты вынуждены каждый день учить что-то новое и идти в ногу со временем, иначе есть риск стать невостребованным специалистом с устаревшими знаниями.
  • Оплата труда. Программисты востребованы во множестве стран [3] , а следовательно их труд высоко оплачивается. Например, начальный уровень зарплаты в регионах России составляет 319 USD /мес., в Москве — 425 USD /мес., в США — 5 875 USD /мес.

Недостатки профессии программиста

  • Влияние на здоровье. Программисты целы й день работают в помещении за компьютером. Многие часы подряд они стучат по клавишам клавиатуры, щелкают кнопками мыши и смотрят в экран. Такая сидячая работа может привести к мышечно-скелетным болям, перенапряжению глаз и впоследствии к другим хроническим заболеваниям. Эргономичное кресло, подушки для запястий и регулярные физические упражнения в течение дня помогут смягчить некоторые негативные последствия для здоровья, но компенсировать все риски, связанные с сидячей работой, довольно трудно.
  • Утомительная работа. Программисты постоянно занимаются умственной работой, а в свободное время вынуждены изучать новый материал. Также зачастую IT-специалисты много перерабатывают. Появилось даже понятие «марш смерти» , созданное инженером-программистом Эдвард Йордон. Термин означает слишком сложный проект, обреченный на провал, или удвоение стандартных часов для его окончания. Например, 40-часовая неделя превращается в 80-часовую. Такая нагрузка длится неделями или даже месяцами, что не может не отразиться на личной жизни программиста.
  • Высокая конкуренция. Со всеми преимуществами работы, а именно высокими зарплатами и востребованностью, заполучить её стремятся многие. Еще более жесткой конкуренцию на рынке труда делают удаленный формат работы и глобализованный мир. Программисты из развивающихся стран работают не хуже, иногда даже лучше местных специалистов, а их труд, к тому же, стоит дешевле, что привлекает многих работодателей.

Нужна помощь в поступлении?

IT специализации

Специализаций в IT существует огромное множество. Выбирать направление следует из своих интересов, так как каждая специализация имеет свои особенности. Например, если вам нравится прикладное конструирование, то для изучения подойдет робототехника, если же вычислительные задачи, то — фундаментальная информатика. Популярными направлениями в вузах являются Computer Science или прикладная информатика, программная инженерия. Компьютерные науки — общая и разносторонняя отрасль изучения, которая имеет различные ответвления (искусственный интеллект, компьютерные системы и сети, безопасность). Набирает обороты такая специализация, как Data Science, подразумевающая работу со статистикой и математикой [4] .

В качестве перспективных направлений на будущее можно выделить компьютерную безопасность и искусственный интеллект.

  • Кибербезопасность. С внедрением использования технологий во всех сферах жизнедеятельности человека: от покупки продуктов до управления государством, появляется все больше хакеров и кибертеррористов. Они вредят как отдельным людям, так и правительственным учреждениям и крупным компаниям. Поэтому в современном мире защита данных — не роскошь, а жизненная необходимость. Чтобы защититься от кибератак и нарушений безопасности, ведущие организации готовы платить большие деньги за кибераналитиков. По прогнозам Бюро статистики труда США, число рабочих мест в сфере кибербезопасности вырастет на 28% с 2016 по 2026 год — намного быстрее, чем в среднем по всем остальным профессиям.
  • Искусственный интеллект (AI) — одна из самых противоречивых и интригующих областей в компьютерных науках. AI все еще находится на ранней стадии развития, но такие технологические гиганты, как Google и IBM, уже вкладывают огромные суммы денег и ресурсов в исследования. Предположительно мировая индустрия робототехники будет стоить 80 млрд USD к 2024 году [5] . Область изучения многообещающая и может полностью изменить мир. Однако искусственный интеллект имеет как преимущества, так и потенциальные риски. К примеру, AI может оптимизировать задачи и уменьшить количество человеческих ошибок, но при этом привести к ненадобности человеческого труда, а следовательно к исчезновению рабочих мест.

Как стать программистом

Чтобы стать программистом, образование необязательно, тем более что сфера IT развивается со скоростью света и традиционные вузы и колледжи не успевают за новшествами науки. Однако опытные специалисты все равно настаивают на получении высшего или хотя бы среднего специального образования. Чтобы самостоятельно освоить сферу IT, потребуется гораздо больше времени и усилий, чем в вузе, где уже есть наработанный учебный план, система обучения, стимулы в виде оценок и наставники, знающие свой предмет. Если же все-таки ваш выбор — самостоятельное обучение, то необходимо запастись терпением и упорством. Важно читать профессиональную литературу, посещать курсы и много практиковаться. Однако надеяться на высокие инженерные и исследовательские должности не стоит — для них необходимо высшее образование. После школы или колледжа вполне реально начать с позиции простого разработчика, развиваться и впоследствии стать хорошим специалистом.

Среднее специальное образование программиста

Обучение в колледжах имеет следующие преимущества:

  • Можно поступить после 9 класса и не сдавать ЕГЭ;
  • Учеба, как правило, короче (3-4 года) и дешевле , чем в вузах.

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

Учебные заведения в зарубежных странах также предлагают специальное образование для будущих программистов. Например, в муниципальных колледжах США есть программы по компьютерным наукам, управлению данных и т. д., а также короткие курсы. После окончания колледжа в США можно поступить в университет на бакалавриат или начать работать. Колледжи TAFE в Австралии реализуют множество различных программ по информационным технологиям. Например, по разработке веб-сайтов / программного обеспечения, цифровым медиа-технологиям, веб-технологиям, информационным технологиям сетей, программированию. Как правило, квалификации после колледжей — сертификат и степень ассоциата. Аналогичные программы можно найти в профессиональных училищах и институтах Германии и Франции.

Высшее образование программиста

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

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

Требования для поступления на IT

Поступление в вузы разнится в зависимости от страны и программы. Обычно требуются:

  • Диплом о среднем образовании / бакалавра / магистра (для некоторых вузов есть отдельные требования к оценкам по определенным предметам);
  • В России:
    • Результаты ЕГЭ по математике, информатике и русскому языку. Каждый вуз самостоятельно устанавливает пороговые баллы для этих предметов;
    • Вступительное испытание.
    • Результаты вступительных экзаменов (например, SAT / ACT, GRE / GMAT в США , ECUS в Швейцарию)
    • Сертификат о знании английского языка (TOEFL или IELTS);
    • Мотивационное письмо;
    • Рекомендательные письма;

    Лучшие вузы в IT России

    Университет Стоимость в год
    51-100 Московский государственный университет имени М. В. Ломоносова 4 152 USD
    101-150 Санкт-Петербургский национальный исследовательский университет информационных технологий 2 400 USD
    101-150 Санкт-Петербургский государственный университет 2 959 USD
    151-200 Московский физико-технический институт 2 867 USD
    151-200 Высшая школа экономики 4 141 USD

    IT программы лучших зарубежных вузов 2022

    Университет Бакалавриат / год Страна
    1 Massachusetts Institute of Technology (MIT) 55 450 USD США
    2 Stanford University 73 964 USD США
    3 Carnegie Mellon University 50 976 USD США
    4 University of California, Berkeley 14 254 USD США
    5 University of Oxford 30000 GBP Великобритания
    6 University of Cambridge 40 997 USD Великобритания
    7 Harvard University 49 653 USD США
    8 Swiss Federal Institute of Technology of Lausanne (EPFL) 1 729 USD Швейцария
    9 Swiss Federal Institute of Technology (ETHZ) 1 463 USD Швейцария
    10 University of Toronto 41 123 USD Канада

    Все данные необходимо уточнять в вузах.

    Какие качества нужны программисту?

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

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

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

    Главный совет: начать писать коды и практиковаться как можно раньше, чтобы понять, подходит профессия вам или нет.

    Мы поможем поступить

    Где работают программисты

    Программисты могут работать в любой индустрии, где используются приложения, программы, сайты, работа в интернете. Многие стремятся попасть в крупные технологические компании, например в Google, Apple, Samsung, Yandex, Amazon, Microsoft.

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

    Существует возможность, что в будущем квантовые компьютеры заменят нынешние — бинарные. Если бинарные оперируют битами, то квантовые — кубитами. Они намного мощнее и комплекснее, чем привычные обывателю ПК. Возможности квантового компьютера могут открыть совершенно новые области для изучения. Однако пока такие компьютеры находятся только на ранней стадии развития и не имеют устоявшихся языков программирования [6] .

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

    Известные программисты

    Сатоши Накамото — загадочная фигура в мире программирования. До сих пор неизвестно, кто скрывался под этим именем: человек или группа людей. Известно только, что Накамото написал «Белую книгу» биткойна и создал первую базу данных блокчейна. Накамото также первым решил проблему двойного расходования (двойной траты) цифровой валюты с помощью одноранговой сети . Таинственный программист активно занимался разработкой биткоина до середины 2010 года, но более не участвует в работе.

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

    Ада Лавлейс — английский математик и первый в мире компьютерный программист. Дочь известного поэта Байрона родилась в 1815 году в Лондоне. Лавлейс создала описание вычислительной машины и написала первую в мире программу. «Мать всех программистов» ввела такие термины, как «цикл» и «рабочая ячейка». Она на много лет опередила свое время и оказала огромное влияние на историю компьютеров.

    Эвелин Бойд Грэнвилл — вторая афроамериканка, получившая степень доктора математики в Американском университете. Позже она также получила PhD в Йельском университете в 1949 году. Грэнвилл начала карьеру с преподавательской должности в Fisk University, а затем присоединилась к американским лабораториям космической техники, где помогала в космических миссиях США, изучая траектории ракет и вычисления орбит. Работая в IBM, Эвелин Бойд Грэнвилл разработала программное обеспечение, анализирующее спутниковые орбиты для космических программ NASA. В 1967 году она вернулась к преподаванию и продолжала отстаивать интересы женского образования в области технологий в течение оставшихся 30 лет своей карьеры.

    Куда нужно поступать чтобы стать программистом

    Карьеру программиста можно начать и без высшего образования, но есть нюансы. В сфере разработки уже давно появилось «классовое деление»: есть крутые «программисты-ученые» и «программисты-инженеры», а также рядовые «программисты-работяги».

    Здесь уже все как на обычных производствах: высокие инженерные или исследовательские должности без высшего образования недостижимы. А начать карьеру простого разработчика (и в процессе «дорасти» до сильного спеца) можно сразу после школы или колледжа.

    Начать карьеру программиста можно в веб-разработке. Достаточно полгода поучиться на онлайн-курсах, чтобы получить нужные навыки. Да, зарплата вначале будет низкой, но в течение нескольких лет она вырастет до 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

    Куда пойти учиться на программиста

    Школьники уже, кажется, сдали ЕГЭ и вот-вот отправятся подавать документы в ВУЗы. Программирование и IT-технологии пользуются стабильным спросом, примерно как юридические и экономические специальности 10 лет назад.

    В этой статье я расскажу как работает высшее образование для IT, как правильно выбрать IT-специальность.
    Статья будет полезна не только абитурентам-2015, но и школьникам старших классов, которые уже решили связать свою жизнь с IT.

    Нужно ли поступать в ВУЗ, чтобы стать программистом?

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

    Вы можете читать книги, участвовать в OpenSource-коммьюнити, подрабатывать на oDesk и через несколько лет будете опытным разработчиком, без высшего образования. Правда, ничто не мешает это всё делать параллельно учёбе в ВУЗе, кроме собственной лени.
    Вы можете поступить, сдавать зачёты и экзамены, получить диплом и не стать в итоге профессиональным программистом — таких историй миллионы.

    Хороший ВУЗ даёт прежде всего отличные условия для того, чтобы получать знания, опыт, связи и вырасти как личность. И только от вас зависит, как вы будете их использовать (и будете ли вообще).
    Примем условно, что вы уже приняли решение получить высшее образование в сфере IT, и пойдём дальше.

    Бакалавр, специалист и магистр

    С тех пор как министерство образование решило интегрировать Россию в болонскую систему высшего образования прошли годы и многое изменилось. Раньше все ИТ-шники могли получить только диплом специалиста. В этом году выпустились последние дипломированные специалисты (за исключением специальностей, где срок обучения более 5 лет).
    Сейчас вы можете стать бакалавром, после этого — магистром, а далее поступать в аспирантуру для соискания российского аналога Ph.D.

    Что изменилось на самом деле?
    В старых учебных планах для «специалистов» урезали количество часов на один год, при этом самые сложные дисциплины были либо удалены, либо сокращены. Многие академические темы из области алгебры, теории вероятности, физики останутся для бакалавра неосвещёнными преподавателем. В ряде специальностей, где программирование является вспомогательной компетенцией (например, информационная безопасность), под нож попали различные технологии программирования — от web-разработки до параллельного программирования.

    В остальном ни теоретический материал, ни методика преподавания не изменились. Сократился объем материала. Если в каком-то ВУЗе раньше давали лабораторные для Pascal, то по-прежнему их и дают.
    При этом учебные планы магистратуры могут похвастать новизной. Об этом можно написать отдельно, если будет спрос.

    Нужно учитывать, что бакалавр — это не готовый сотрудник, который может прийти к работодателю с красным дипломом и просить среднюю зарплату по больнице. Бакалавр что-то знает, что-то умеет из технологий, но как правило не умеет работать в команде, большом коллективе и полностью самостоятельно решать конкретные практические задачи. В терминологии разработчиков это Junior, подающий надежды через 2-4 года стать Middle Developer. Во многих компаниях таким выпускникам без опыта устраивают стажёрские программы с наставником на 6-12 месяцев.

    Прикладной и академический бакалавриат

    Само собой тот факт, что специалитет просто уменьшили на 20%, не мог порадовать министерство образования. Мало кого может порадовать «недоспециалист», который теперь знает ещё меньше. Поэтому с 2015 года будут повсеместно вводить прикладной бакалавриат как альтернативу неполному академическому образованию.

    Если коротко, то прикладной от академического отличается новым учебным планом, где все дисциплины сфокусированы на выпуск максимально готового к реальным рабочим задачам сотрудника. Без стажировок и прочих головняков для работодателя. Например, из академического бакалавриата может выйти «математик-программист», а из прикладного «Разработчик .Net», «Разработчик реляционных баз данных» или «Программист C++». Последние более интересны рынку труда сразу после окончания ВУЗа, первые же после окончания бакалавриата должны поступать в магистратуру и дальше качать свои компетенции, чтобы после выпуска претендовать на более высокие позиции. Другая полезная вещь — участие в учебной программе прикладного бакалавриата работодателей (как базы практики) и IT-вендоров.

    Несмотря на то, что идея на мой взгляд здравая и её реализация была начата ещё 5 лет назад в 44 пилотных ВУЗах, я ещё не встречал ни качественно новых учебно-методических материалов, ни готовых к самостоятельной работе выпускников. Предполагаю, что в ближайшие 2-3 года ничего не изменится и значительной разницы в подготовке академического и прикладного бакалавриата не будет. Тем не менее, если вы уже решили быть магистром — поступайте на академический, если после 4 лет обучения планируете идти работать, а к магистратуре вернуться «когда-нибудь» — то на прикладной.

    Преподавание в ВУЗе

    Если в школе учатся, то в ВУЗе обучаются. И разница тут огромна. Никто не будет заставлять учиться. Если хотите получить диплом — сидите, разбирайтесь, спрашивайте у однокурсников. Преподаватель — это просто носитель знаний, который умеет эти знания пояснять. Его цель — рассказать, ваша — понять. Если вы что-то не поняли — преподаватель свою цель всё равно выполнил. Даже если в отдельных случаях это не так — лучше думать именно в такой парадигме, будет меньше разочарований.

    Качество преподавания заключается именно в том, насколько хорошо преподаватель доносит до вас знания, какую практическую компетенцию вы при этом получаете. Например, донести принцип ООП можно на языке программирования Delphi, а можно на C# или Java. Вы поймёте ООП в любом случае, если будете стараться, но знакомство с языками C# или Java будет полезно для вас в будущем, при подготовке курсовых работ, при подработке или дальнейшем трудоустройстве.

    1. преподаватель читает вам то, что морально устарело, но вы всё прекрасно понимаете
    2. преподаватель рассказывает о новейших технологиях, но у вас остаются большие пробелы в понимании чего-либо (если вы не восполните их самостоятельно в книгах, на StackOverflow или MSDN — то так оно и останется).

    Помимо дробления бакалавриата на академический и прикладной, сейчас также проходит обновление стандартов образования со второго поколения на 3 и 3+. В условиях такого количества изменений в преподавании — есть риск, что ближайшие 2-3 набора студентов будут подготовлены хуже, чем последующие. А значит — нужно прилагать больше личных усилий.

    Выбирая ВУЗ и специальность желательно знать Кто и Что вам будет рассказывать. Перед окончательным выбором — узнавайте у текущих студентов, читайте студенческие группы VK.

    Выбор специальности

    Итак, вы решили получить высшее образование, стать программистом. И не просто программистом, а, например, именно Web-разработчиком, специализирующемся на frontend. Круто, что в 18 лет уже есть цель в жизни, но спешу расстроить. В нашем государстве есть такая штука как стандарты высшего образования и они куда более абстрактны, чем вам бы этого хотелось.

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

    Математическое обеспечение и администрирование информационных систем (МОАИС).

    Специальность, дающая наилучшие условия для развития компетенций разработчика.

    Вы изучите: технологии программирования на различных языках (обычно за 4 года вы познакомитесь с минимум тремя языками программирования — например: C++, C#, Lisp, или C++, Java, Python), разработка и основы администрирования реляционных и объектно-ориентированных БД, сетевые технологии, разработка приложений «клиент-сервер», «клиент — сервер приложений — сервер БД», параллельное программирование.

    Обучение даёт понимание программирования в принципе, за пару месяцев вы способны изучить любой язык программирования и развиваться в нём; понимание как работает любая программа, как решить большинство вычислительных задач. После получения диплома из вас крепкий Junior, но как только вы разберётесь с конкретными задачами и инструментами в конкретной компании, багажа знаний будет достаточно, чтобы претендовать на Middle.

    После опыта работы и хорошей магистратуры по этой специальности вы сможете не просто делать программы и информационные системы, но познакомитесь с принципами разработки высоконагруженных систем, управления командой, планирования разработки и сможете претендовать на Senior и Team Lead.

    Фундаментальные информатика и информационные технологии (ФИИТ).

    Специальность близка к МОАИС, но ориентирована на вычислительные эксперименты и исследовательские задачи.
    Иными словами, как программист вы будете в наилучшей форме, но вы будете почти бесполезны для решения практических бизнес-задач. Зато вы ценный кадр для R&D-департаментов, научных лабораторий и научно-исследовательских команд. Обучение по этой специальности в хорошем ВУЗе даёт возможность выбирать место работы по всему миру, работая известных компаниях. Уже изначально предполагается, что бакалавриат будет только первой ступенькой вашего образования.

    Вполне реальная история: получив бакалавра в МГУ, поступить в магистратуру CalTech. Само собой, физика, алгебра и матанализ должны быть вашей страстью.

    Информатика и вычислительная техника (ИВТ)

    Специальность ориентирована на воспитание системных программистов, работающих «с железом». У вас будут навыки программирования роботов, систем реального времени и работы с паяльной лампой. С таким образованием разрабатывать скучные учётные системы и веб-приложения не захочется, но ваша дальнейшая карьера может начаться как инженера по видеонаблюдению в небольшом ЧОПе, так и в лаборатории робототехники крупного бренда (само собой после прохождения магистерской программы).

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

    Не только программист

    Программная инженерия

    Относительно новая специальность, готовящая по сути менеджеров программного продукта. Этот специалист смотрит поверх задач разработки, управляет требованиями, функционалом, версиями, командами разработки. На первых курсах вы изучите технологии программирования и, возможно, пару языков, но дальше в учебном плане будет всё больше про управление разработкой ПО. Начинать карьеру можно как Junior Developer, но вместо дальнейшего апгрейда до Middle вы станете менеджером проекта.

    Прикладная информатика

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

    Бизнес-информатика

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

    Информационные системы и технологии

    Фокус на администрировании информационных технологий и правильном выборе софта и железа под задачи корпоративной локальной сети. Программирование будет, но на процедурном уровне, ближе к скриптам и конфигурационным файлам.

    Математика и компьютерные науки

    Большая порция фундаментальных знаний позволит вам работать как учителем информатики в школе, так и аналитиком в крупной компании. В хорошем ВУЗе эта специальность тяготеет к научным исследованиям и также может быть стартом в R&D для тех, кто физике предпочитает математические науки.

    Информационная безопасность

    Первый курс часто похож на специальности вроде МОАИС, где программируют много и на разных языках, но потом это прекращается. Вы не должны писать код, вы должны понимать как любой код могут атаковать. Сети и операционные системы будут знакомы как никому другому, можно будет называть себя хакером, но работать придётся в сфере безопасности, с нормативно-правовыми документами, а не только с firewall и sniffer.

    Важно понимать, что всё зависит от конкретного учебного заведения. Это как стандарт HTML и его реализация на сайте провинциального салона красоты. Есть ВУЗы, где студенты всех специальностей ходят на одинаковые лекции. Есть ВУЗы, где МОАИС изучает Visual Basic и Pascal, пишет макросы в Excel, а базы данных изучает на примере Access. Если в вашем родном городе именно такой ВУЗ, то пора покупать билеты на поезд.

    Выбор специальности при поступлении крайне важен, поскольку определяет дальнейшую карьеру и, может быть, всю жизнь. Это по сути первый самостоятельный выбор в жизни и ошибка будет измеряться годами. Поэтому рано «выдыхать» после ЕГЭ, самое время узнать как можно больше про ближайший университет, его студентов и преподавателей. Удачи.

    P.S. Предлагаю хабрапользователям поделиться личным опытом: какая специальность в каком ВУЗе помогла вам стать таким замечательным разработчиком.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *