stringtranslate.com

Программист

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

Программист — это тот, кто пишет/создает компьютерное программное обеспечение или приложения, как правило, предоставляя компьютеру инструкции (обычно с использованием определенного языка программирования) или настраивая уже существующий код (например, структуру или существующую базу кода). Большинство программистов имеют обширный опыт вычислений и программирования на многих языках программирования и платформах, таких как язык структурированных запросов (SQL), Perl, расширяемый язык разметки (XML), PHP, HTML, C, C++ и Java.

Перед вышеупомянутыми терминами может стоять префикс наиболее часто используемого программистом компьютерного языка (например, ассемблера , C , C++ , C# , JavaScript , Lisp , PHP , Python , Java и т. д.). Некоторые, кто работает с языками веб-программирования , могут также добавлять к своим названиям префикс web .

Терминология

Общеотраслевой стандартной терминологии не существует, поэтому «программист» и « инженер-программист » могут относиться к одной и той же должности в разных компаниях. Чаще всего человек с должностью «программист» или «разработчик программного обеспечения» может сосредоточиться на внедрении подробной спецификации в компьютерный код, исправлении ошибок и выполнении проверок кода. Они могут иметь степень в области компьютерных наук , степень младшего специалиста , быть самоучкой или посещать учебные курсы по программированию . Ожидается , что человек с должностью « инженер-программист » будет понимать принципы разработки программного обеспечения, более сложную математику и научный метод , и ему может потребоваться степень в области разработки программного обеспечения, компьютерной инженерии или информатики. В некоторых странах по закону требуется инженерная степень, чтобы называться инженером. В компаниях, которые проводят различие, у инженеров-программистов могут быть более широкие и более высокие обязанности, такие как проектирование или разработка новых программ, функций и платформ; управление жизненным циклом разработки программного обеспечения , включая проектирование, внедрение, тестирование и развертывание; руководство командой программистов; общение с бизнес-заказчиками, программистами и другими инженерами; учет стабильности и качества системы; и изучение методологий разработки программного обеспечения. [1] [2] [3]

История

Многие считают Аду Лавлейс первым программистом. [4]

Британскую графиню и математику Аду Лавлейс часто считают первым программистом, поскольку она первой опубликовала часть программы (в частности, алгоритм ) , предназначенную для реализации на аналитической машине Чарльза Бэббиджа , в октябре 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]

Смотрите также

Рекомендации

  1. ^ «Программист против инженера-программиста: в чем разница?». ce.arizona.edu . Университет Аризоны. 11 декабря 2020 года. Архивировано из оригинала 29 июля 2021 года . Проверено 29 июля 2021 г.
  2. Хайнц, Кейт (23 февраля 2021 г.). «Инженер-программист против программиста: в чем разница?». встроенный.com . Встроенный. Архивировано из оригинала 29 июля 2021 года . Проверено 29 июля 2021 г.
  3. Джейкоб, Фрейя (16 марта 2020 г.). «6 ключевых различий между инженером-программистом и программистом». Simpleprogrammer.com . Простой программист. Архивировано из оригинала 29 июля 2021 года . Проверено 29 июля 2021 г.
  4. ^ Аб Фуэги, Дж.; Фрэнсис, Дж. (октябрь – декабрь 2003 г.). «Лавлейс и Бэббидж и создание «заметок» 1843 года».". IEEE Annals of the History of Computing . 25 (4): 16–26. doi : 10.1109/MAHC.2003.1253887.
  5. ^ "Конрад Цузе". компьютер.орг . IEEE. 2 апреля 2018 г. Архивировано из оригинала 26 сентября 2022 г. . Проверено 4 февраля 2023 г.
  6. ^ Гилой, Вольфганг К. (1997). «Plankalkül Конрада Цузе: первый язык программирования высокого уровня, не фон Нейман». IEEE Анналы истории вычислений . 19 (2): 17–24. дои : 10.1109/85.586068. Архивировано из оригинала 23 марта 2023 года.
  7. ^ Рохас, Рауль; Гёктекин, Джюнейт; Фридланд, Джеральд; Крюгер, Майк (февраль 2000 г.). «Plankalkül: первый язык программирования высокого уровня и его реализация». www.researchgate.net . Архивировано из оригинала 12 июня 2022 года . Проверено 4 февраля 2023 г.
  8. ^ «Мемориалы». eniacprogrammers.org . Производство первого байта. 16 мая 2014 г. Архивировано из оригинала 1 апреля 2018 г. . Проверено 13 марта 2021 г.
  9. Дональдсон Джеймс, Сьюзен (4 декабря 2007 г.). «ABC News: Первые программисты вдохновляют документальный фильм». abcnews.go.com . Новости Эй-Би-Си. Архивировано из оригинала 16 февраля 2013 года . Проверено 13 марта 2021 г.
  10. ^ Элмер К. Куби (лето 1994 г.). «Воспоминания о первой компании-разработчике программного обеспечения». Анналы истории вычислительной техники . 16 (2): 65–71. дои : 10.1109/85.279238. S2CID  5733812.
  11. ^ «Архивы IBM: Система обработки данных 1620» . www.ibm.com . 23 января 2003 г. Архивировано из оригинала 10 февраля 2021 г. Проверено 17 марта 2021 г.
  12. ^ Бюро, Перепись населения США. «Профессии в области информационных технологий». Бюро переписи населения США . Архивировано из оригинала 22 марта 2021 года . Проверено 21 марта 2021 г.
  13. ^ abcd «Программисты: Справочник по профессиональным перспективам». www.bls.gov . Бюро статистики труда США. Архивировано из оригинала 3 мая 2019 года . Проверено 13 марта 2021 г.
  14. ^ «Как стать программистом» . Coursera.org . Coursera Inc., 30 сентября 2022 г. Архивировано из оригинала 7 октября 2022 г. Проверено 2 февраля 2023 г. Компьютерные программисты часто проходят курсы и получают сертификаты, чтобы войти в эту область и оставаться в курсе своих навыков в этой постоянно развивающейся профессии.
  15. ^ «11 типов профессий по программированию (с обязанностями и зарплатой)» . действительно.com . Действительно. 17 октября 2022 года. Архивировано из оригинала 2 февраля 2023 года . Проверено 2 февраля 2023 г. Изучите эту профессию и узнайте, как добиться успеха в карьере программиста.
  16. Сарторе, Мелисса (22 декабря 2022 г.). «Кто такой программист?». www.computerscience.org . Архивировано из оригинала 30 января 2023 года . Проверено 2 февраля 2023 г. Изучите эту профессию и узнайте, как добиться успеха в карьере программиста.
  17. ^ "BBC Bitesize - GCSE Computer Science - Программное обеспечение для программирования и IDE - Версия 4" . www.bbc.co.uk. _ Архивировано из оригинала 23 сентября 2017 года . Проверено 13 марта 2021 г.
  18. Шанклеман, Мартин (1 июля 2010 г.). «Каждый десятый британский выпускник безработный» . Новости BBC . Архивировано из оригинала 8 марта 2021 года . Проверено 13 марта 2021 г.
  19. ^ Манн, Амар; Нуньес, Тони (август 2009 г.). «После пузыря доткомов: занятость и заработная плата в сфере высоких технологий в Кремниевой долине в 2001 и 2008 годах» (PDF) . Региональный отчет, Бюро статистики труда США : 1–8. Архивировано (PDF) из оригинала 18 марта 2021 года . Проверено 13 марта 2021 г.
  20. ↑ ab Charette, Роберт Н. (30 августа 2013 г.). «Кризис STEM — это миф» . ieee.org (мнение). IEEE. Архивировано из оригинала 7 августа 2021 года . Проверено 7 августа 2021 г.
  21. ^ «Истощение STEM: пути студентов колледжей в области STEM и из них» . nces.ed.gov . 26 ноября 2013 г. Архивировано из оригинала 18 марта 2021 г. Проверено 13 марта 2021 г.
  22. ^ «Портал разработчиков HP | Международная женская неделя HP: количество женщин в компьютерных науках снижается с 1980-х годов» . Developers.hp.com . Архивировано из оригинала 26 февраля 2021 года . Проверено 13 марта 2021 г.
  23. ^ Бобуф, Тереза; Мейсон, Джон (июнь 2005 г.). «Почему такой высокий уровень отсева студентов-компьютерщиков: некоторые мысли и наблюдения». Бюллетень ACM SIGCSE . 37 (2): 103–106. дои : 10.1145/1083431.1083474. S2CID  207157501.
  24. ^ «Программисты: Справочник по профессиональным перспективам: Бюро статистики труда США» . Архивировано из оригинала 15 сентября 2012 года.
  25. ^ «Программисты: Справочник по профессиональным перспективам» . Бюро статистики труда США .
  26. ^ «Разработчики программного обеспечения, аналитики по обеспечению качества и тестировщики: Справочник по профессиональным перспективам: Бюро статистики труда США» . www.bls.gov . Архивировано из оригинала 14 мая 2019 года . Проверено 29 июля 2021 г.
  27. ^ «Разработчики программного обеспечения: Справочник по профессиональным перспективам» . Бюро статистики труда США . 18 июля 2012 г. Архивировано из оригинала 1 сентября 2013 г.
  28. ^ Брукс, Эшли (2019). «Программист против разработчика программного обеспечения: расшифровка различий». Университет Расмуссена . Архивировано из оригинала 30 июля 2021 года . Проверено 29 июля 2021 г.
  29. ^ «Сравнение двух ключевых профессий: разработчик программного обеспечения и программист» . online.maryville.edu . 31 июля 2020 года. Архивировано из оригинала 30 июля 2021 года . Проверено 29 июля 2021 г.
  30. ^ «Работа инженера-программиста в опасности из-за инструментов, подобных ChatGPT? Вот что говорит генеральный директор Google Сундар Пичаи» . Бизнес сегодня . 6 апреля 2023 г. Проверено 12 мая 2023 г.
  31. ^ «ChatGPT может сделать эти вакансии устаревшими» . 25 января 2023 г. Проверено 12 мая 2023 г.
  32. ^ Кей, Грейс. «Инженеры-программисты паникуют из-за того, что их заменяет ИИ». Бизнес-инсайдер . Проверено 12 мая 2023 г.
  33. ^ Фаулер, Гэри. «Сообщение совета: как ChatGPT повлияет на рабочие места?». Форбс . Проверено 12 мая 2023 г.
  34. ^ Ито, Аки. «ChatGPT означает конец кодирования в том виде, в котором мы его знаем». Бизнес-инсайдер . Проверено 12 мая 2023 г.
  35. ^ Зинкула, Джейкоб; Мок, Аарон. «Возможно, ChatGPT придет на наши рабочие места. Вот 10 должностей, которые ИИ, скорее всего, заменит». Бизнес-инсайдер . Проверено 12 мая 2023 г.
  36. Коэн, Микаэла (15 апреля 2023 г.). «Это технологические рабочие места, которым больше всего угрожают ChatGPT и AI», CNBC . Проверено 12 мая 2023 г.

дальнейшее чтение

Внешние ссылки