Материал из РУВИКИ — свободной энциклопедии

Программист

Программист
Офис Яндекса работа.jpg
Описание
Область деятельности
Информационные технологии, Индустрия программного обеспечения,Разработка, Тестирование и сопровождение программного обеспечения различного назначения.
Cпециализация

Веб-разработчик, Разработчик мобильных приложений, Разработчик игр, Системный программист, Разработчик баз данных, Разработчик встраиваемых систем, Data Scientist/Data Engineer, DevOps Engineer, Security Engineer:Веб-разработчик, Разработчик мобильных приложений, Разработчик игр, Системный программист, Разработчик баз данных, Разработчик встраиваемых систем, Data Scientist/Data Engineer, DevOps Engineer,

Security Engineer:
Деятельность

Написание компьютерного кода, Анализ требований, Разработка алгоритмов и структур данных, Написание кода, Тестирование кода, Отладка кода, Документирование кода, Взаимодействие с командой,

Поддержка и сопровождение программного обеспечения
Компетенции

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

Английский язык
Образование

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

Специализированные курсы и тренинги по программированию.
Логотип РУВИКИ.Медиа Медиафайлы на РУВИКИ.Медиа

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

Сергей Алексеевич Голубев, выпускник ЯрГУ, программист. Сидит за алфавитно-цифровым терминалом 15ИЭ-00-013 (ДВК-1) от ЭВМ «Электроника 100-25». Занимался разработкой и реализацией экспертных систем. В 2008 году работает в США в Калифорнии. — Помещение в 1 корпусе. — Филиал Института проблем кибернетики АН СССР, с августа 1986 Институт программных систем АН СССР. Село Веськово близ Переславля.

История[править | править код]

Британская графиня и математик Ада Лавлейс часто считается первым программистом. Она создала алгоритм, опубликованный в октябре 1842 года, для вычисления чисел Бернулли на аналитической машине Чарльза Бэббиджа. Поскольку машина не была завершена при её жизни, она никогда не видела алгоритм в действии.

В 1941 году немецкий инженер-строитель Конрад Цузе первым выполнил программу на работающей программно-управляемой электронной вычислительной машине[1]. С 1943 по 1945 год, по мнению учёного-компьютерщика Вольфганга К. Гилоя и профессора Рауля Рохаса и др., Цузе создал первый язык программирования высокого уровня, Plankalkül[2][3].

Члены программистской команды «ENIAC» 1945 года — Кей Макналти, Бетти Дженнингс, Бетти Снайдер, Марлин Вескофф, Фран Билас и Рут Лихтерман — с тех пор были признаны первыми профессиональными программистами[4][5].

Специализация[править | править код]

Существуют классификация специалистов, по сфере деятельности:

Место программирования в обществе[править | править код]

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

В 2016 году профессия программист входила в ТОП-50 самых востребованных профессий по версии Минтруда РФ[6].

Образование[править | править код]

В России подготовка специалистов в этой области ведется по следующим направлениям:

  • 01.03.02 «Прикладная математика и информатика»
  • 02.03.01 «Математика и компьютерные науки»
  • 02.03.02 «Фундаментальная информатика и информационные технологии»
  • 02.03.03 «Математическое обеспечение и администрирование информационных систем»
  • 09.02.03 «Программирование в компьютерных системах»
  • 09.02.07 «Информационные системы и программирование»
  • 09.03.01 «Информатика и вычислительная техника»
  • 09.03.02 «Информационные системы и технологии»
  • 09.03.03 «Прикладная информатика»
  • 09.03.04 «Программная инженерия»
  • 09.03.05 «Информационно-аналитические системы безопасности»
  • 10.03.01 «Информационная безопасность»
  • 10.05.03 «Информационная безопасность автоматизированных систем»
  • 10.05.01 «Компьютерная безопасность»
  • 38.03.05 «Бизнес-информатика»

Словоупотребление[править | править код]

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

Прикладные и системные программисты[править | править код]

В настоящее время, как и ранее, широко применяется классификация программистов на прикладных и системных.

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

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

Чем занимается программист[править | править код]

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

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

Программисты работают во многих условиях, включая корпоративные ИТ-отделы, крупные программные компании, небольшие сервисные фирмы и государственные учреждения всех размеров. Многие профессиональные программисты также работают в консалтинговых компаниях на площадках клиентов в качестве подрядчиков. Лицензирование обычно не требуется для работы программистом, хотя профессиональные сертификаты обычно имеются[7]. Программирование считается профессией[8][9][10].

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

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

В большинстве случаев несколько программистов работают вместе в команде под руководством старшего программиста.

Типы программного обеспечения[править | править код]

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

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

Карьерный рост[править | править код]

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

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

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

  • Ведущий программист/разработчик: Руководство небольшой командой разработчиков, участие в архитектурном проектировании.
  • Архитектор программного обеспечения: Разработка общей архитектуры программных систем.
  • Технический руководитель (Team Lead): Управление командой разработчиков, контроль качества кода и соблюдение сроков.
  • Менеджер проекта: Управление проектами разработки программного обеспечения.
  • Руководитель отдела разработки: Управление всем процессом разработки программного обеспечения в организации.
  • Специалист по информационной безопасности: Фокус на защите данных и информационных систем.
  • Data Scientist: Работа с большими данными, разработка аналитических моделей.
  • Предприниматель: Создание собственной компании по разработке программного обеспечения.

Высшие учебные заведения, готовящие программистов[править | править код]

  1. Московский физико-технический институт (МФТИ)
  2. Московский государственный университет имени М.В. Ломоносова (МГУ)
  3. Санкт-Петербургский государственный университет (СПбГУ)
  4. Высшая школа экономики (ВШЭ)
  5. Институт имени Баумана (МГТУ им. Н.Э. Баумана)
  6. Новосибирский государственный университет (НГУ)
  7. Уральский федеральный университет имени первого Президента России Б.Н. Ельцина (УрФУ)
  8. Казанский федеральный университет (КФУ)
  9. Институт технологий и управления (ИТиУ)
  10. «Университет Иннополис»
  11. Российский государственный университет нефти и газа имени И.М. Губкина (РГУ нефти и газа)

Крупные компании с фокусом на разработке программного обеспечения или ИТ-услугах:[править | править код]

  • «VK» (бывшая «Mail.ru Group»): Крупная российская интернет-компания, оператор популярных социальных сетей и мессенджеров, предоставляет ряд интернет-услуг. Обладает значительными ресурсами и специалистами в области разработки.
  • «Лаборатория Касперского»: Глобально известная компания, специализирующаяся на разработке антивирусного программного обеспечения и решений в области кибербезопасности.
  • «Positive Technologies»: Крупная российская компания в области информационной безопасности, разрабатывает и предоставляет услуги по защите данных.
  • Группа компаний «КОРУС Консалтинг»: Предоставляет услуги в области ИТ-консалтинга, внедрения ИТ-систем, разработки ПО.
  • «КРОК»: Системный интегратор, оказывает широкий спектр ИТ-услуг, включая внедрение и поддержку сложных систем.

Известные программисты[править | править код]

  • Дмитрий Агальцов: известен как один из создателей операционной системы ROSA Linuх.
  • Андрей Карпов: один из авторов проекта «Элемент», известной поисковой системы и сервиса новостей.
  • Евгений Касперский: основатель компании «Лаборатория Касперского», мирового лидера в области разработки антивирусного программного обеспечения.

Профессиональный праздник[править | править код]

В 2009 году в России официально утверждён день программиста, который ежегодно празднуется 13 сентябрявисокосный год — 12 сентября) — празднование Дня Программиста установлено на 256-й день года[11].

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

Примечания[править | править код]

  1. Konrad Zuse. computer.org. IEEE (2 апреля 2018). Дата обращения: 4 февраля 2023. Архивировано 26 сентября 2022 года.
  2. Giloi, Wolfgang K. (1997). “Konrad Zuse's Plankalkül: The First High-Level 'non von Neumann' Programming Language”. IEEE Annals of the History of Computing. 19 (2): 17—24. DOI:10.1109/85.586068. Архивировано из оригинала 23 March 2023. Используется устаревший параметр |url-status= (справка)
  3. Rojas, Raúl; Göktekin, Cüneyt; Friedland, Gerald; Krüger, Mike Plankalkül: The First High-Level Programming Language and its Implementation. ResearchGate (февраль 2000). Дата обращения: 4 февраля 2023. Архивировано 12 июня 2022 года.
  4. Memorials. ENIAC Programmers Project. First Byte Productions (16 мая 2014). Дата обращения: 13 марта 2021. Архивировано 1 апреля 2018 года.
  5. Donaldson James, Susan First Computer Programmers Inspire Documentary. ABC News (4 декабря 2007). Дата обращения: 13 марта 2021. Архивировано 16 февраля 2013 года.
  6. Алексей Казанцев. Топ-список 50 наиболее перспективных и востребованных профессий среднего образования в РФ по версии МинТруда. Хабрахабр (7 января 2016). Дата обращения: 25 мая 2017. Архивировано 9 августа 2017 года.
  7. 1 2 Computer Programmers : Occupational Outlook Handbook. www.bls.gov. U.S. Bureau of Labor Statistics. Дата обращения: 13 марта 2021. Архивировано 3 мая 2019 года.
  8. How to Become a Computer Programmer. coursera.org. Coursera Inc. (30 сентября 2022). — «Computer programmers often take courses and seek certifications to enter the field and stay current in their skills in this ever-evolving profession.» Дата обращения: 2 февраля 2023. Архивировано 7 октября 2022 года.
  9. 11 Types of Programming Jobs (With Duties and Salaries). indeed.com. Indeed (17 октября 2022). — «Explore this profession and discover how you can thrive in a computer programming career.» Дата обращения: 2 февраля 2023. Архивировано 2 февраля 2023 года.
  10. Sartore, Melissa What Is a Computer Programmer? computerscience.org (22 декабря 2022). — «Explore this profession and discover how you can thrive in a computer programming career.» Дата обращения: 2 февраля 2023. Архивировано 30 января 2023 года.
  11. Указ Президента РФ от 11 сентября 2009 г. N 1034 «О Дне программиста». Гарант (11 сентября 2009). Дата обращения: 23 мая 2011. Архивировано 19 января 2012 года.

Литература[править | править код]

  • Абрамов Р. Н., «Профессиональные культуры и социальная память на примере дискурса о советских и постсоветских технических специалистах» // Наше прошлое: ностальгические воспоминания или угроза будущему? СПб., 2015.
  • Абрамов Р. Н., «Советская инженерно-техническая интеллигенция 1960-80-х гг.: в поиске границ коллективного сознания» // Вестник Института социологии. № 20.2017.
  • Абрамов Р. Н., «Советские технократические мифологии как форма „теории упущенного шанса“: на примере истории кибернетики в СССР» // Социология науки и технологий. № 2. 2017.
  • Абрамов Р. Н., «„Структурщики“ и „заводские социологи“: к истории исследований социально-профессиональных групп в СССР» // Социологические исследования. № 10. 2014.

Ссылки[править | править код]