Второе высшее образование. Где учиться на программиста? Заочное высшее образование программирование

Школьники уже, кажется, сдали ЕГЭ и вот-вот отправятся подавать документы в ВУЗы. Программирование и 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 будет полезно для вас в будущем, при подготовке курсовых работ, при подработке или дальнейшем трудоустройстве.

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

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

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

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

Только зарегистрированные пользователи могут участвовать в опросе.

1. Я (Клиент), настоящим выражаю свое согласие на обработку моих персональных данных, полученных от меня в ходе приема на обучение по образовательным программам Образовательной автономной некоммерческой организации высшего образования «Московский открытый институт», юридический адрес: 105318, г. Москва, ул. Измайловский вал, 2 (далее — Институт).

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

3. В рамках настоящего соглашения под «персональными данными» понимаются: Персональные данные, которые Клиент предоставляет о себе осознанно и самостоятельно при оформлении Заявки на обучение на Сайте Института http://moi.edu.ru/, а именно на странице Сайта http://moi.edu.ru/order (а именно: фамилия, имя, отчество (если есть), год рождения, уровень образования Клиента, выбранная программа обучения, город проживания, номер мобильного телефона, адрес электронной почты).

4. Клиент — физическое лицо (лицо, являющееся законным представителем физического лица, не достигшего 18 лет, в соответствии с законодательством РФ), заполнившее Заявку на обучение на Сайте Института, выразившее таким образом своё намерение воспользоваться образовательными услугами Института.

5. Институт в общем случае не проверяет достоверность персональных данных, предоставляемых Клиентом, и не осуществляет контроль за его дееспособностью. Однако Институт исходит из того, что Клиент предоставляет достоверную и достаточную персональную информацию по вопросам, предлагаемым в форме регистрации (форма Заявки), и поддерживает эту информацию в актуальном состоянии.

6. Институт собирает и хранит только те персональные данные, которые необходимы для проведения приема на обучение в Институт и организации оказания образовательных услуг (исполнения соглашений и договоров с Клиентом).

7. Собираемая информация позволяет отправлять на адрес электронной почты и номер мобильного телефона, указанные Клиентом, информацию в виде электронных писем и СМС-сообщений по каналам связи (СМС-рассылка) в целях проведения приема в Институт, организации образовательного процесса, отправки важных уведомлений, таких как изменение положений, условий и политики Института. Так же такая информация необходима для оперативного информирования Клиента обо всех изменениях условий и организации образовательного и процесса приема в Институт, информирования Клиента о предстоящих акциях, ближайших событиях и других мероприятиях Института путем направления ему рассылок и информационных сообщений, а также в целях идентификации стороны в рамках соглашений и договоров с Институтом, связи с Клиентом, в том числе направления уведомлений, запросов и информации, касающихся оказания услуг, а также обработки запросов и заявок от Клиента.

8. При работе с персональными данными Клиента Институт руководствуется Федеральным законом РФ № 152-ФЗ от 27 июля 2006г. «О персональных данных».

9. Я проинформирован, что в любое время могу отказаться от получения на адрес электронной почты информации путем направления электронного письма на адрес: [email protected]. Отказаться от получения на адрес электронной почты информации также возможно в любое время, кликнув по ссылке «Отписаться» внизу письма.

10. Я проинформирован, что в любое время могу отказаться от получения на указанный мной номер мобильного телефона СМС-рассылки путем направления электронного письма на адрес: [email protected]

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

12. К настоящему соглашению и отношениям между Клиентом и Институтом, возникающим в связи с применением соглашения, подлежит применению право Российской Федерации.

13. Настоящим соглашением подтверждаю, что я старше 18 лет и принимаю условия, обозначенные текстом настоящего соглашения, а также даю свое полное добровольное согласие на обработку своих персональных данных.

14. Настоящее соглашение, регулирующее отношения Клиента и Института действует на протяжении всего периода предоставления Услуг и доступа Клиента к персонализированным сервисам сайта Института.

Образовательная автономная некоммерческая организация высшего образования
«Московский открытый институт»
Юридический адрес: РФ, 105318, г. Москва, ул. Измайловский вал, 2

Программирование – не совсем стандартная наука, в том смысле, что научиться программированию можно далеко не только в ВУЗах или училищах: существует множество тренингов, курсов, бумажных и онлайновых самоучителей и множество онлайн курсов.

После окончания 9 класса недоступным видом образования остается только ВУЗ, однако, при многих технических вузах существуют факультеты профессионального образования с обучением длительностью 2 – 3 года, с последующими льготами при поступлении в ВУЗ.

Обучение вне ВУЗа или училища становится все популярнее и популярнее, особо следует отметить открытые онлайн лекции крупнейших западный университетов.

Существующие самоучители и разнообразные тренинги также весьма популярны, полезны и разнообразны.

Где учиться на программиста после 11 класса или основные ВУЗы для будущих программистов

Общее правило при выборе ВУЗа – изучайте мнение внутри весьма большого и крайне сплоченного сообщества программистов: спросите советов на форумах или посмотрите статистику выпускников. Главное выбранное место должно нравиться лично вам! Ниже, на всякий случай, приведен список признанных мест для обучения программированию.

Однозначно сильными университетами по подготовке программистов международного уровня считаются ИТМО , СПБГУ , ЛЭТИ , СПБГУТ в Санкт-Петербурге и МГУ, МФТИ и МГТУ в Москве.

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

Сколько учиться на программиста

Продолжительность обучения, в зависимости от его вида, сильно варьируется. В ВУЗах обычно учатся 4 – 6 лет (2 – 4 после училища), 2 – 4 года нужно потратить на обучение в училище, все остальные виды обучения рассчитаны как правило, на 3 – 8 месяцев обучения в зависимости от интенсивности.

Сколько стоит учиться на программиста

Цена, которую придется заплатить за умение программировать очень широко варьирует не только между разными видами обучения, но и внутри одного вида.

В целом, нужно упомянуть, что практически каждый вид обучения так или иначе доступен в бесплатном виде:

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

В случае, если вы все-таки платите за свое обучение, то можно иметь ввиду приблизительно следующие цифры: год обучения в училище или вузе стоит от 25 000 до 250 000 рублей в зависимости от рейтинга и региона ВУЗа, самоучители стоят от 0.5 до 2 – 3 тыс. рублей, тренинги и курсы, в зависимости от их продолжительности обойдутся в 5 000 – 50 000 рублей, а за онлайн курс придется отдать 3 000 – 20 000 рублей.

Стоит ли учиться на программиста

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

Выпускники ВУЗов могут рассчитывать на работу младшего программиста практически со 100% вероятностью (при условии проживания в городе с населением хотя бы в сто тысяч человек), в то время как окончивших училище берут на работу несколько менее охотно. В остальных случаях шансов получить официальную работу по специальности не так много, так как в подавляющем большинстве случаев требуется либо опыт работы в несколько лет, либо диплом о высшем или профессиональном образовании.

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

С точки зрения заработной платы фрилансинг и постоянная работа практически не отличаются: 20 – 50 тысяч в месяц в зависимости от региона для постоянной работы и около 30 000 для фрилансера .

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

Возможно Вас заинтересуют.

Второе высшее образование в сфере IT-технологий – это неограниченные перспективы для думающего человека. Университет «Синергия» создал все условия для реализации такого решения с любой «стартовой» площадки (наличие/отсутствие первого высшего, оконченное среднее на программиста).

В каталоге наших программ – самые востребованные направления:Второе высшее образование: программирование

  • Программа факультета ИТ – МОиАИС, подготовка профессионалов работы с программными бизнес-продуктами начиная с 1С. Здесь «растят» программистов с глубокой математической подготовкой – будущих разработчиков ПО, IT-директоров международного уровня.
  • Освоив спецификацию ИСиТ в приборостроении и телекоммуникациях, вы не успеете начать поиск работы – она найдет вас раньше.
  • Общая программа подготовки программистов широкого профиля – глубокое погружение в механику работы операционных систем, программирования С++, принципы компьютерной графики, азы администрирования ИТ и многое другое.
  • Перспективное направление – программа факультета ИСиТ «Информационная безопасность» – ваш выбор, если вы хотите стать незаменимым. Эффективная практика с участием ресурсов компаний вуза, навыки кодирования, основы криптографии – на выходе вы станете ассом по предупреждению киберрисков – угрозы XXI века.
  • Прикладная информатика – направление для будущих разработчиков, тестировщиков, создателей приложений.

Формы и длительность обучения. Вступительные испытания

В нашем вузе доступна полная и ускоренная программа подготовки программистов. Сроки:

  • полное очное обучение – 4 года, ускоренное – 3 года (доступен весь диапазон профессиональной деятельности);
  • вечерние занятия – 4 года 6 месяцев;
  • дистанционное обучение: полное 4 года 6 месяцев, ускоренная программа занимает 3 года 6 месяцев.

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

Пример учебного плана очной формы обучения: /assets/upload/uch_plan/uch_plan_inform_sistem_o_09.03.02.pdf

Трудоустройство: актуальность кадров на рынке

На рынке IT заняты от 400 до 500 специалистов (информация за 2016). Текущая потребность РФ – 1,2 миллиона, по официальным подсчетам, 4 миллиона, если верить данным докладчиков ежегодного всероссийского форума «Территория смыслов».

В 2013 г. правительством РФ утверждена программа развития рынка IT-специалистов, согласно которой к 2018 г. число занятых программистов должно приблизиться к 700 тысячам человек. И речь не идет о полном удовлетворении потребности отрасли. Де-факто сегодня сегмент программирования страдает от острого дефицита кадров.

Программисты, администраторы ПО, разработчики приложений, тестировщики востребованы компаниями любого профиля. Банковские организации и страховщики, производственные, торговые, административные предприятия – 80% юридических лиц России уже работают с собственным программным продуктом (сайтом, приложениями, 1С), который требует профессионального участия.

Направлений занятости для носителя IT-профессии очень много:

  • руководитель IT-отдела;
  • администратор ведущей группы стартапа;
  • разработчик ПО;
  • глава отдела информационной безопасности;
  • администратор групп социальных сетей.

Список можно продолжать. Программирование – это специальность, которая продолжает прирастать новыми профессиями/должностями. Число вакансий программиста по стране (данные топ-10 кадровых агентств) не падает ниже отметки в 45 тысяч уже третий год подряд. Это единственное направление, которому безработица не грозит в любой кризис.

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

С выбором вуза всё гораздо сложнее. Нет списка вузов, упорядоченного по крутости преподавания ИТ-дисциплин, поэтому всегда есть шанс не угадать 🙂

Чаще всего хорошо преподают в больших вузах и университетах. Если в вашем городе есть вуз, в названии которого есть слова «государственный», «национальный», «федеральный», то в первую очередь стоит присмотреться к нему. Затем узнайте, есть ли в вашем городе крупные ИТ-компании или филиалы таких компаний, с какими вузами у них партнёрские отношения: такие компании почти всегда появляются рядом с сильными университетами очень редко появляются там, где нет качественной подготовки кадров (например, в Екатеринбурге кроме головного офиса Контура ещё есть 4 крупных офиса разработки, около 50 средних и гора маленьких).

Ещё один важный фактор - участие вуза и проведение на его территории ИТ-соревнований, например по спортивному программированию, информационной безопасности (в быту ACM, CTF), различных соревнованиях по робототехнике. Найти такую информацию про конкретный вуз иногда не так тривиально, но поискать можно среди архивов ICPC ACM на icpc.baylor.edu или ructf.org .

Кстати, мы совместно с УрФУ организуем QCTF - формат для начинающих, в него могут играть и школьники, подробно можно прочитать вот здесь: qctf.ru .

И всегда помните: выбрав хороший вуз, вы можете всё завалить и не стать программистом, выбрав плохой - можете потратить время на самообучение и добиться невиданных высот. В первую очередь всё зависит от вас.

Повысить Понизить

Нельзя научить, можно научиться. Не стоит идти в вуз за знаниями, стоит идти туда за дипломом. Единственный способ стать программистом - писать программы.

Повысить Понизить

Для освоения программирования лучше всего, на мой взгляд, подходят процедурные языки высокого уровня, «скрывающие» от программиста детали реализации базовых операций и позволяющие сосредоточиться на алгоритмах. Когда-то это был Pascal, сейчас он немного отошёл в сторону, хотя есть и очень хорошие современные реализации, ориентированные на обучение программированию - например, система «PascalABC.Net» . Другой вариант - Python, также хорошо структурированный язык, позволяющий сосредоточиться на освоении основных принципов программирования. Python обладает также дополнительным преимуществом - это интерпретируемый язык, т.е. даёт начинающему программисту возможность быстрее освоиться с языком и «пощупать» ту или иную конструкцию. Изучив основы программирования, стоит плотнее ознакомиться с «классическими» объектно-ориентированными языками, и тут варианты - либо C#, либо Java.

После освоения такого базового «джентельменского набора» наступает следующий этап профессионального развития. На этом этапе вопрос «на чём программировать» сменяется вопросом «какие задачи решать». Т.е. язык программирования из объекта изучения превращается в инструмент для решения задач. На первый план выходит предметная область (системное программирование, веб-разработка, автоматизация бизнес-процессов, обработка данных и т.п.), и уже исходя из интересующего вас направления следует выбирать и изучаемые языки, технологии (например - C, C++, PHP, 1С, SQL).

Что касается материалов для обучения, то наилучшим форматом являются обучающие курсы - либо очные (при непосредственном контакте с преподавателем), либо интернет-курсы. Сейчас активно развиваются интернет-ресурсы, предлагающие бесплатные (и платные тоже) курсы, включающие видео-материалы, тесты, практические задания, часто с возможностью обратной связи от преподавателя. Например, ресурс coursera.org или российский intuit.ru . Часто вендоры (разработчики программных инструментов) также предлагают обучающие курсы по своим продуктам. Например, фирма 1С предоставляет бесплатный комплект для освоения системы «1С:Предприятие», включающий как программные средства, так и учебные материалы.

Повысить Понизить

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

Если говорить о языках программирования, то следует учесть следующие факты:

  • Вы, скорее всего, захотите начать работать по специальности уже на 2-м или 3-м курсе, поэтому стоит обратить внимание на языки программирования, актуальные прямо сейчас: C#, Java, Ruby. Дальнейшее развитие технологий и ваши личные предпочтения помогут вам определиться с тем, на какой платформе и языке продолжать работать. Самое главное - помните, что нет «хороших» и «плохих» языков. В каждой области существует свой набор инструментов и технологий.
  • Вуз может дать сносные знания по глобальным концепциям, например ООП, но не даст вам хорошей базы по конкретному языку; полагайтесь на себя, свой, пусть и небольшой опыт и постоянно расширяйте свой кругозор
  • «Вписывайтесь» во все известные сообщества - это ничего не стоит, как с точки зрения, так и времени, но дает вам колоссальный источник знаний и опыта.

Повысить Понизить

Если у вас есть возможность не идти в вуз - не идите. Это крайне бесполезная история для программистов. Вы будете находится в постоянном поиске новой информации, знания в IT сфере устаревают очень быстро. В таких условиях вуз не сможет дать вам нужных скиллов что бы быть Middle/Senior Developer сразу после выпуска.

Я проводил собеседования со студентами различных вузов и тенденция везде одна - время потрачено, ожидания вознаграждения за это время гигантские, а по факту бизнесу еще требуется доучить человека прежде чем он начнёт приносить прибыль.

Что я имею в виду: на выходе после вуза имеем ребят которые ходят по компаниям и просят 60–90к в месяц и потихоньку разочаровываются в индустрии потому что больше 30к за их опыт никто не даёт. И начинается медленный, планомерный рост со стажировок в веб-студиях. Отсюда вопрос: а действительно ли вам нужен вуз?

Начинайте писать свои pet-projects. Берите идеи и пишите, пишите и еще раз пишите. Ваша основная задача писать код, много кода, забейте на качество - просто пишите, пишите и пишите. На определенном моменте у вас «щелкнет» и вы в остальном сами во всём разберетесь. Для начала, конечно, определитесь куда вам, в веб: PHP, Python, Golang (это не для выбора, это все три вместе), мобайл: Java, Objective-C, Swift, C#, геймдев: C++, Java, Lua.

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

Повысить Понизить

, преподаватель GeekBrains, эксперт PHP, специалист по MySQL, Postgres, некоторым NoSQL решениям, JS + JQuery, Yii

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

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

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

О выборе первого языка советовать сложнее. Обычно этот выбор происходит спонтанно. Но можно достаточно точно сказать, что веб-программирование не потеряет актуальности в ближайшие 5–10 лет, поэтому можно порекомендовать PHP. Тем более, что его часто называют «Си для чайников» 🙂

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

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

Холивар на тему того, какой язык выбрать первым для обучения программистов не утихает: кто-то называет Pascal, кто-то С, кто-то Ruby или даже Haskell, и каждая сторона приводит свои аргументы. Правда в том, что язык - это лишь инструмент, который профессионал каждый раз должен выбирать сообразно задачам проекта. Понимание алгоритмов позволит изучить любой новый язык в течение нескольких дней. Для тех, кто только делает первые шаги рекомендую воспользоваться образовательными онлайн-ресурсами типа Сodecademy , для тех, кто хочет не просто кодить, а понимать, как организовать процесс, рекомендую прочесть книгу, без преувеличений, повлиявшую на умы поколений и актуальную до сих пор - «Мифический человеко-месяц ». Выбирая вуз, стоит обратить внимание на то, насколько его программа соответствует международным стандартам (посмотрите

Евгений Фатеев , преподаватель GeekBrains, профессиональный программист, приверженец The Ruby/Rails Way

Как и в любой другой сфере, обучение программированию прежде всего основывается на личном интересе и желании учиться - это основа любого дела. Разумеется, нужна хорошая техническая база, которую логичней всего получить в вузе. Можно отметить 4 вуза, где качество обучения не оставляет сомнений: МГУ (например, факультет ВМК), МГТУ им. Баумана (ИУ-5..ИУ-8), МИФИ (Кибернетики и информационной безопасности), МИЭМ НИУ ВШЭ (Факультет компьютерных наук).

Что касается выбора языка, здесь важно учитывать несколько моментов. Во-первых, язык не должен быть слишком сложным и «тяжёлым» в отношении синтаксиса. Он должен быть востребован и реализовывать самые современные подходы в программировании. Например, Python, Ruby или JavaScript станут хорошим выбором. Относительно книг и материалов, здесь лучше начать с самого начала, то есть с Теории Информации. Есть потрясающая книга на эту тему: Бауэр Ф. Л., Гооз Г. «Информатика» в 2-х томах. Также полезно будет изучить любой учебник по Информатике. Далее - общение на форумах, чтение статей в блогах, понимание основ устройства ПК и принципов программирования. Из литературы по языку, для Ruby можно порекомендовать книгу с жирафом (Майкл Фитцджеральд «Изучаем Ruby»), для JavaScript (Дэвид Сойер Макфарланд «JavaScript. Подробное руководство»).

Подводя итог, можно составить коротко такой маршрут:

  1. Теория информации;
  2. Устройство и архитектура ПК;
  3. Выбранный язык программирования.

Наконец, необходимо постоянно помнить о том, что программирование - это способ рассказать машине о наших мечтах. Иными словами, нужно постоянно практиковаться и решать самые разные задачи из всевозможных областей на языке, который вы изучаете. Спросите себя: а как написать программу для решения квадратного уравнения, выбора случайного файла с музыкальной композицией, обратиться по сети к сервису Яндекса и узнать правильность написания слова? А затем сделайте это. Наблюдайте, исследуйте, пишите код, и всё обязательно получится! 🙂

Повысить Понизить