Краткое сообщение о программисте. Профессия программист

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

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

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

Подходящие образовательные специальности: Web-программист
Ключевые предметы: Информатика и вычислительная техника; Программная инженерия; Математическое обеспечение; Администрирование информационных; Английский язык.

Стоимость обучения (средняя по России): 216000 рублей


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


*стоимость обучения указана за 4 года бакалавриата на очном отделении.

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

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

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

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

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

Плюсы профессии:

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

Минусы профессии :

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

Место работы

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

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

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

Где учат

В России подготовка инженеров-программистов ведётся по специальностям 220400 (230105) «Программное обеспечение вычислительной техники и автоматизированных систем» и 351500 «Математическое обеспечение и администрирование информационных систем», 010200 «Прикладная математика и информатика» и 073000 «Прикладная математика».
Получить высшее образование в области информационных технологий можно в ВУЗах:

  • Московский государственный технологический университет им. Баумана.
  • Московский институт стали и сплавов (МИСиС).
  • Московскbq институт радиоэлектроники и автоматики (МИРЭА)
  • Станкин
  • Московский физико-технический институт
  • Российский государственный гуманитарный университет (РГГУ)

Оплата труда

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

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

Хорошим стартом карьеры может стать присоединение к группе программистов при разработке какого-либо проекта. Крупные проекты часто привлекают внимание западных компаний, которые «перекупают» российских программистов. К примеру, когда-то группа наших молодых ученых разрабатывала процессор «Эльбрус» для Минобороны, а в итоге их всех перекупила корпорация 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. Если ты понял предыдущее — то ты программист.

Анекдоты о программистах

Программист программисту: "Предположим, что у тебя есть 1000 рублей... Ну, для круглого счета возьмем 1024..."
На этом свете 10 типов людей - те, кто понимает двоичную систему счисления, и те, кто не понимает ее.

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

Программист – это специалист в сфере написанию компьютерных программ на основе математических кодов и вычислений.

Средняя заработная плата: 71000 рублей в месяц

Востребованность

Оплачиваемость

Конкуренция

Входной барьер

Перспективы

История

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

Первую программу для нее создала женщина, графиня А. А. Лавлейс в 1841 году. Она изобрела ряд современных понятий программирования: модификацию команд, индексный регистр, подпрограммы, библиотеку программ. Но труды графини оставались на бумаге. Это начало зарождения программирования. Ада же признана первым, почетным специалистом написания ПО. Работающий компьютер же появился в 1941 году. Создателем стал Конрад Цузе. Он разработал первый сложный язык программирования и программы.

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

Получите востребованную интернет-профессию

Веб-разработчик

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

подробнее >

Frontend-разработчик

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

подробнее >


Python-разработчик

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

подробнее >

Описание

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

  • Прикладное направление. Это специалисты, занимающиеся разработкой и внедрением программного обеспечения, необходимого для нормального функционирования организаций. Обычно они узкопрофильные, к примеру, специалисты по 1С. В спектр их обязанностей входит обновление, настройка и доработка программ под индивидуальные потребности сотрудников, специфику компании.
  • Системное направление. Это специалисты, разрабатывающие операционные системы, интерфейсы, распределяющие базы данных, управляющие работой сетей. Это самый редкий вид программирования и самый сложный. Системные специалисты всегда востребованы.
  • Web. Это специалисты, работающие с глобальными сетями, к примеру, интернетом. Разработка интерфейсов, динамических сайтов, их стихия. Данная специализация особенно популярна в последнее время – эпоху развития интернета.

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

На каких специальностях учиться

Чтобы получить соответствующий диплом, следует выбрать одну из специализаций:

  • Фундаментальная информатика и информационные технологии.
  • Бизнес-информатика.
  • Программная инженерия.
  • Прикладная математика и информатика.
  • Информатика и вычислительная техника.
  • Прикладная информатика.
  • Информационная безопасность.
  • Информационные системы и технологии.
  • Программирование в компьютерных системах.
  • Автоматизация технологических процессов и производств.
  • Электроника и наноэлектроника.
  • Инфокоммуникационные технологии и системы связи.
  • Радиотехника.
  • Конструирование и технология электронных средств.
  • Радиофизика.

Данные специальности позволят получить необходимый диплом и шанс на успешное построение карьеры.

Где учиться

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

  • МГТУ имени Баумана
  • Санкт-Петербургский государственный технологический институт (технический университет).
  • Московский технический университет связи и информатики.
  • Российский университет дружбы народов.
  • Северо-Кавказский федеральный университет.

Качественное образование предоставляют и многие другие высшие учебные заведения страны.

Чем приходится заниматься на работе и специализации

Ежедневно специалист сталкивается с рядом обязанностей, общих для всех направлений:

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

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

Кому подходит

Профессия программиста подходит людям, обладающим такими качествами:

  • Системное мышление. Человек видит не отдельную составляющую, а комплекс. Это обеспечивает быстрый поиск неисправности и ее устранения.
  • Аналитический склад ума. При создании программы важно уметь анализировать факты, создавая оптимальные решения, а не временные.
  • Хорошая память. Языки программирования довольно сложные к восприятию и обучению, поэтому память играет важнейшую роль в работе.
  • Умение излагать информацию на понятном языке. Написание инструкции к программе или обучение персонала работе с ПО – это важные навыки каждого программиста. Одно дело просто написать программу, другое же – внедрить ее. Обучение сотрудников – ключевой момент запуска нового ПО.

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

Востребованность

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

Сколько получают люди, работающие по данной профессии

Заработки программистов довольно высокие. Компании обычно хранят их в секрете, чтобы сотрудника не переманили конкуренты. В среднем, доход такого специалиста стартует от 20 000 рублей в месяц и не имеет строгих ограничений. Заработок напрямую зависит от количества разработок и внедренных программ. Чем больше вы работаете, тем выше доход.

Легко ли устроиться на работу

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

Как обычно строится карьера

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

Многие программисты открывают собственный бизнес в сфере создания программного обеспечения.

Весьма популярна работа на себя с самостоятельным поиском заказов – фриланс.

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

Перспективы

Программист – это профессия будущего. Перспектив масса, от собственного бизнеса до выезда за рубеж.

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

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

Почему это так называется?

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

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

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

Какими они бывают?

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

Программисты находят работу в интернет-компаниях (Яндекс, Гугл и пр.), трудятся над бухгалтерскими и кадровыми программами (1С, Контур, Босс, Парус, АйТи, Галактика и пр.), поддерживают работу систем управления предприятиями (ERP) SAP R3, ORACLE, Axapta, Navision и пр. или их модулей (отдельных больших программ).

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

Что делают современные программисты?

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

Сегодня создаются продукты, анализирующие Big Date — огромные массивы данных, полученных из разных источников, например, перекрестная обработка данных из социальных сетей позволяет увидеть моральные ценности и политические взгляды разных категорий людей, их товарные предпочтения и пр. Этим пользуются политические партии, правительственные органы для управления мнениями и поведением людей. Скандал, поднятый в США по поводу вмешательства российских программистов в выборы президента, связан с эффектами именно таких технологий.

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

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

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

Какими качествами надо обладать?

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

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

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

Различают два уровня квалификации: техник-программист (образование средне-специального уровня) и инженер-программист — квалификация, присваиваемая при получении высшего образования.

Сегодня специалистов готовят по широкому спектру программистских специальностей:

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

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

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

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

Мой отец говорил мне в семидесятых годах, возможно, повторяя слова кого-то из основоположников кибернетики: «Образованный человек должен знать хотя бы один язык программирования». Слова пророческие, они означают, что программирование должен знать и неспециалист. Хотя бы для того, чтобы общаться с программистами, которые порой представляются нам «инопланетянами», которые на понимают нас, но и мы не постигаем их языка.

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

Как строится карьера в этой профессии?

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

Другой класс программистов — самостоятельные специалисты. Некоторые из них получили известность, и для них — это вершина карьеры. Такие программисты, словно художники или писатели, создают оригинальные и сильные продукты, которые приносят им славу.

Лет тридцать назад основатель компании Microsoft Билл Гейтс предложил миру идею и даже чертеж карманного устройства, который заменит телефон, паспорт, кошелек и прочее. Тогда мир еще не был готов ее реализовать. Сегодня мы видим ее воплощение. Но что важнее: устройство или программа, управляющая им? Он же как-то сказал про конкурента, сделавшего очередной компьютер, примерно следующее: «Ну сделал он очередную коробочку. А кто напишет для нее программу, чтобы она заработала?».

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

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

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

Особенности обучения

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

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

Работа IT-техника может иметь несколько направлений:

  1. Прикладной техник. Специалист занимается программным обеспечением, его разработкой и усовершенствованием для удобства работы в организациях. Обычно это специалисты программы 1C, техники занимаются настройками, описаниями функций и доработкой под требования конкретной фирмы.
  2. Системное направление. Работники занимаются разработкой и описанием баз данных, интерфейсов. Также они являются администраторами социальных сетей.
  3. Специалист ТП (технической поддержки). Незаменимые работники, помогают устранить неполадки и ошибки в сжатые сроки.
  4. Тестировщик. Они, в частности, занимаются доработкой и тестированием уже готовых программ.

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

Каким должен быть программист?

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

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

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

Положительные стороны и недостатки профессии

Как и любая профессия, специализация в программировании имеет свои положительные стороны и недостатки. Главный плюс профессии – востребованность, а также высокий доход. IT-техник являются очень популярной должностью, разнообразие рабочих мест дает возможность будущему работнику выбрать свое направление, а также место работы (на Родине или за рубежом).

Но все же существуют следующие минусы профессии программист:

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

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

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

Где найти работу?

IT-техник в целом – многогранная профессия. Несмотря на то, что по статистике на 1 рабочее место приходится 15 работников, всё же реально получить своё место под солнцем. Всё зависит от навыков и целеустремлённости каждого, ведь если сидеть и ничего не делать – навряд ли удастся получить высокую должность.

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

Если выбор пал на компанию, то первым делом необходимо написать резюме. В нем следует указать:

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

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

Если был выбрано «свободное плавание», то тут нужно также постараться. Главным преимуществом фрилансеров является то, что в большинстве случаев работодатели не требуют документов, а также свобода в выборе работы. Самостоятельно можно искать проекты, ТЗ и выполнять в любое для себя удобное место. Но все же есть и минус – такая работа нестабильна и не даёт гарантий. Какой путь выбрать – решает каждый.

Зарплата программистов

Как уже говорилось, программист – весьма прибыльная профессия. Однако всё же многих интересует вопрос, сколько зарабатывают программисты? Заработная плата зависит от уровня специалиста, а также от того, где он работает. В больших городах специалисты работают в хороших фирмах, и для каждого находится своё место. Что касается более маленьких городов, тут зарплаты меньше, но соответствуют уровню жизни.

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

Чтобы IT-отдела, нужно обладать твердым характером, уметь принимать собственные обдуманные решения, отстаивать их, а также быть терпеливым и целеустремлённым. Все эти качества помогут в далее продвинуться по и стать первоклассным программистом.



Поделиться