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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Программирование возникло тогда, когда появилась первая электронно-вычислительная машина, а может немного ранее. В 1944 году была разработана мощнейшая по тем временам вычислительная машина «Марк-1», а уже в 70-х годах ХХ века эта профессия стала престижной и хорошо оплачиваемой, не смотря на то, что развитие программирования в различных странах эволюционировало совершенно по-разному. Без программистов сложно представить нашу нынешнюю жизнь. Интернет играет важную роль в развитие бизнеса и не только. Если нужно найти информацию, мы ищем через поисковую систему подходящие веб-ресурсы. Собственный сайт помогает в работе, является визитной карточкой фирмы. Если бы не умение программистов создавать нечто уникальное, то на Интернет страшно было бы смотреть.

Личные качества:

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

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

Образование (Что надо знать?):

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

Много хороших программистов - самоучки.

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

Место работы и карьера:

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

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

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

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

Еще одна сфера деятельности программиста - web-программирование: разработка, модернизация и поддержка сайтов. Эта область требует многих специфических знаний - PHP, MYSQL, XHTML, CSS, JavaScript, XML. Причем очень часто работодатели желают получить профессионала «два в одном» - web-дизайнера и web-программиста, чтобы он не только решал технические вопросы (быстрая загрузка сайта, работа ссылок, поисковика), но также занимался и оформлением сайта, а иногда даже и его информационным наполнением.

Можно основать собственный бизнес, который потенциально может оказаться очень доходным (достаточно вспомнить, что Билл Гейтс, основатель корпорации Microsoft, стал благодаря своему детищу самым богатым человеком в мире). Однако для того, чтобы успешно управлять таким бизнесом, недостаточно уметь создавать хорошие компьютерные программы; для этого требуются основательные знания в области экономики, юриспруденции, менеджмента.

Родственные профессии:

Веб - Дизайнер, системный администратор, верстальщик

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

Программист — профессия человека, занимающегося программированием. Программист занимается разработкой алгоритмов и программ на основе математических моделей.

Условно программистов можно разделить на три категории:

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

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

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

Должностные обязанности

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

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

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

В большинстве случаев, программист должен знать несколько языков программирования, такие как C++, Delphi, Visual Basic, PHP, Java, Perl и т.д.

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

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

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

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

Места работы

Научно-исследовательские центры,

IT-компании,

Организации, которые в своей структуре подразумевают отделы программистов (или штатную единицу).

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

Постоянная работа за компьютером плохо сказывается на здоровье программиста.

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

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

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

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

История

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

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

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

Первый программист

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

А самым первым был «Планкалкюль», созданный немецким инженером Конрадом Цузе в 1941 году. К сожалению, история не сохранила имен первых профессиональных программистов (в отрыве от настройки аппаратуры компьютера). Это произошло потому, что в то время данная деятельность рассматривалась всего лишь как второстепенная наладочная операция.

Определение

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

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

Образование

Профессия «программист» есть в списке специальностей множества вузов. Если рассматривать столицу нашей страны, то самыми авторитетными являются: МГУ, МАИ, МЭСИ, МИЭМ, МИРЭА, МГТУ, МИФИ и МФТИ. Получить профессию программиста можно и в других мегаполисах. Дефицита с институтами (или филиалами), обучающими этой специальности, нет даже в маленьких городах. Согласно статистике, российские вузы ежегодно выпускают около 100 тыс. программистов.

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

Смежные карьеры

Для российских программистов (в отличие от зарубежных) допустимо наличие смежного образования. Они могут быть математиками, физиками, химиками и др. Кстати, очень популярной в последнее время стала профессия «инженер-программист».

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

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

Функциональные обязанности

В России профессия «программист» (описание есть в разделе «Определение») не связана с разработкой новых приложений, операционных систем и программ по типу Adobe Photoshop или MS Office. Этим занимаются специалисты высокой квалификации из таких фирм как Oracle, Sun, Adobe, Microsoft и т. д. В отечественных компаниях подобные проекты большая редкость и почти все программы, которые ставят на свой ПК российские пользователи, созданы западными фирмами. Есть несколько отечественных фирм-разработчиков ПО, но их очень мало. Например, «Лаборатория Касперского», выпускающая антивирусные программы. Также созданием программного обеспечения занимается и ряд государственных структур: НИИ, конструкторские бюро космонавтики и военно-промышленного комплекса. Но опять же, их можно пересчитать по пальцам.

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

Великие и знаменитые программисты

Список их весьма обширен, поэтому мы назовем лишь наиболее известных:

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

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

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