Программист , которого иногда называют разработчиком программного обеспечения , инженером-программистом , программистом или программистом , — это человек, который создает компьютерные программы .
Программист — это тот, кто пишет/создает компьютерное программное обеспечение или приложения, как правило, предоставляя компьютеру инструкции (обычно с использованием определенного языка программирования) или настраивая уже существующий код (например, структуру или существующую базу кода). Большинство программистов имеют обширный опыт вычислений и программирования на многих языках программирования и платформах, таких как язык структурированных запросов (SQL), Perl, расширяемый язык разметки (XML), PHP, HTML, C, C++ и Java.
Перед вышеупомянутыми терминами может стоять префикс наиболее часто используемого программистом компьютерного языка (например, ассемблера , C , C++ , C# , JavaScript , Lisp , PHP , Python , Java и т. д.). Некоторые, кто работает с языками веб-программирования , могут также добавлять к своим названиям префикс web .
Общеотраслевой стандартной терминологии не существует, поэтому «программист» и « инженер-программист » могут относиться к одной и той же должности в разных компаниях. Чаще всего человек с должностью «программист» или «разработчик программного обеспечения» может сосредоточиться на внедрении подробной спецификации в компьютерный код, исправлении ошибок и выполнении проверок кода. Они могут иметь степень в области компьютерных наук , степень младшего специалиста , быть самоучкой или посещать учебные курсы по программированию . Ожидается , что человек с должностью « инженер-программист » будет понимать принципы разработки программного обеспечения, более сложную математику и научный метод , и ему может потребоваться степень в области разработки программного обеспечения, компьютерной инженерии или информатики. В некоторых странах по закону требуется инженерная степень, чтобы называться инженером. В компаниях, которые проводят различие, у инженеров-программистов могут быть более широкие и более высокие обязанности, такие как проектирование или разработка новых программ, функций и платформ; управление жизненным циклом разработки программного обеспечения , включая проектирование, внедрение, тестирование и развертывание; руководство командой программистов; общение с бизнес-заказчиками, программистами и другими инженерами; учет стабильности и качества системы; и изучение методологий разработки программного обеспечения. [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]
Компьютерные программисты часто проходят курсы и получают сертификаты, чтобы войти в эту область и оставаться в курсе своих навыков в этой постоянно развивающейся профессии.
Изучите эту профессию и узнайте, как добиться успеха в карьере программиста.
Изучите эту профессию и узнайте, как добиться успеха в карьере программиста.