Программист , программист или программист — это автор исходного кода компьютера — человек , обладающий навыками компьютерного программирования .
Профессиональные звания разработчика программного обеспечения и инженера-программиста используются для должностей , требующих программиста.
Как правило, программист пишет код на компьютерном языке с намерением создать программное обеспечение , достигающее определенной цели .
Иногда программист или должность определяются по используемому языку или целевой платформе. Например, программист-сборщик , веб-разработчик .
Названия должностей, включающие задачи программирования, имеют разное значение в компьютерной отрасли и для разных людей. Ниже приведены примечательные описания.
Разработчик программного обеспечения в первую очередь реализует программное обеспечение на основе спецификаций и исправляет ошибки . Другие обязанности могут включать в себя проверку изменений кода и тестирование . Чтобы достичь необходимых навыков для работы, они могут получить степень в области компьютерных наук или степень младшего специалиста , посетить учебный лагерь по программированию или стать самоучкой .
Инженер -программист обычно отвечает за те же задачи, что и разработчик, плюс более широкие обязанности в области разработки программного обеспечения, включая создание архитектуры и проектирование новых функций и приложений, ориентацию на новые платформы, управление жизненным циклом разработки программного обеспечения (проектирование, внедрение, тестирование и развертывание), руководство команда программистов, общаясь с клиентами, менеджерами и другими инженерами, рассматривая стабильность и качество системы, а также изучая методологии разработки программного обеспечения.
Иногда от инженера-программиста требуется степень в области разработки программного обеспечения, компьютерной инженерии или информатики. В некоторых странах по закону требуется инженерная степень, чтобы называться инженером . [1] [2] [3]
Британскую графиню и математику Аду Лавлейс часто считают первым программистом. Она является автором алгоритма , который был опубликован в октябре 1842 года, для вычисления чисел Бернулли на аналитической машине Чарльза Бэббиджа . [4] Поскольку машина не была завершена при ее жизни, она ни разу не испытала алгоритм в действии.
В 1941 году немецкий инженер-строитель Конрад Цузе был первым человеком, выполнившим программу на работающем электронном компьютере с программным управлением. [5] По словам ученого-компьютерщика Вольфганга К. Гилоя и профессора искусственного интеллекта Рауля Рохаса и др., с 1943 по 1945 год Цузе создал первый язык программирования высокого уровня Plankalkül . [6] [7]
Члены команды программистов ENIAC 1945 года, в которую входили Кей МакНалти , Бетти Дженнингс , Бетти Снайдер , Марлин Вескофф , Фрэн Билас и Рут Лихтерман , с тех пор считаются первыми профессиональными программистами. [8] [9]
Первой компанией, основанной специально для предоставления программных продуктов и услуг, была Computer Usage Company в 1955 году. До этого времени компьютеры программировались либо клиентами, либо несколькими коммерческими производителями компьютеров того времени, такими как Sperry Rand и IBM . [10]
Индустрия программного обеспечения расширилась в начале 1960-х годов, почти сразу после того, как компьютеры начали продаваться массово. Университеты, правительства и предприятия создали спрос на программное обеспечение. Многие из этих программ были написаны штатными программистами компании; некоторые распространялись между пользователями конкретной машины бесплатно, а другие продавались на коммерческой основе. Другие фирмы, такие как Computer Sciences Corporation (основанная в 1959 году), также начали расти. Производители компьютеров вскоре начали комплектовать свои машины операционными системами , системным программным обеспечением и средами программирования ; IBM 1620 поставлялся с системой символического программирования 1620 и FORTRAN . [11]
Отрасль значительно расширилась с появлением персональных компьютеров (ПК) в середине 1970-х годов, которые предоставили компьютеры среднему офисному работнику. В последующие годы ПК также помог создать постоянно растущий рынок игр, приложений и служебного программного обеспечения. Это привело к увеличению спроса на разработчиков программного обеспечения на тот период времени. [12]
Программисты пишут, тестируют, отлаживают и поддерживают подробные инструкции, называемые компьютерными программами , которым компьютеры должны следовать для выполнения своих функций. Программисты также придумывают, проектируют и тестируют логические структуры для решения проблем с помощью компьютера. Многие технические инновации в программировании — передовые вычислительные технологии и сложные новые языки и инструменты программирования — изменили определение роли программиста и повысили качество большей части работы по программированию, выполняемой сегодня. Названия и описания должностей могут различаться в зависимости от организации. [13]
Программисты работают во многих сферах, включая корпоративные отделы информационных технологий (ИТ), крупные компании-разработчики программного обеспечения , небольшие сервисные фирмы и государственные учреждения любого размера. Многие профессиональные программисты также работают в консалтинговых компаниях на объектах клиентов в качестве подрядчиков . Для работы программистом лицензия обычно не требуется, хотя программисты обычно имеют профессиональные сертификаты . [13] Программирование считается профессией . [14] [15] [16]
Работа программистов широко варьируется в зависимости от типа бизнеса, для которого они пишут программы. Например, инструкции по обновлению финансовых отчетов сильно отличаются от тех, которые требуются для дублирования условий на самолете для обучения пилотов на авиасимуляторе . Простые программы можно написать за несколько часов. Более сложные могут потребовать более года работы, в то время как другие никогда не считаются «завершенными», а скорее постоянно совершенствуются, пока они используются. В большинстве случаев несколько программистов работают вместе как одна команда под руководством старшего программиста. [ нужна цитата ]
Редакторы программирования, также известные как редакторы исходного кода , представляют собой текстовые редакторы, специально разработанные для программистов или разработчиков для написания исходного кода приложения или программы. Большинство этих редакторов включают функции, полезные для программистов, которые могут включать цветовую подсветку синтаксиса , автоматический отступ, автозаполнение , сопоставление скобок, проверку синтаксиса и поддержку плагинов . Эти функции помогают пользователям во время кодирования, отладки и тестирования. [17]
По данным BBC News , 17% студентов-компьютерщиков не смогли найти работу по своей специальности через шесть месяцев после окончания учебы в 2009 году, что было самым высоким показателем среди опрошенных университетских предметов, в то время как в том же опросе 0% студентов-медиков были безработными. [18]
После краха пузыря доткомов (1999–2001 гг.) и Великой рецессии (2008 г.) многие программисты в США остались без работы или с более низкой заработной платой. [19] [20] Кроме того, набор на получение степеней, связанных с компьютером, и других степеней STEM (сокращение STEM) [21] в США снижается в течение многих лет, особенно среди женщин, [22] что, по мнению Бобуфа и Мэйсона, [23] можно объяснить отсутствием общего интереса к науке и математике, а также очевидным страхом, что программирование будет подвергаться тому же давлению, что и карьера в производстве и сельском хозяйстве. Что касается программистов, то в Профессиональном прогнозе Бюро статистики труда США (BLS) первоначально прогнозировался рост числа программистов на 12 процентов с 2010 по 2020 год [24] , а затем снижение на -7 процентов с 2016 по 2026 год, дальнейшее снижение на -9 процентов. с 2019 по 2029 год, снижение на -10 процентов с 2021 по 2031 год. [13] а затем снижение на -11 процентов с 2022 по 2032 год. [25] Поскольку программированием можно заниматься из любой точки мира, компании иногда нанимают программисты в странах, где зарплаты ниже. [13] Однако для разработчиков программного обеспечения BLS прогнозирует на 2019–2029 годы увеличение занятости на 22%, с 1 469 200 до 1 785 200 рабочих мест со средней базовой зарплатой в 110 000 долларов в год. Этот прогноз ниже, чем прогнозируемый ранее в 2010–2020 годах рост на 30% для разработчиков программного обеспечения. [26] [27] [20] Хотя это различие несколько двусмысленно, разработчики программного обеспечения участвуют в более широком спектре аспектов разработки приложений и, как правило, имеют более высокую квалификацию, чем программисты, что делает аутсорсинг менее рискованным. [28] [29] Другая причина сокращения числа программистов заключается в том, что их навыки объединяются с другими профессиями, такими как разработчики, поскольку работодатели со временем повышают требования к должности. Кроме того, существует дополнительная обеспокоенность тем, что недавние достижения в области искусственного интеллекта могут повлиять на спрос на будущие поколения профессий программного обеспечения. [30] [31] [32] [33] [34] [35] [36]
Компьютерные программисты часто проходят курсы и получают сертификаты, чтобы войти в эту область и оставаться в курсе своих навыков в этой постоянно развивающейся профессии.
Изучите эту профессию и узнайте, как добиться успеха в карьере программиста.
Изучите эту профессию и узнайте, как добиться успеха в карьере программиста.