Профессионализм в области разработки программного обеспечения
Профессионализм в области разработки программного обеспечения — это движение за превращение разработки программного обеспечения в профессию с такими аспектами, как программы получения степеней и сертификации, профессиональные ассоциации , профессиональная этика и государственное лицензирование. Эта область является лицензированной дисциплиной в Техасе, США. [1] ( Техасский совет профессиональных инженеров , с 2013 г.), Engineers Australia [2] (Аккредитация курсов с 2001 года, а не лицензирование) и во многих провинциях Давао.
История
[ редактировать ]В 1993 году IEEE и ACM начали совместную работу под названием JCESEP , которая в 1998 году превратилась в SWECC , чтобы изучить возможность превращения разработки программного обеспечения в профессию. ACM вышла из SWECC в мае 1999 года, возражая против ее поддержки усилий Техаса по профессионализации и получению государственных лицензий для инженеров-программистов . ACM определила, что уровень знаний и практики в области разработки программного обеспечения слишком незрелый, чтобы гарантировать лицензирование. и что лицензирование дало бы ложные гарантии компетентности, даже если бы совокупность знаний была зрелой. [3] IEEE продолжал поддерживать превращение разработки программного обеспечения в отрасль традиционной инженерии.
В Канаде Канадское общество обработки информации установило процесс сертификации специалистов по информационным системам . Кроме того, к концу 1990-х годов (1999 год в Британской Колумбии) была официально создана дисциплина разработки программного обеспечения как профессиональная инженерная дисциплина. Это вызвало некоторые споры между провинциальными инженерными ассоциациями и компаниями, которые называют своих разработчиков инженерами-программистами, хотя эти разработчики не имели лицензии ни от одной инженерной ассоциации. [4]
В 1999 году Группа по разработке программного обеспечения была сформирована в рамках соглашения между Engineering Canada и Мемориальным университетом Ньюфаундленда по поводу использования школой термина «инженерия программного обеспечения» в названии программы информатики. Были высказаны опасения по поводу неуместного использования названия «программная инженерия» для описания неинженерных программ, которое может привести к путанице среди студентов и общественности и в конечном итоге поставить под угрозу общественную безопасность. [5] Группа рекомендовала создать Совет по аккредитации разработки программного обеспечения, но целевая группа, созданная для выполнения этих рекомендаций, не смогла добиться согласия различных заинтересованных сторон с конкретными предложениями, в результате чего были созданы отдельные советы по аккредитации. [6] [7]
Этика
[ редактировать ]разработки программного обеспечения Этика — это обширная область. В каком-то смысле это началось как нереалистичная попытка объявить ошибки неэтичными. [ нужна ссылка ] Совсем недавно это было определено как применение как информатики, так и инженерной философии, принципов и практик к проектированию и разработке программных систем. Из-за такой инженерной направленности и более широкого использования программного обеспечения в критически важных системах и системах, критически важных для человека, где сбой может привести к большим потерям капитала, но, что более важно, к жизням, таким как система Therac-25 , многие этические кодексы были разработаны рядом компаний. общества, ассоциации и организации. Эти организации, такие как ACM , IEEE , EGBC [8] и Институт сертификации специалистов по вычислительной технике (ICCP) [9] иметь официальные этические кодексы. Соблюдение этического кодекса является условием членства или сертификации. По мнению ICCP, нарушение кодекса может привести к отзыву сертификата. Кроме того, все инженерные общества требуют соблюдения своих этических кодексов; нарушение кодекса приводит к отзыву лицензии на занятие инженерной деятельностью в юрисдикции общества.
Эти этические кодексы обычно имеют много общего. Обычно они связывают необходимость действовать последовательно с интересами клиента, интересами работодателя и, что наиболее важно, интересами общественности. Они также подчеркивают необходимость действовать профессионально и продвигать этический подход к профессии.
Кодекс этики разработки программного обеспечения [10] [11] был одобрен ACM и IEEE-CS в качестве стандарта для преподавания и практики разработки программного обеспечения.
Примеры кодексов поведения
[ редактировать ]Ниже приведены примеры кодексов поведения профессиональных инженеров. Эти 2 были выбраны, потому что в обеих юрисдикциях есть статус профессиональных инженеров-программистов.
- Инженеры и геологи Британской Колумбии (EGBC): [12] Все члены Кодекса этики ассоциации должны гарантировать, что правительство, общественность могут рассчитывать на то, что профессиональные инженеры Британской Колумбии и ученые-геологи всегда будут действовать справедливо, вежливо и добросовестно по отношению к своим работодателям, сотрудникам и клиентам, а также отстаивать правду. честность и надежность, а также охрана человеческой жизни и окружающей среды. Это лишь один из многих способов, с помощью которых профессиональные инженеры Британской Колумбии и профессиональные геологи-геологи сохраняют свои конкурентные преимущества на современном глобальном рынке.
- Ассоциация профессиональных инженеров и геологов Альберты (APEGA): [13] В отличие от Британской Колумбии, правительство Альберты предоставило самоуправление инженерам, геологам и геофизикам. Все члены APEGA должны принять на себя юридическую и этическую ответственность за свою работу и защищать интересы общественности и общества. APEGA — это стандартное руководство профессиональной практики, призванное обеспечить защиту общественных интересов инженеров, геологов и геофизиков в Альберте.
Мнения об этике
[ редактировать ]Билл Джой утверждал, что «лучшее программное обеспечение» может дать возможность только привилегированным конечным пользователям, сделать реальность более мощной, а не более гуманной, и в конечном итоге уйти от себя, чтобы «будущее не нуждалось в нас». Он открыто поставил под сомнение цели разработки программного обеспечения в этом отношении, спросив, почему она не пытается быть более этичной, а не более эффективной. [ нужна ссылка ] В своей книге «Кодекс и другие законы киберпространства » Лоуренс Лессиг утверждает, что компьютерный код может регулировать поведение во многом так же, как и юридический кодекс. Лессиг и Джой призывают людей задуматься о последствиях разрабатываемого программного обеспечения не только с функциональной точки зрения, но и о том, как оно влияет на общественность и общество в целом.
В целом, из-за молодости разработки программного обеспечения многие этические кодексы и ценности были заимствованы из других областей, таких как машиностроение и гражданское строительство. Однако существует множество этических вопросов, с которыми не сталкивались даже эти, гораздо более древние, дисциплины. Вопросы об этическом воздействии интернет-приложений, имеющих глобальный охват, до недавнего времени никогда не возникали, а другие этические вопросы еще предстоит решить. Это означает, что этические кодексы разработки программного обеспечения находятся в стадии разработки и будут меняться и обновляться по мере возникновения новых вопросов. [ нужна ссылка ]
Независимые экзамены по лицензированию и сертификации
[ редактировать ]С 2002 года Компьютерное общество IEEE предлагало сертификационный экзамен Certified Software Development Professional (CSDP) (в 2015 году он был заменен несколькими аналогичными сертификатами). Группа экспертов из промышленности и научных кругов разработала и поддерживает этот экзамен. Дональд Багерт, а в более поздний период Стивен Токи возглавили аттестационный комитет. Содержание экзамена сосредоточено на руководстве SWEBOK ( Свод знаний по программной инженерии ) с дополнительным упором на области знаний в области профессиональной практики и экономики разработки программного обеспечения (KA). Мотивацией было создание структуры на международном уровне для областей знаний в области разработки программного обеспечения. [14] [15]
Критика лицензирования
[ редактировать ]Профессиональное лицензирование подвергалось критике по многим причинам. [3]
- Область разработки программного обеспечения слишком незрела
- Лицензирование дало бы ложные гарантии компетентности, даже если бы совокупность знаний была зрелой.
- инженерам-программистам придется годами изучать математический анализ , физику и химию Чтобы сдать экзамены, , что не имеет значения для большинства практиков-программистов. Многие (большинство?) специалистов по информатике не получают ученых степеней в инженерных школах, поэтому они, вероятно, не имеют квалификации для сдачи инженерных экзаменов.
Лицензирование по стране
[ редактировать ]Соединенные Штаты
[ редактировать ]Бюро статистики труда (BLS) классифицирует инженеров-программистов как подкатегорию «компьютерных специалистов», наряду с такими профессиями, как ученый-компьютерщик, программист, администратор баз данных и сетевой администратор. [16] BLS классифицирует все другие инженерные дисциплины, включая инженеров компьютерного оборудования, как инженеров . [17]
Многие штаты запрещают лицам, не имеющим лицензии, называть себя инженерами или указывать отрасли или специальности, на которые не распространяются законы о лицензировании. [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] Во многих штатах звание инженера зарезервировано для лиц с профессиональной инженерной лицензией, подтверждающей, что они продемонстрировали минимальный уровень компетентности благодаря аккредитованному инженерному образованию, квалифицированному инженерному опыту и сдаче экзаменов инженерного совета. [28] [29] [20] [21] [22] [23] [24] [25] [26] [27]
В апреле 2013 года Национальный совет экзаменаторов по инженерно-геодезическим работам (NCEES) начал предлагать экзамен профессионального инженера (PE) по разработке программного обеспечения. Экзамен был разработан совместно с IEEE Computer Society . [30] NCEES завершил экзамен в апреле 2019 года из-за отсутствия участия. [31]
Американское национальное общество профессиональных инженеров разрабатывает типовой закон и лоббирует в законодательных органах принятие правил лицензирования профессиональной деятельности . Типовой закон требует:
- четырехлетняя степень по университетской программе, аккредитованной Комитетом по инженерной аккредитации (EAC) Совета по аккредитации техники и технологий (ABET),
- восьмичасовой экзамен по основам инженерного дела (FE), обычно сдаваемый на последнем курсе колледжа,
- Четыре года приемлемого опыта,
- второй экзамен по принципам и практике, и
- письменные рекомендации от других профессиональных инженеров.
В некоторых штатах требуется непрерывное образование.
В Техасе Дональд Багерт из Техаса стал первым профессиональным инженером-программистом в США 4 сентября 1998 г. или 9 октября 1998 г. По состоянию на май 2002 г. Техас выдал 44 профессиональные инженерные лицензии для инженеров-программистов. Рочестерский технологический институт присвоил первую степень бакалавра в области разработки программного обеспечения в 2001 году. За ним последовали и другие университеты.
Канада
[ редактировать ]В Канаде использование должности «инженер» контролируется в каждой провинции саморегулируемыми профессиональными инженерными организациями, которым также поручено обеспечивать соблюдение регулирующего законодательства. Цель состоит в том, чтобы любое лицо, выдающее себя за инженера, было подтверждено как имеющее образование определенного аккредитованного уровня, а его профессиональная практика подлежит этическому кодексу и проверке со стороны коллег. Использование звания инженера в Канаде также незаконно, если физическое лицо не имеет лицензии.
ИТ-специалистам, имеющим ученые степени в других областях (например, в области компьютерных наук или информационных систем), запрещено использовать звание «Инженер-программист» или формулировку «Инженер-программист» в названии, в зависимости от их провинции или территории проживания. [ нужна ссылка ]
В некоторых случаях в суд были переданы дела о незаконном использовании защищенного титула «Инженер» . [32]
Большинство канадцев, получивших профессиональные лицензии на разработку программного обеспечения, изучают разработку программного обеспечения, компьютерную инженерию или электротехнику. Зачастую эти люди уже имеют квалификацию, чтобы стать профессиональными инженерами в своих областях, но предпочитают получить лицензию инженеров-программистов, чтобы отличаться от ученых-компьютерщиков.
В Британской Колумбии Ограниченная лицензия выдается инженерами и геологами Британской Колумбии. Сборы взимаются EGBC за Ограниченного Лицензиата.
Онтарио
[ редактировать ]В Онтарио действует Закон о профессиональных инженерах. [33] предусматривает минимальный уровень образования: трехлетний диплом технологического факультета колледжа прикладных искусств и технологий или степень в соответствующей области науки. [34] Однако студентам инженерных специальностей и всем остальным кандидатам не разрешается использовать звание инженера до тех пор, пока они не пройдут минимальный четырехлетний опыт работы в дополнение к сдаче экзамена по профессиональной практике (PPE). Если заявитель не имеет степени бакалавра инженерного дела, ему, возможно, придется сдать подтверждающий практический экзамен или специальную экзаменационную программу, если комитет не откажется от экзаменационных требований. [35] [36]
Человеку должна быть предоставлена лицензия «профессионального инженера», чтобы иметь право заниматься профессиональной разработкой программного обеспечения в качестве профессионального инженера в Онтарио. Чтобы получить лицензию профессиональных инженеров Онтарио (PEO), необходимо:
- Быть не моложе 18 лет.
- Быть гражданином или постоянным жителем Канады.
- Имейте хороший характер. Кандидатам будет предложено ответить на вопросы и сделать письменное заявление в форме в качестве проверки этики.
- Соответствовать установленным PEO академическим требованиям для получения лицензии.
- Сдать экзамен по профессиональной практике.
- Соответствовать требованиям к опыту инженерной работы.
Многие выпускники программ разработки программного обеспечения не могут получить лицензию PEO, поскольку работа, на которую они имеют право после окончания учебы на начальном уровне, не связана с инженерией, т.е. работа в компании-разработчике программного обеспечения, написание кода или тестирование кода, не будет квалифицировать их, как это дает их опыт работы. не выполнять рекомендации по опыту работы, установленные PEO. Кроме того, программы разработки программного обеспечения в Онтарио и других провинциях включают серию курсов по электротехнике, электронике и компьютерной инженерии, которые позволяют выпускникам даже работать в этих областях.
Квебек
[ редактировать ]Чтобы иметь право заниматься профессиональной разработкой программного обеспечения в Квебеке, человеку должна быть предоставлена лицензия «инженера». Чтобы получить лицензию Ордена инженеров Квебека (по-французски: Ordre des ingénieurs du Québec - OIQ), кандидат должен:
- Быть не моложе 18 лет.
- Имейте хороший характер. Кандидату будет предложено ответить на вопросы и сделать письменное заявление в форме заявки для проверки своей этики.
- Соответствовать установленным OIQ академическим требованиям для получения лицензии. В этом случае академическая программа должна быть аккредитована Канадским советом по инженерной аккредитации (CEAB)
- Сдать экзамен по профессиональной практике.
- Соответствовать требованиям к опыту инженерной работы.
- Сдать рабочие знания на экзамене по французскому языку
Рекомендации по разработке программного обеспечения (SEng) канадских провинций
[ редактировать ]Термин «инженер» в Канаде применяется только к тем, кто окончил квалификационную инженерную программу. Программы «программной инженерии» некоторых университетов находятся в ведении инженерного факультета и поэтому соответствуют требованиям, например Университет Ватерлоо . В других, например, в Университете Торонто, на факультете информатики есть «инженерия программного обеспечения», что не соответствует требованиям. Это различие связано со способом регулирования профессии. Степени по специальности «Инженерное дело» должны быть аккредитованы национальной комиссией и предъявлять определенные требования, позволяющие выпускнику продолжить карьеру профессионального инженера. Степени «Информатика», даже те, кто имеет специализацию в области разработки программного обеспечения, не должны соответствовать этим требованиям, поэтому факультеты информатики обычно могут преподавать более широкий спектр тем, а студенты могут получить высшее образование без специальных курсов, необходимых для продолжения карьеры профессионального инженера. . [37]
Европа
[ редактировать ]По всей Европе инженеры соответствующей квалификации могут получить профессиональную квалификацию европейского инженера .
Франция
[ редактировать ]Во Франции термин ingénieur (инженер) не является защищенным титулом и может использоваться кем угодно, даже теми, кто не имеет ученой степени.
Однако звание Ingénieur Diplomé (дипломированный инженер) является официальным академическим званием, которое защищено правительством и связано с Diplôme d'Ingénieur , одной из самых престижных академических степеней во Франции.
Исландия
[ редактировать ]Использование титула tölvunarfræðingur ( ученый-компьютерщик ) в Исландии защищено законом. [38] Программную инженерию преподают на факультетах компьютерных наук в исландских университетах. Законодательство Исландии гласит, что перед использованием титула необходимо получить разрешение от министра промышленности в случае присуждения степени за границей. Звание присуждается тем, кто получил степень бакалавра компьютерных наук в признанном высшем учебном заведении. [39]
Новая Зеландия
[ редактировать ]В Новой Зеландии Институт профессиональных инженеров Новой Зеландии (IPENZ), который лицензирует и регулирует деятельность дипломированных инженеров страны (CPEng), признает разработку программного обеспечения законной отраслью профессиональной инженерии и принимает заявки инженеров-программистов на получение статуса дипломированного специалиста при условии, что они имеют третичная степень утвержденных предметов. Разработка программного обеспечения включена, тогда как информатика обычно не включается. [40]
См. также
[ редактировать ]- Бакалавр наук в области информационных технологий
- Бакалавр программной инженерии
- Список тем по разработке программного обеспечения
- Демография разработки программного обеспечения
- Экономика программной инженерии
Ссылки
[ редактировать ]- ^ «Программная инженерия» .
- ^ «Программа аккредитации | Инженеры Австралии» .
- ^ Jump up to: а б Краткое изложение позиции ACM по разработке программного обеспечения как лицензированной инженерной профессии (PDF) , 17 июля 2000 г.
- ^ «Программная инженерия» . Архивировано из оригинала 25 июня 2008 г. Проверено 30 июля 2008 г.
- ^ «Аккредитация программ по разработке программного обеспечения – это хорошая новость» . www.engineerscanada.ca . Архивировано из оригинала 30 января 2008 г.
- ^ «Программная инженерия | Канадская ассоциация профессионалов в области информационных технологий» . www.cips.ca. Архивировано из оригинала 15 июля 2011 г.
- ^ «Архивная копия» . Архивировано из оригинала 28 марта 2019 г. Проверено 31 марта 2016 г.
{{cite web}}
: CS1 maint: архивная копия в заголовке ( ссылка ) - ^ АПЕГБК
- ^ Институт сертификации специалистов по вычислительной технике (ICCP) ,
- ^ Кодекс этики и профессиональной практики разработки программного обеспечения
- ^ Компьютерное общество и ACM утвердили Кодекс этики разработки программного обеспечения
- ^ Ассоциация профессиональных инженеров и геологов Британской Колумбии (APEGBC)
- ^ Ассоциация профессиональных инженеров и геологов Альберты (APEGA)
- ^ Мур, Мелоди М. (2003). Лицензия на практику разработки программного обеспечения. Программное обеспечение IEEE , 20(3), 112-113.
- ^ Для получения дополнительной информации см.:
- http://se.uwaterloo.ca/~jmatlee/talks/kwsqa02.pdf
- http://www.faqs.org/faqs/engineering/pe-eit-exam/ 10 апреля 2002 г.
- http://www.sdmagazine.com/documents/s=746/sdm0003g/0003g.htm
- Позиция ACM по лицензированию разработчиков программного обеспечения, http://www.acm.org/serving/se_policy/
- http://www.cs.virginia.edu/~jck/publications/cacm.2002.pdf-- >
- ^ Министерство труда и статистики США. Система стандартной классификации профессий (SOC) 2000 года: 15-0000 компьютерных и математических профессий.
- ^ Министерство труда и статистики США. Система стандартной классификации профессий (SOC) 2000 года: 17-0000 профессии в области архитектуры и инженерии.
- ^ Совет профессиональных инженеров Флориды. «Статуты Флориды 2019 года» .
- ^ ПРОФЕССИОНАЛЬНЫЕ ИНЖЕНЕРЫ И ЗЕМЛЕМЕРЫ. «OCGA § 43-15-1» (PDF) .
- ^ Jump up to: а б Инженерный совет Нью-Джерси. «АДМИНИСТРАТИВНЫЙ КОД НЬЮ-ДЖЕРСИ, РАЗДЕЛ 13, ЗАКОН И ОБЩЕСТВЕННАЯ БЕЗОПАСНОСТЬ, ГЛАВА 4 0» (PDF) .
- ^ Jump up to: а б СК Инженерное право. «Свод законов – Раздел 40 – Глава 22 – Инженеры и геодезисты» .
- ^ Jump up to: а б AL Инженерное право. «Закон штата Алабама, регулирующий практику инженерных работ и землеустройства» (PDF) .
- ^ Jump up to: а б Инженерное право VW. «Статуты и правила инженерного права Западной Вирджинии» (PDF) .
- ^ Jump up to: а б ОК, Инженерное право. «Статуты, правила и этика Оклахомы для профессиональных инженеров» (PDF) .
- ^ Jump up to: а б Инженерное право НВ. «NRS: Глава 625 — Профессиональные инженеры и землемеры» . Незаконная инженерная деятельность .
- ^ Jump up to: а б Магистр инженерного права. «Часть 901: Правила и положения Совета по лицензированию профессиональных инженеров и геодезистов штата Миссисипи» (PDF) .
- ^ Jump up to: а б ИЛ Инженерное право. «225 ILCS 325/Закон о профессиональной инженерной практике 1989 года» .
- ^ Совет профессиональных инженеров Флориды. «Глава 471» (PDF) .
- ^ СОВЕТ ПРОФЕССИОНАЛЬНЫХ ИНЖЕНЕРОВ И ЗЕМЛЕМЕРОВ ГРУЗИИ. «OCGA § 43-15-1» (PDF) .
- ^ «Новый экзамен по разработке программного обеспечения одобрен для получения лицензии» . Компьютерное общество IEEE. 4 мая 2012 года . Проверено 6 августа 2018 г.
- ^ «NCEES прекращает сдачу экзамена PE по разработке программного обеспечения» . Национальный совет экспертов по инженерно-геодезическим работам. 13 марта 2018 года . Проверено 6 августа 2018 г.
- ^ «Профессиональные инженеры Онтарио» - «Инженеры Квебека выигрывают судебный процесс против Microsoft»
- ^ «Закон о профессиональных инженерах» . 24 июля 2014 г.
- ^ «Академические требования» . www.peo.on.ca.
- ^ «Программа подтверждающего экзамена» . www.peo.on.ca.
- ^ «mybtechgrade.ca» . mybtechgrade.ca .
- ^ Отрывок взят из GOV.ON.CA , См. также:
- ^ «Закон о легализации ряда профессиональных званий экспертов в технических и дизайнерских дисциплинах» (на исландском языке). Парламент Исландии – Альтинг . 11 марта 1996 года . Проверено 25 августа 2014 г.
- ^ «Закон о внесении изменений в Закон № 8/1996 о легализации ряда профессиональных званий экспертов в технических и проектных дисциплинах с последующими поправками» . Альтинг . Проверено 3 октября 2016 г.
- ^ «Руководство по передовой практике разработки программного обеспечения в Новой Зеландии» (PDF) . ИПЕНЦ .