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

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

ВУЗы и совместные программы

Кафедра «Яндекса» была открыта в рамках созданного большого факультета компьютерных наук. Этот факульеттобъединил отделение программной инженерии, а также отделение прикладной математики и информатики, которые уже существовали в Высшей школе экономики. К ним добавился новый департамент — больших данных и информационного поиска. Он создан на основе базовой кафедры Яндекса, которая работает в НИУ ВШЭ с 2008 года. Учебный план факультета создаётся совместно преподавателями университета и специалистами Яндекса. В него входят курсы по машинному обучению, компьютерному зрению, Big Data и другим направлениям компьютерных наук. Лекции и семинары будут ведут преподаватели НИУ ВШЭ, сотрудники Яндекса и преподаватели Школы анализа данных. В качестве долгосрочной цели компания называет достижение международного уровня подготовки специалистов. Бюджетные места в бакалавриате представлены на «Прикладной математике и информатике», «Программной инженерии». Учеба на бесплатной основе доступна в магистратуре на трех специальностях: «Анализе и принятии решений», «Науке о данных» и «Системной и программной инженерии». Также Вышка сотрудничает с IT-компаниями в рамках школы «Бизнес- информатики». Отдельные кафедры созданы совместно с Microsoft, SAP, группой компаний “Снек"".

Проходной балл (бюджет) - от 261 баллов

Стоимость обучения (вне бюджет) - 300 000

Форма обучения- очная

Бауманка сегодня является одним из самых популярных технических вузов России. В учебном заведении представлен широкий набор направлений подготовки, связанных с программированием. Среди них можно назвать «Информатику и вычислительную технику», «Информационные системы и технологии», «Прикладную информатику», «Программную инженерию». В 2011 году Mail.ru Group и университет запустили совместный проект «Технопарк», который нацелен на студентов старших курсов. Курс бесплатен и позволяет получить дополнительное образование системного архитектора.

Прходной балл (бюджет) - от 240

Форма обучения- очная

МФТИ традиционно является кузницей талантов в области ИТ. Ежегодно, со всей России лучшие выпускники, победители и призеры олимпиад приносят свои документы в МФТИ.
Со стороны МФТИ выглядит так: бетонные здания-коробки приковывают к учёбе на шесть лет, студенты попадают в замкнутое пространство на территории подмосковного Долгопрудного, некоторые сходят там с ума в прямом смысле. Многие начали проекты с сокурсниками ещё во время учёбы. Глобальные IT-компании: Acronis, Parallels, ABBYY, Iponweb и многие другие — калибром меньше, но тоже значимые — созданы выпускниками МФТИ.
Кроме базовых направлений подготовки, отдельного внимания в институте заслуживает кафедра компьютерной лингвистики. Практические занятия «Компьютерной лингвистики» обычно проходят в офисе компании ABBYY. Учебный план базируется на предметах по компьютерной лексикографии, автоматической обработке языка и корпусной лингвистике. Зачисление на программы бакалавриата и магистратуры проходит на конкурсной основе.

Проходной балл (бюджет) - от 240

Стоимость (вне бюджет) - от 176 000

Форма обучения - очная

Большинство программистов, выходящих из стен МГУ, заканчивают ВМК, тем не менее хороших специалистов выпсукает еще мехамт и физфак.
Факультет вычислительной математики и кибернетики является одним из ведущих IT-факультетов России. Intel, IBM, SAS - основные партнеры ВУЗа на уровне магистратуры. Совместные программы включают «Технологиипараллельного программирования и высокопроизводительные вычисления», «Большие данные: инфраструктуры и методы решения задач», «Интеллектуальный анализ больших данных». Дополнительным бонусом для студентов бакалавриата является проект «Техносфера», созданный совместно с Mail.ru Group. Дополнительное образование могут получить студенты 3-5 курсов любых факультетов. В течение двух лет бакалавры изучают способы интеллектуального анализа большого объема данных, программирование на С++, многопоточное программирование.
Про мехамт лестно отзывался даже создатель Facebook Марк Цекерберг«Я счастлив, что имел дело с, возможно, последней гордостью главного университета России — выпускниками механико-математического факультета»,— сказал он на встрече со студентами МГУ. Мехамт требует не просто любви к техническим наукам, а серьезного увлечения ими с детства. Скорее всего, вса не будут учить, как создавать сайты или писать приложения, но серьезная математическая база вам обеспечена.
Тоже самое касается и физфака, только в отличие от мехамата больший упор сделан на изучение физики.

Проходной балл (бюджет) - от 415 баллов

Вечерняя форма обучения - 186 000

Дневная форма обучения - 325 000

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

Бюджетные места

Стоимость обучения (вне бюджет) - от 155 000

Форма обучения- очная

ИТМО

Магистерскую программу «Математическое обеспечение и администрирование информационных систем» с «Яндексом» представляет СПбГУ. Специализация направлена на получение знаний в области обработки и хранения больших объемов данных. Под научным руководством профессионалов из компании магистранты пишут диссертации, готовят научные проекты.

Школьники уже, кажется, сдали ЕГЭ и вот-вот отправятся подавать документы в ВУЗы. Программирование и 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. Сейчас необходимость диплома весьма сомнительна, особенно для IT-специалиста. Ни на одном из множества моих собеседовиний не поднимался вопрос об образовании. Друзья и коллеги со мной солидарны.
2. Стоит ли тратить 5-6 лет жизни на изучение, зубрежку, конфликты с преподавателями, взятки и прочие тяготы и лишения студенческой жизни? Из своего опыта могу сообщить, что процентов 80-90 этих усилий никак не будут востребованы в реальной жизни.
3. Обязательно нужен диплом? Кто это сказал? Скорее всего родители. Они, как выходцы из СССР «знают» и «уверены», что диплом о высшем образовании - залог светлого будущего. К сожалению или к счастью, но те времена прошли.

У меня есть диплом бакалавра Киевского политеха (НТУУ «КПИ»), факультет информатики и выч. техники (ФИВТ), специальность: автоматизация управления в технических системах. С точностью до кафедры, это считается наиболее крутым IT-шным образованием в Украине. И я считаю, что 4,5 года прошли зря… Кто-то, скорее всего возразит, но, с моей точки зрения, многие предметы были абсолютно бесполезны: культурология, языки, история, философия, ОБЖ,… Было много «железячных» курсов, которым я, выбравший себе софтверное направление, применения не видел и не вижу до сих пор. И были курсы по разработке и администрированию… Большая часть преподаваемого материала застряла где-то лет 15-20 назад, что в наши времена практически равносильно потере актульности. А с точки зрения способа донесения знаний и вовлеченности преподавателя в процесс, интересно было посещать всего несколько курсов.

Итого:
Когда нам преподавали курс по HTML под громким названием «веб-дизайн» (в лучших традициях: зеленое на красном, фреймы, таблицы), я уже давно прочел все ководство, и имел несколько настольных книг по дизайну, HTML, Javascript, был знаком с творчеством Студии Лебедева и подобных крупных игроков.
Когда все изучали графику на чистом паскале, я игнорировал общепринятые каноны и пользовался самописной графической библиотекой на ASM, которая давала в сравнении сумасшедшую производительность, чем нередко вызывал неправедный гнев преподавателя, которая ничего не понимала в моей писанине, но ничего не могла поделать: задания то выполнялись и вероятность найти ±такую-же работу на потоке находилась около нуля.
Когда все зубрили какую-то доисторическую фигню (ни один не понимал, зачем она нужна), я спал или работал. В итоге это приносило мне много сложностей при сдаче.
Когда все учили администрирование Netware, я для себя черпал только какие-то основополагающие моменты администрирования и наблюдал, как популярность нетвари стремится вниз.
Из 4,5 лет проведенных в институте, я могу назвать только несколько предметов которые коим-то образом оказались мне полезны: линейная алгебра, теория вероятностей и мат. статистика, проектирование ПО, администрирование, ASM 8086(очень мало), криптография. Это около 5-10% в сухом остатке.

Это все не мешало мне подрабатывать и работать с 1 курса (а фактически еще со школы) и самостоятельно заниматься тем, что мне было интересно и казалось полезным в рамках выбранного пути.
Если бы я мог что-то изменить в прошлом, то сейчас бы я смоделировал свое образование совершенно другим образом:
- Посидеть на фрилансе, почувствовать запросы рынка и самостоятельно начать изучать интересную/выгодную область.
- Пойти работать, возможно сначала даже «за еду», для получения опыта в комманде и реальных условиях.
- Закончить экономическую школу (не среднюю школу конечно же, но и не факультет какого-нибудь института, оптимально 0,5-1 год обучения), бухгалтерию и что-то базовое из юриспруденции. Этих знаний порой сильно не хватает.
- Периодически посещать профильные и общесоциальные семинары, воркшопы, курсы.
- Генерировать идеи и моделировать их воплощение в свой бизнес.
- Профит?

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

PS: Весь этот сумбурный текст написан исключительно из личного опыта и опыта друзей/коллег/знакомых (настолько, насколько насколько я знаком с их опытом) и ни в коем случае не претендует на абсолютную достоверность. Если есть вопросы или возражения - милости прошу к диалогу.

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

Разновидности

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

  1. Прикладные программисты занимаются в основном разработкой программного обеспечения прикладного характера — игры‚ бухгалтерские программы‚ редакторы‚ мессенджеры и т.п. К области их работы также можно отнести создание программного обеспечения для систем видео- и аудио-наблюдения‚ СКД‚ систем пожаротушения или пожарной сигнализации и т.п. Также в их обязанности входит адаптация уже существующих программ под нужды отдельно взятой организации или пользователя.
  2. Системные программисты разрабатывают операционные системы, работают с сетями, пишут интерфейсы к различным распределенным базам данных. Специалисты этой категории относятся к числу самых редких и высокооплачиваемых. Их задача состоит в том‚ чтобы разработать системы программного обеспечения (сервисы)‚ которые‚ в свою очередь‚ управляют вычислительной системой (куда входит процессор‚ коммуникационные и периферийные устройства). Также в список задач входит обеспечение функционирования и работы созданных систем (драйвера устройств‚ загрузчики и т.д.).
  3. Web-программисты также работают с сетями, но, в большинстве случаев, с глобальными - Интернет. Они пишут программную составляющую сайтов, создают динамические веб-страницы, web-интерфейсы для работы с базами данных.

Особенности профессии

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

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

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

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

Плюсы:

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

Минусы:

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

Место работы

  • IT-компании и web-студии;
  • научно-исследовательские центры;
  • организации, которые подразумевают в своей структуре штатную единицу или отделы программистов.

Важные качества

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

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

Обучение на программиста

Компьютерная Академия ШАГ - международное учебное заведение, обучает . Работает с 1999 года. 42 филиала в 16 странах мира. Крупнейший авторизованный учебный центр Microsoft, Cisco, Autodesk. Студенты получают международные сертификаты и международный диплом. Главная цель - трудоустройство каждого выпускника.

На этом курсе вы можете получить профессию программиста дистанционно за 1-3 месяца. Диплом о профессиональной переподготовке установленного государством образца. Обучение в полностью дистанционном формате. Крупнейшее образовательное учреждение дополнительного проф. образования в России.

Профессия веб-разработчик с 0 до PRO. За 115 часов можно научиться создавать сайты и интернет-магазины, зарабатывать на этом 120 тысяч рублей в месяц. После прохождения обучения - гарантированное трудоустройство. Преимущества: доступ к курсу навсегда, 3 специализации на выходе, гибкий и свободный график занятий, работа с личным наставником, трудоустройство гарантировано документарно.

Вузы

Оплата труда

Программист - одна из самых востребованных и высокооплачиваемых профессий в России. Даже не самый продвинутый специалист может найти работу в соответствии со своим уровнем знаний, а затем постепенно учиться и набираться опыта. Зарплата стажера — около $1000. Штатный программист в компании среднего уровня (не IT) получает до $1500-1800, чуть больше — в организации, связанной с массовой разработкой ПО. Зарплата ведущего программиста — $2500—3000. Следующая ступень — руководитель IT-отдела. К необходимым знаниям добавляется обязательный опыт работы, владение иностранным языком, навыки управления персоналом и др., а заработок может достигать $4000. Хороший программист может стать руководителем крупного проекта по разработке ПО, и тут уровень доходов достигает $5000 и выше.

Зарплата на 12.09.2019

Россия 30000—100000 ₽

Москва 50000—200000 ₽

Ступеньки карьеры и перспективы

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

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

Знаменитые и великие программисты

  • Кнут Дональд Эрвин
  • Мацумото Юкихиро
  • Таненбаум Эндрю
  • Рэймонд Эрик Стивен
  • Фаулер Мартин
  • Хоппер Грейс
  • Столлман Ричард Мэттью
  • Кей Алан
  • Мейер Сид
  • Страуструп Бьёрн

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

Часто первым программируемым устройством принято считать жаккардовый ткацкий станок, построенный в 1804 году Жозефом Мари Жаккаром, который произвёл революцию в ткацкой промышленности, предоставив возможность программировать узоры на тканях при помощи перфокарт.

Первое программируемое вычислительное устройство, Аналитическую машину, разработал Чарлз Бэббидж (но не смог её построить). 19 июля 1843 года графиня Ада Августа Лавлейс, дочка великого английского поэта Джорджа Байрона, как принято считать, написала первую в истории человечества программу для Аналитической машины. Эта программа решала уравнение Бернулли, выражающее закон сохранения энергии движущейся жидкости.

В своей первой и единственной научной работе Ада Лавлейс рассмотрела большое число вопросов. Ряд высказанных ею общих положений (принцип экономии рабочих ячеек памяти, связь рекуррентных формул с циклическими процессами вычислений) сохранили свое принципиальное значение и для современного программирования. В материалах Бэббиджа и комментариях Лавлейс намечены такие понятия, как подпрограмма и библиотека подпрограмм, модификация команд и индексный регистр, которые стали употребляться только в 1950-х годах.

Однако ни одна из программ написанных Адой Лавлейс никогда так и не была запущена.

Аду Августу, графиню Лавлейс, принято считать почётным первым программистом (хотя, конечно, написание одной программы по современным меркам не может считаться родом занятий или профессиональной деятельностью). История сохранила её имя в названии универсального языка программирования «Ада».

Первый работающий программируемый компьютер (1941 год), первые программы для него, а также (с определёнными оговорками) первый язык программирования высокого уровня Планкалкюль создал немецкий инженер Конрад Цузе.

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

Законы Мерфи для программистов

1. Ничто не работает так, как планировалось запрограммировать.

2. Ничто не программируется так, как должно работать.

3. Хороший программист характеризуется умением доказать почему задачу невозможно выполнить, когда ему просто лень её выполнять.

4. На решение проблемы уходит в три раза меньше времени, чем на обсуждение всех "за" и "против" её решения.

5. Обещанный срок сдачи - это аккуратно рассчитанная дата окончания проекта плюс шесть месяцев.

6. Программисту всегда известна последовательность действий, которыми пользователь может повесить его программу, но он никогда не чинит эту проблему, надеясь на то, что никому никогда не придёт в голову эту последовательность исполнять.

7. Настоящие программисты любят Windows — все ошибки, сделанные по собственной тупости, можно свалить на Microsoft.

8. Следствие — 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.

9. В приступе злости все почему-то молотят по невинному монитору, вместо системного блока.

10. В случае голодовки настоящий программист ещё месяц сможет питаться едой, выковырянной из-под кнопок клавиатуры.

11. Настоящий программист уже как минимум поменял три залитых пивом клавиатуры.

12. Все, кто испытывает проблемы с настройкой кодировки, автоматически считаются неандертальцами.

13. Дилетантские разговоры о компьютерах вызывают резкую тошноту вплоть до приступов рвоты. Вопрос о том как поменять "обои" в Windows вызывает желание перерезать горло вопрошающему.

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

15. HTML, HTTP, FTP, SMTP, TCP/IP, RTFM и т.д. - это слова, а не аббревиатуры.

16. Словосочетание "мышка-норушка" не несёт никакого смысла.

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

18. Следствие - если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое.

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

20. Решение всех жизненных проблем находится в интернете. Надо только уметь хорошо искать.

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

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

23. Если ты понял предыдущее — то ты программист.

На этом свете 10 типов людей - те, кто понимает двоичную систему счисления, и те, кто не понимает ее.

Видео: ты ж программист

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

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

Чаще всего хорошо преподают в больших вузах и университетах. Если в вашем городе есть вуз, в названии которого есть слова «государственный», «национальный», «федеральный», то в первую очередь стоит присмотреться к нему. Затем узнайте, есть ли в вашем городе крупные ИТ-компании или филиалы таких компаний, с какими вузами у них партнёрские отношения: такие компании почти всегда появляются рядом с сильными университетами очень редко появляются там, где нет качественной подготовки кадров (например, в Екатеринбурге кроме головного офиса Контура ещё есть 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. Выбранный язык программирования.

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

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