Программист , компьютерный программист или кодер — это автор исходного кода компьютера , человек , обладающий навыками компьютерного программирования .
Профессиональные звания «разработчик программного обеспечения» и «инженер-программист» используются для должностей , требующих программиста.
Как правило, программист пишет код на компьютерном языке с намерением создать программное обеспечение , которое достигает определенной цели .
Иногда программист или должность определяются используемым языком или целевой платформой. Например, программист ассемблера , веб-разработчик .
Названия должностей, включающие задачи программирования, имеют разные коннотации в компьютерной индустрии и для разных людей. Ниже приведены примечательные описания.
Разработчик программного обеспечения в первую очередь реализует программное обеспечение на основе спецификаций и исправляет ошибки . Другие обязанности могут включать проверку изменений кода и тестирование . Чтобы получить требуемые навыки для работы, они могут получить степень в области компьютерных наук или младшего специалиста , посетить учебный лагерь по программированию или стать самоучкой .
Инженер -программист обычно отвечает за те же задачи, что и разработчик, а также за более широкие обязанности по разработке программного обеспечения , включая разработку архитектуры и проектирование новых функций и приложений, выбор новых платформ, управление жизненным циклом разработки программного обеспечения (проектирование, реализация, тестирование и развертывание), руководство командой программистов, общение с клиентами, менеджерами и другими инженерами, рассмотрение стабильности и качества системы и изучение методологий разработки программного обеспечения.
Иногда инженеру-программисту требуется иметь степень в области программной инженерии, компьютерной инженерии или компьютерных наук. Некоторые страны юридически требуют, чтобы инженерная степень называлась инженером . [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 Symbolic Programming System и 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 долларов в год. Этот прогноз ниже, чем более ранний прогнозируемый рост на 30% для разработчиков программного обеспечения в 2010–2020 годах. [26] [27] [20] Хотя это различие несколько неоднозначно, разработчики программного обеспечения занимаются более широким спектром аспектов разработки приложений и, как правило, более квалифицированы, чем программисты, что делает аутсорсинг менее рискованным. [28] [29] Еще одной причиной снижения числа программистов является то, что их навыки объединяются с другими профессиями, такими как разработчики, поскольку работодатели со временем повышают требования к должности. Кроме того, существует дополнительная обеспокоенность тем, что недавние достижения в области искусственного интеллекта могут повлиять на спрос на будущие поколения профессий в области программного обеспечения. [30] [31] [32] [33] [34] [35] [36]
Программисты часто проходят курсы и стремятся получить сертификаты, чтобы войти в эту область и оставаться в курсе своих навыков в этой постоянно развивающейся профессии.
Изучите эту профессию и узнайте, как можно преуспеть в карьере программиста.
Изучите эту профессию и узнайте, как можно преуспеть в карьере программиста.