Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Половина всех практикующих сегодня имеет ученые степени в области компьютерных наук , информационных систем или информационных технологий . [ необходима цитата ] Небольшое, но растущее число практикующих специалистов имеют степени в области разработки программного обеспечения. В 1987 году кафедра вычислительной техники в Имперском колледже Лондона представила первые три года разработки программного обеспечения степень бакалавра в Великобритании и мире; в следующем году Университет Шеффилда учредил аналогичную программу. [1] В 1996 году Рочестерский технологический институтустановлена степень программы первого по разработке программного обеспечения бакалавра в Соединенных Штатах, однако, она не не получила ABET аккредитации до 2003 года, в то же время , как Rice University , Университет Кларксон , Милуки школа инженерии и Университет штата Миссисипи получает их. [2] В 1997 году технологический колледж PSG в Коимбаторе, Индия, первым начал получать пятилетнюю интегрированную степень магистра наук в области разработки программного обеспечения. [ необходима цитата ]

С тех пор во многих университетах были учреждены степени бакалавра программной инженерии. Стандартная международная программа обучения программной инженерии SE2004 была определена руководящим комитетом в период с 2001 по 2004 год при финансовой поддержке Ассоциации вычислительной техники и IEEE Computer Society . По состоянию на 2004 год в США около 50 университетов предлагали степени в области разработки программного обеспечения, в которых преподавались как компьютерные науки, так и инженерные принципы и методы. Первая степень магистра программной инженерии была учреждена в Сиэтлском университете.в 1979 году. С тех пор дипломы по программированию стали доступны во многих университетах. Точно так же в Канаде Совет по аккредитации инженеров Канады (CEAB) Канадского совета профессиональных инженеров признал несколько программ инженерии программного обеспечения.

В 1998 году военно- морская аспирантура США (NPS) учредила первую в мире докторскую программу в области программной инженерии. [ необходима цитата ] Кроме того, появилось много онлайн-ученых степеней в области программной инженерии, таких как степень магистра наук в области разработки программного обеспечения (MSE), предлагаемая на факультете компьютерных наук и инженерии Калифорнийского государственного университета в Фуллертоне . Стив МакКоннелл считает, что, поскольку большинство университетов преподают информатику, а не разработку программного обеспечения, настоящих инженеров-программистов не хватает. [3] Университет ETS (Высшая школа технологий) и UQAM(Université du Québec à Montréal) были уполномочены IEEE разработать свод знаний по программной инженерии ( SWEBOK ), который стал стандартом ISO, описывающим совокупность знаний, охватываемых инженером-программистом. [4]

Другие степени [ править ]

В бизнесе некоторые практикующие специалисты по программной инженерии имеют степень CS или Software Engineering . Что касается встроенных систем , некоторые из них имеют степень в области электротехники , электроники , информатики с акцентом на «встроенные системы» или компьютерную инженерию , поскольку встроенное программное обеспечение часто требует детального понимания аппаратного обеспечения. В области медицинского программного обеспечения практикующие врачи могут иметь степени в области медицинской информатики , общей медицины или биологии. [ необходима цитата ]

У некоторых практиков есть степени в области математики , естественных наук , инженерии или технологии ( STEM ). У некоторых есть философия (в частности, логика) или другие нетехнические степени. [ необходима цитата ] Например, Барри Бём получил степень по математике. А у других нет ученых степеней. [ необходима цитата ]

Профессия [ править ]

Работа [ править ]

Большинство инженеров-программистов работают в качестве сотрудников или подрядчиков. Инженеры-программисты работают с предприятиями , государственными учреждениями (гражданскими или военными) и некоммерческими организациями. Некоторые инженеры-программисты работают самостоятельно в качестве инженеров-консультантов. В некоторых организациях есть специалисты для выполнения всех задач в процессе разработки программного обеспечения . В других организациях инженеры-программисты разделяют на основе конкретных задач разработки программного обеспечения. Эти компании иногда нанимают стажеров(возможно, студенты университета или колледжа) в течение короткого времени. В крупных проектах инженеры-программисты отличаются от людей, которые специализируются только на одной роли, потому что они принимают участие как в разработке, так и в программировании проекта. В небольших проектах инженеры-программисты обычно выполняют несколько или все роли одновременно. Специализации включают:

  • в отрасли ( аналитики , архитекторы , разработчики , тестировщики , техподдержка , менеджеры )
  • в академических кругах ( преподаватели , исследователи )

Влияние глобализации [ править ]

Большинство студентов в развитых странах избегают получения дипломов, связанных с разработкой программного обеспечения, из-за страха перед офшорным аутсорсингом (импорт программных продуктов или услуг из других стран) и из-за того, что их вытеснят иностранные визовые работники . [5] Хотя государственная статистика в настоящее время не показывает угрозы самой программной инженерии; связанная с этим карьера, компьютерное программирование , похоже, действительно пострадала. [6] [7] Часто ожидается, что человек сначала станет программистом, а потом его повысят до инженера-программиста. Таким образом, карьера в области разработки программного обеспечения может быть трудной, особенно во время рецессий.

Некоторые консультанты по вопросам карьеры предлагают студенту также сосредоточиться на «человеческих навыках» и деловых навыках, а не на чисто технических навыках, потому что такие «мягкие навыки» якобы труднее передать в офшор. Разумное владение навыками чтения, письма и разговорной речи по-английски требуется большинством работодателей. [8] Похоже, что именно квазиуправленческие аспекты программной инженерии удерживают ее от воздействия глобализации. [9]

Призы [ править ]

В области разработки программного обеспечения есть несколько призов: [10]

  • В наградах Codie является ежегодной наградой , выданной программного обеспечения и информационной промышленность ассоциации передового опыта в области разработки программного обеспечения в индустрии программного обеспечения.
  • Jolt Awards - это награда в индустрии программного обеспечения.
  • Премия Стивенса - это награда за разработку программного обеспечения, вручаемую памяти Уэйна Стивенса.

Использование звания «Инженер» [ править ]

Происхождение термина [ править ]

Маргарет Гамильтон продвигала термин «программная инженерия» во время своей работы над программой Apollo . Термин «инженерия» использовался для подтверждения того, что к работе следует относиться так же серьезно, как и к другим вкладам в развитие технологий. Гамильтон подробно описывает использование этого термина:

Когда я впервые придумал этот термин, никто раньше о нем не слышал, по крайней мере, в нашем мире. Это была постоянная шутка долгое время. Им нравилось подшучивать над моими радикальными идеями. Это был памятный день, когда один из самых уважаемых гуру аппаратного обеспечения объяснил всем на встрече, что он согласен со мной, что процесс создания программного обеспечения также следует рассматривать как инженерную дисциплину, как и в случае с аппаратным обеспечением. Не из-за того, что он принял новый «термин» как таковой, а потому, что мы заслужили его и признание остальных присутствующих в зале как самостоятельных инженеров. [11]

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

В каждое из последних нескольких десятилетий, по крайней мере, один радикально новый подход входил в мейнстрим разработки программного обеспечения (например, структурированное программирование , объектная ориентация ), подразумевая, что область все еще меняется слишком быстро, чтобы считаться инженерной дисциплиной. Сторонники утверждают, что якобы радикальные новые подходы являются скорее эволюционными, чем революционными. [ необходима цитата ]

Отдельные комментаторы резко расходятся во мнениях относительно того, как определять программную инженерию или ее законность как инженерной дисциплины. Дэвид Парнас сказал, что программная инженерия на самом деле является формой инженерии. [12] [13] Стив МакКоннелл сказал, что это не так, но должно быть. [14] Дональд Кнут сказал, что программирование - это искусство и наука. [15] Эдсгер В. Дейкстра утверждал, что термины « программная инженерия» и « инженер-программист» использовались неправильно [ неправильный синтез? ] и должны считаться вредными, особенно вСоединенные Штаты . [16]

Нормативная классификация [ править ]

Канада [ править ]

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

В Онтарио Закон о профессиональных инженерах [17] устанавливает минимальный уровень образования в виде трехлетнего диплома в области технологий Колледжа прикладных искусств и технологий или степени в соответствующей области науки. [18] Тем не менее, бакалавриат технических специальностей и все другие соискатели не могут использовать звание инженера до тех пор, пока они не завершат минимальный четырехлетний опыт работы в дополнение к сдаче экзамена по профессиональной практике (PPE). Если кандидат не имеет степени бакалавра инженера, ему, возможно, придется сдать подтверждающий практический экзамен или специальную программу экзаменов, если комитет не откажется от требований к экзамену. [19] [20]

ИТ-специалистам, имеющим ученые степени в других областях (таких как информатика или информационные системы), запрещено использовать титул « Инженер-программист» или формулировку « инженер-программист» в заголовке, в зависимости от их провинции или территории проживания. [ необходима цитата ]

В некоторых случаях в суд передавались дела о незаконном использовании защищенного титула Engineer . [21]

Европа [ править ]

По всей Европе инженеры с соответствующей квалификацией могут получить профессиональную квалификацию европейского инженера .

Франция [ править ]

Во Франции термин ingénieur (инженер) не является охраняемым титулом и может использоваться кем угодно, даже теми, кто не имеет ученой степени.

Тем не менее, звание Ingénieur Diplomé (дипломированный инженер) является официальным ученым званием, которое охраняется государством и связано с Diplôme d'Ingénieur , одной из самых престижных академических степеней во Франции.

Исландия [ править ]

Использование титула tölvunarfræðingur ( ученый-компьютерщик ) защищено законом Исландии. [22] Программная инженерия преподается на факультетах компьютерных наук в исландских университетах. Согласно исландскому законодательству, при присвоении степени за границей необходимо получить разрешение министра промышленности, прежде чем использовать звание. Звание присуждается тем, кто получил степень бакалавра компьютерных наук в признанном высшем учебном заведении. [23]

Новая Зеландия [ править ]

В Новой Зеландии Институт профессиональных инженеров Новой Зеландии (IPENZ), который лицензирует и регулирует деятельность дипломированных инженеров страны (CPEng), признает программную инженерию законной отраслью профессиональной инженерии и принимает заявки инженеров-программистов для получения дипломированного статуса при условии, что они имеют высшее образование по утвержденным предметам. Программная инженерия включена, тогда как информатика обычно не входит. [24]

Соединенные Штаты [ править ]

Бюро статистики труда (BLS) классифицирует инженеры компьютерного программного обеспечения в качестве подкатегории «компьютерных специалистов», наряду с профессиями, как компьютерные ученые, программист, администратор базы данных и сетевым администратор. [25] BLS классифицирует все другие инженерные дисциплины, включая инженеров по компьютерному оборудованию, как инженеров . [26]

Многие штаты запрещают лицам, не имеющим лицензии, называть себя инженерами или указывать отрасли или специальности, на которые не распространяется действие лицензионных актов. [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] Во многих штатах звание Инженер зарезервировано для лиц с лицензией на профессиональную инженерию, указывающую на то, что они имеют продемонстрировал минимальный уровень компетентности благодаря аккредитованному инженерному образованию, квалифицированному инженерному опыту и экзаменам инженерного совета. [37] [38] [29] [30] [31] [32] [33] [34] [35] [36]

В апреле 2013 года Национальный совет экспертов по проектированию и геодезии (NCEES) начал предлагать экзамен на профессионального инженера (PE) по программной инженерии. Экзамен был разработан совместно с IEEE Computer Society . [39] NCEES закрыл экзамен в апреле 2019 года из-за отсутствия участников. [40]

См. Также [ править ]

  • Программист
  • Бакалавр наук в области информационных технологий
  • Бакалавр программной инженерии
  • Инженер по выпуску
  • Институт программной инженерии

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

  1. ^ Каулинг, AJ 1999. Первое десятилетие программы бакалавриата по программной инженерии. Аня. Софтв. Англ. 6, 1–4 (апр. 1999), 61–90.
  2. ^ "Инженерные программы, аккредитованные ABET" . 3 апреля 2007 . Проверено 3 апреля 2007 года .
  3. МакКоннелл, Стив (10 июля 2003 г.). Профессиональная разработка программного обеспечения: более короткие графики, более качественные продукты, более успешные проекты, повышение карьеры . ISBN 978-0-321-19367-4 . 
  4. ^ Разработка программного обеспечения - Руководство по совокупности знаний в области программной инженерии (SWEBOK) , Международная организация по стандартизации, 2015 г. , получено 11 января 2020 г.
  5. ^ «Новости IT, карьера, бизнес-технологии, обзоры» . Компьютерный мир .
  6. ^ "Программисты" .
  7. ^ "Рост разработчиков программного обеспечения в Северной Америке замедляется | InfoWorld | Новости | 2007-03-13 | Роберт Маллинс, Служба новостей IDG" . Архивировано из оригинала 4 апреля 2009 года.
  8. ^ «Горячие навыки, холодные навыки» . Архивировано из оригинального 22 февраля 2014 года.
  9. ^ Двойные роли: меняющееся лицо ИТ
  10. ^ Некоторые внешние ссылки:
    • SIGSOFT Награды
    • Премия ICSE за самую влиятельную бумагу
    • Список различных наград в области программной инженерии (и связанных с SE)
  11. ^ Лоуренс, Снайдер (2017). Свободное владение информационными технологиями: навыки, концепции и возможности ([седьмое издание] изд.). Нью-Йорк, Нью-Йорк. ISBN 978-0134448725. OCLC  960641978 .
  12. Парнас, Дэвид Л. (1998). «Программы программной инженерии не являются программами по информатике» . Анналы программной инженерии . 6 : 19–37. DOI : 10,1023 / A: 1018949113292 . S2CID 35786237 . , п. 19: «Вместо того, чтобы относиться к разработке программного обеспечения как к подполе информатики, я рассматриваю ее как элемент набора, {гражданское строительство, машиностроение, химическая инженерия, электротехника, ....}».
  13. Парнас, Дэвид Л. (1998). «Программы программной инженерии не являются программами по информатике» . Анналы программной инженерии . 6 : 19–37. DOI : 10,1023 / A: 1018949113292 . S2CID 35786237 . , п. 20: «В этом документе утверждается, что внедрение аккредитованных профессиональных программ в области разработки программного обеспечения, программ, которые смоделированы на основе программ по традиционным инженерным дисциплинам, поможет повысить как качество, так и количество выпускников, которые благодаря своему образованию хорошо подготовлены к развитию заслуживающих доверия программные продукты ".
  14. ^ МакКоннелл, Стив (август 2003 г.). Профессиональная разработка программного обеспечения: более короткие графики, лучшие проекты, превосходные продукты, расширенная карьера . Бостон, Массачусетс: Аддисон-Уэсли. ISBN 0-321-19367-9., п. 39: «На мой взгляд, ответ на этот вопрос ясен: профессиональная разработка программного обеспечения должна быть инженерной. Не так ли? Нет. Но так должно быть? Несомненно, да».
  15. ^ Кнут, Дональд (1974). «Компьютерное программирование как искусство» (PDF) . Коммуникации ACM . 17 (12): 667–673. DOI : 10.1145 / 361604.361612 . S2CID 207685720 .  Стенограмма лекции по Премии Тьюринга 1974 года .
  16. ^ Дейкстра, Эдсгер W ; расшифровано Марио Беландом (23 ноября 2004 г.) [Впервые опубликовано 3 декабря 1993 г.]. «Война все еще продолжается (рукопись Остин, 3 декабря 1993 г.)» . EW Dijkstra Archive . Техасский университет в Остине, факультет компьютерных наук . Проверено 17 февраля 2007 года .Когда этот термин был придуман в 1968 году Ф.Л. Бауэром из Технологического университета Мюнхена, я приветствовал его. [. . .] Я интерпретировал введение термина «программная инженерия» как удачное отражение того факта, что проектирование программных систем было делом преимущественно для инженера-математика. [. . .]. Как только термин прибыл в США, он был освобожден от всего его технического содержания. Это должно было быть так, потому что в своем первоначальном значении это было совершенно неприемлемо [. . .] Между тем, разработка программного обеспечения стала почти пустым термином, что было прекрасно продемонстрировано Data General, которая в одночасье повысила всех своих программистов до высокого ранга «инженеров-программистов»!
  17. ^ "Закон о профессиональных инженерах" . 24 июля 2014 г.
  18. ^ «Академические требования» . www.peo.on.ca .
  19. ^ «Программа подтверждающих экзаменов» . www.peo.on.ca .
  20. ^ "mybtechdegree.ca" . mybtechdegree.ca .
  21. ^ «Профессиональные инженеры Онтарио» - «Квебекские инженеры выиграли судебную тяжбу против Microsoft»
  22. ^ "Lög um löggildingu nokkurra starfsheita sérfræðinga í tækni- og hönnunargreinum" (на исландском языке). Парламент Исландии - Альтинг . 11 марта 1996 . Проверено 25 августа 2014 года .
  23. ^ "Lög um breytingu á lögum № 8/1996, um löggildingu nokkurra starfsheita sérfræðinga í tækni- og hönnunargreinum, með síðari breytingum" . Alingi . Проверено 3 октября 2016 года .
  24. ^ «Рекомендации по передовой практике разработки программного обеспечения в Новой Зеландии» (PDF) . IPENZ .
  25. ^ Министерство труда и статистики США Система стандартной классификации профессий (SOC) 2000 года: 15-0000 Компьютерные и математические профессии
  26. ^ Министерство труда и статистики США Система стандартной классификации профессий (SOC) 2000 года: 17-0000 Архитектура и инженерные профессии
  27. ^ Флоридский совет профессионального проектирования. «Устав Флориды 2019 г.» .
  28. ^ ПРОФЕССИОНАЛЬНЫЕ ИНЖЕНЕРЫ И ЗЕМЕЛЬНИКИ. «OCGA § 43-15-1» (PDF) .
  29. ^ a b Технический совет штата Нью-Джерси. «АДМИНИСТРАТИВНЫЙ КОДЕКС НЬЮ-ДЖЕРСИ, ГЛАВА 13 ЗАКОН И ОБЩЕСТВЕННАЯ БЕЗОПАСНОСТЬ, ГЛАВА 4 0» (PDF) .
  30. ^ a b Закон о инженерии SC. «Свод законов - Раздел 40 - Глава 22 - Инженеры и геодезисты» .
  31. ^ a b AL Техническое право. «Закон штата Алабама, регулирующий практику инженерных изысканий и землеустройства» (PDF) .
  32. ^ a b Закон о инженерии VW. «Законы и правила инженерного права Западной Вирджинии» (PDF) .
  33. ^ a b Нормы инженерного права. «Устав, правила и этика штата Оклахома для профессиональных инженеров» (PDF) .
  34. ^ а б Н.В. Инженерное право. «NRS: Глава 625 - Профессиональные инженеры и землеустроители» . Незаконная инженерная деятельность .
  35. ^ a b MS инженерное право. «Часть 901: Правила и положения Лицензионного совета штата Миссисипи для профессиональных инженеров и геодезистов» (PDF) .
  36. ^ a b IL Инженерное право. "225 ILCS 325 / Закон о профессиональной инженерной практике 1989 года" .
  37. ^ Флоридский совет профессионального проектирования. «Глава 471» (PDF) .
  38. ^ ГРУЗИЯ СОВЕТ ПРОФЕССИОНАЛЬНЫХ ИНЖЕНЕРОВ И ЗЕМЕЛЬНИКОВ. «OCGA § 43-15-1» (PDF) .
  39. ^ «Новый экзамен по разработке программного обеспечения, утвержденный для лицензирования» . Компьютерное общество IEEE. 4 мая 2012 . Проверено 6 августа 2018 года .
  40. ^ "NCEES прекращает экзамен PE Software Engineering" . Национальный совет экспертов по инженерно-геодезическим работам. 13 марта 2018 . Проверено 6 августа 2018 года .