Применение кодекса этики программиста acm ieee cs. Кодекс этики в сфере информационных технологий


Software Engineering Code of Ethics and Professional Practice

ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices

Краткая версия

Введение

Краткая версия кодекса довольно абстрактно резюмирует основные положения; в полной версии приведены детальные примеры того, как эти положения меняют наш образ действий как профессионалов в области программной инженерии. Без основных положений детали становятся формальными и скучными; без деталей основные положения звучат высокопарно, но превращаются в пустой звук; вместе же основные положения и детали образуют цельный кодекс.

Программные инженеры должны стремиться к тому, чтобы сделать анализ, разработку спецификаций, проектирование, реализацию, тестирование и поддержку программного обеспечения полезной и уважаемой профессией. В соответствии с их высокой ответственностью за благополучие, безопасность и процветание общества программные инженеры должны твердо придерживаться следующих восьми Принципов:

  • ОБЩЕСТВО – Программные инженеры должны действовать неукоснительно в интересах общества.
  • КЛИЕНТ И РАБОТОДАТЕЛЬ – Программные инженеры должны действовать согласно интересам клиента и работодателя, если они не противоречат интересам общества.
  • ПРОДУКТ – Программные инженеры должны обеспечивать соответствие качества своих продуктов и их модификаций наивысшим возможным профессиональным стандартам.
  • ОЦЕНКИ – Программные инженеры должны поддерживать целостность и независимость своих профессиональных оценок.
  • МЕНЕДЖМЕНТ – Программные инженеры-менеджеры и ведущие сотрудники должны придерживаться этических подходов к управлению разработкой и поддержкой программного обеспечения и продвигать эти подходы.
  • ПРОФЕССИЯ – Программные инженеры должны поднимать престиж и репутацию своей профессии в интересах общества.
  • КОЛЛЕГИ – Программные инженеры должны быть справедливы по отношению к своим коллегам, помогать им и поддерживать.
  • ЛИЧНАЯ ОТВЕТСТВЕННОСТЬ – Программные инженеры должны непрерывно учиться навыкам своей профессии и способствовать продвижению этического подхода к своей деятельности.

Полная версия

Введение

Компьютеры играют центральную и все возрастающую роль в торговле, промышленности, управлении, медицине, образовании, досуге и в жизни общества в целом. Программные инженеры – это те, кто вносит свой вклад, либо непосредственно, либо через обучение, в анализ, разработку спецификаций, проектирование, реализацию, сертификацию, поддержку и тестирование программных систем. Играя важную роль в разработке программных систем, программные инженеры имеют значительные возможности творить добро или причинять зло, позволять другим творить добро или причинять зло, либо влиять на тех, кто творит добро или причиняет зло. Чтобы обеспечить, насколько это возможно, что их усилия будут использованы в благих целях, программные инженеры должны неуклонно превращать программную инженерию в полезную и уважаемую профессию. Для этого программисты должны твердо придерживаться следующего Кодекса профессиональной этики.

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

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

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

Динамичный и требовательный контекст программной инженерии требует кодекса, который можно приспособить к новым ситуациям по мере их появления. Однако даже в таком общем виде Кодекс обеспечивает поддержку программным инженерам и их руководителям, которые нуждаются в правильном выборе действий в специфических условиях, путем документирования профессиональных этических установок. Кодекс обеспечивает этическую базу, к которой могу обращаться как отдельные члены команд, так и команды в целом. Кодекс позволяет определить действия, которые этически неуместно требовать от программных инженеров или их команд.

Данный кодекс предназначен не только для оценки спорных действий; он имеет также важное образовательное значение. Поскольку в нем выражено общее мнение относительно этической стороны профессии, он является средством, позволяющим довести до сведения как общества, так и профессионалов этические обязательства всех программных инженеров.

Принципы

Принцип 1: ОБЩЕСТВО.

ОБЩЕСТВО – Программные инженеры должны действовать неукоснительно в интересах общества. В частности, программные инженеры должны:

  • Нести полную ответственность за свою работу.
  • Ограничивать интересы программных инженеров, работодателей, клиентов и пользователей пользой для общества в целом.
  • Одобрять программное обеспечение лишь в случае, если они твердо убеждены в том, что оно безопасно, соответствует спецификациям, прошло соответствующее тестирование и не угрожает качеству жизни, не нарушает приватность и не вредит окружающей среде. Результат работы должен безусловно служить на благо обществу.
  • Доводить до сведения уполномоченных лиц и организаций действительную или потенциальную опасность для пользователей, общества или окружающей среды, которая, по их мнению, связана с использованием программного обеспечения или сопутствующей ему документации.
  • Принимать участие в работе над проблемами, вызывающими тревогу в обществе, касающимися программного обеспечения, его инсталляции, развития, поддержки или документирования.
  • Быть честным и не допускать лжи во всех высказываниях, особенно публичных, в отношении программного обеспечения или связанных с ним документации, методик и инструментов.
  • Обращать внимание на проблемы, связанные с физическими недостатками, распределением ресурсов, экономической отсталости и другими факторами, способными ограничить доступ к пользованию программным обеспечением.
  • Быть готовым добровольно использовать свое профессиональное мастерство для общего блага и способствовать распространению знаний о своей профессии.

Принцип 2: КЛИЕНТ И РАБОТОДАТЕЛЬ

Программные инженеры должны действовать согласно интересам клиента и работодателя, если они не противоречат интересам общества. В частности, программные инженеры должны:

  • Предоставлять услуги в пределах своей компетентности, быть честными и не скрывать ограниченности своего образования и опыта.
  • Не использовать программное обеспечение, полученное либо заведомо нелегальным, либо неэтичным путем.
  • Пользоваться собственностью клиента или работодателя только надлежащим образом и с их ведома.
  • Убедиться, что все используемые ими документы, которые должны быть утверждены, действительно утверждены уполномоченным лицом.
  • Хранить в тайне любую конфиденциальную информацию, полученную при исполнении профессиональных обязанностей, если это не противоречит интересам общества и законодательству.
  • Идентифицировать, документировать, собирать факты и немедленно оповещать клиента или работодателя, если, по их мнению, проект близок к провалу, оказывается чересчур дорогим, нарушает закон об интеллектуальной собственности или может повлечь другие проблемы
  • Идентифицировать, документировать и докладывать работодателю или клиенту о социальных проблемах, связанных с программной и сопутствующей документацией, о которых им стало известно.
  • Не принимать предложений побочной работы, которая может нанести ущерб работе, выполняемой для основного работодателя.
  • Не действовать против интересов работодателя или клиента, за исключением случаев, когда это противоречит более высоким этическим соображениям; в этом случае следует информировать работодателя или другое уполномоченное лицо об этих соображениях.

Принцип 3: ПРОДУКТ

Программные инженеры должны обеспечивать соответствие качества своих продуктов и их модификаций наивысшим возможным профессиональным стандартам. В частности, программные инженеры должны:

  • Стремиться к высокому качеству, приемлемой стоимости и разумным срокам выполнения проектов, доводя существенные альтернативы до сведения работодателя и клиента, заручившись их согласием с выбором, а также ставя пользователей и общество в известность о них.
  • Обеспечивать адекватность и достижимость целей и направленности для всех проектов, над которыми они работают или намереваются работать.
  • Выявлять, определять и принимать меры в отношении проблем, связанных с проектом, над которым они работают, и имеющих отношение к этике, экономике, культуре, законности и окружающей среде.
  • Гарантировать, что их образование, подготовка и опыт достаточны для всех проектов, над которыми они работают или намереваются работать.
  • Гарантировать, что во всех проектах, над которыми они работают или намереваются работать, используются надлежащие методики.
  • Работать, следуя наиболее подходящим профессиональным стандартам и отступая от них лишь в тех случаях, когда это оправдано по этическим либо техническим причинам.
  • Стремиться к полному пониманию спецификаций программного обеспечения, над которым они работают.
  • Гарантировать, что спецификации на программное обеспечение, над которым они работают, хорошо документированы, соответствуют требованиям пользователей и утверждены должным образом.
  • Гарантировать реалистичность количественных оценок стоимости, сроков выполнения, трудозатрат, качества и затрат по всем проектам, над которыми они работают или намереваются работать, а также неопределенности этих оценок.
  • Гарантировать адекватность тестирования, отладки и ревизий программного обеспечения и сопутствующей документации, над которыми они работают.
  • Гарантировать адекватность документации, включая обнаруженные проблемы и их одобренные решения, для всех проектов, над которыми они работают.
  • Разрабатывать программное обеспечение и сопутствующую документацию, относясь с уважением к приватности в отношении тех, чьи интересы затрагивает данное программное обеспечение.
  • Использовать только надежные данные, полученные приемлемыми с точки зрения морали и закона средствами, и использовать их только надлежащим образом.
  • Поддерживать целостность данных, подверженных устареванию и потере актуальности.
  • Относиться ко всем видам поддержки программного обеспечения с тем же профессионализмом, что и к новым разработкам.

Принцип 4: ОЦЕНКИ

Программные инженеры должны поддерживать целостность и независимость своих профессиональных оценок. В частности, программные инженеры должны:

  • Направлять все технические суждения на службу человеческим ценностям.
  • Рекомендовать лишь те документы, которые либо разработаны под их контролем, либо те, которые находятся в области их компетентности и с содержанием которых они согласны.
  • Соблюдать профессиональную объективность по отношению к программному обеспечению или сопутствующей документации, которые их попросили оценить.
  • Не принимать участия в финансовых махинациях, таких как подкуп, двойная оплата и прочие незаконные финансовые действия.
  • Раскрывать всем заинтересованным сторонам конфликты интересов, которых невозможно избежать разумными средствами.
  • Отказываться от участия в качестве члена команды или советника в частных, правительственных или профессиональных мероприятиях, связанных с программным обеспечением, из-за которых может быть нанесен потенциальный ущерб их собственным интересам, интересам их работодателей или клиентов.

Принцип 5: МЕНЕДЖМЕНТ

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

  • Гарантировать качественное управление всеми проектами, над которыми они работают, включая эффективные процедуры повышения качества и уменьшения риска.
  • Гарантировать, что программные инженеры обучены стандартам перед тем, как намереваются следовать им.
  • Гарантировать, что программные инженеры знают политики и процедуры работодателя в отношении защиты паролей, файлов и конфиденциальной информации, касающейся работодателя или иных лиц.
  • Распределять работу только после выяснения образования и опыта сотрудника, учитывая его желание совершенствовать свои образование и опыт.
  • Гарантировать реалистичность количественных оценок стоимости, сроков выполнения, трудозатрат, качества и прибыли по всем проектам, над которыми они работают или намереваются работать, а также неопределенности этих оценок.
  • Привлекать к работе программных инженеров только после того, как им предоставлено полное и точное описание условий работы.
  • Предлагать справедливое вознаграждение за труд.
  • Не препятствовать беспричинно назначению сотрудника на должность, для которой он имеет подходящую квалификацию.
  • Гарантировать справедливое соглашение относительно прав собственности на любое программное обеспечение, технологию, исследования, рукописи и прочую интеллектуальную собственность, в которую программный инженер внес свой вклад.
  • Должным образом сообщать об ответственности за нарушение политики работодателя или данного Кодекса.
  • Не требовать от программного инженера ничего противоречащего данному Кодексу.
  • Не наказывать никого, что выражает озабоченность в связи с этическими проблемами, связанными с проектом.

Принцип 6: ПРОФЕССИЯ

Программные инженеры должны поднимать престиж и репутацию своей профессии в интересах общества. В частности, программные инженеры должны:

  • Способствовать созданию в организации атмосферы, способствующей этичному поведению.
  • Распространять знания в области программной инженерии.
  • Расширять знания в области программной инженерии путем участия в профессиональных организациях и собраниях, а также своими публикациями.
  • Поддерживать других коллег, стремящихся следовать данному Кодексу.
  • Не ставить собственные интересы выше профессиональных интересов, интересов клиента или работодателя.
  • Подчиняться всем законам, регулирующим их работу, за исключением особых ситуаций, когда это противоречит интересам общества.
  • Быть точным в оценках программного обеспечения, над которым они работают, избегая не только заведомо лживых обещаний, но и обещаний, которые справедливо могут быть восприняты как спекулятивные, необоснованные, вводящие в заблуждение, сбивающие с толку или сомнительные.
  • Принимать ответственность за обнаружение, исправление и оповещение об ошибках в программном обеспечении и связанной с ним документации, над которыми он работает.
  • Поставить в известность клиентов, работодателей и руководство о том, что программные инженеры следуют данному Кодексу этики, и о последствиях этого.
  • Избегать организаций, которые находятся в конфликте с данным Кодексом.
  • Осознавать, что нарушения данного Кодекса несовместимы с принадлежностью к профессиональным программным инженерам.
  • Выражать свою озабоченность в случае существенного нарушения данного Кодекса людям, причастным к этому, за исключением случаев, когда это невозможно, приводит к серьезным конфликтам или опасно.
  • Сообщать о случаях существенного нарушения данного Кодекса в соответствующие инстанции, если очевидно, что диалог с причастными к этому людьми невозможен, приводит к серьезным конфликтам или опасен.

Принцип 7: КОЛЛЕГИ

Программные инженеры должны быть справедливы по отношению к своим коллегам, помогать им и поддерживать. В частности, программные инженеры должны:

  • Призывать коллег придерживаться данного Кодекса.
  • Помогать коллегам в профессиональном росте.
  • Уважать работу других, но воздерживаться от необоснованного доверия к ней.
  • Обозревать работу других объективно, непредубежденно, документируя должным образом.
  • Прислушиваться к мнению, озабоченности или жалобам коллег.
  • Помогать коллегам в освоении текущих рабочих стандартов, включая политики и процедуры защиты паролей, файлов и другой конфиденциальной информации, а также мер безопасности в целом.
  • Не вмешиваться без необходимости в рабочие дела коллег; однако, искренняя забота об интересах работодателя, клиента или общества могут вынудить программного инженера поставить под сомнение компетентность коллеги.
  • В ситуациях, выходящих за пределы их собственной компетентности, спрашивать мнение других профессионалов, компетентных в данной области.

Принцип 8: ЛИЧНАЯ ОТВЕТСТВЕННОСТЬ

Программные инженеры должны постоянно учиться навыкам своей профессии и способствовать продвижению этического подхода к своей деятельности. В частности, программные инженеры должны непрерывно стремиться к следующему:

  • Углублять свои знания в области анализа, спецификации, проектирования, разработки, поддержки и тестирования программного обеспечения и сопутствующей документации, а также управления процессом разработки.
  • Совершенствовать свои способности к созданию безопасного, надежного и функционального качественного программного обеспечения по разумной цене и в разумные сроки.
  • Совершенствовать свои способности к производству точной, информативной, качественно написанной документации.
  • Совершенствовать знание программного обеспечения и сопутствующей документации, над которой они работают, а также среды, в которой они будут использоваться.
  • Совершенствовать знания подходящих стандартов и законов, регулирующих программное обеспечение и сопутствующую документацию, над которыми они работают.
  • Совершенствовать знание данного Кодекса, его интерпретацию и использование в своей работе.
  • Не допускать несправедливого обращения с кем-либо по причине не относящихся к делу предубеждений.
  • Не подстрекать других к действиям, нарушающим данный Кодекс.
  • Осознавать, что личное нарушение данного Кодекса несовместимо с принадлежностью к профессиональным программным инженерам.

Раз за разом тратите часы на поиск ошибки в коде сайта или приложения? Все мы попадали в такую ситуацию. Лишь немногие вещи могут огорчить вас больше, чем отладка беспорядочной кучи кода. Это занимает больше времени, чем действительно нужно для поиска ошибок, отнимая драгоценное время, от остальной работы.

Хорошая новость состоит в том, что писать чистый, легко сопровождаемый код достаточно просто. Это сделает ваше будущее и будущее других разработчиков более счастливым.

Я спас вас от многолетнего повторения ошибок, собрав их в одном месте.

0. Комментируйте код

Что может быть хуже кода без комментариев? Если вы скажете – что угодно, вы ошибетесь. Если вы собираетесь как-то улучшить код – убедитесь, что он сопровождается комментариями. Комментируйте «громко и гордо».

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

1. Теперь сделайте комментарии осмысленными

Вы пишете комментарии! Отлично. Теперь важно, чтобы ваши комментарии в короткой и ясной форме описывали суть происходящего. Помните, каждый из нас по-разному представляет единорога, мы все думаем по-разному. У Джедиса нет времени на расшифровку клингонского языка из сериала Star Trek (или ваших межгалактических метафор).

Вы также должны избегать слишком очевидных комментариев, как в примере ниже:

$variable = 0; // Присвоение переменной нулевого значения

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

2. Не превращайте ваш код непонятно во что

Используйте ясные имена переменных и вскоре вы обнаружите, что код сам себя документирует. Названия переменных должны зависеть от их назначения, а не от имен ваших любимых трансформеров.

$megatron = str_replace($thing, thing2, $redfishblue);

Есть какие-то идеи по поводу того, что делает этот блок? Полагаю, Мегатрон голоден?
Тот же принцип следует отнести и к коротким именам переменных. Если вы не используете общепринятые стандартные аббревиатуры, используйте полные слова. Случайный набор букв запутает почти любого программиста, читающего ваш код.

$gc = m($g, $u, $t, $f); echo $gc;

Мы понимаем это. Это ведь самое главное, правда?

Если ваши переменные названы как в примере ниже, значит вы на верном пути.

$postTitle = get_the_title(); $filteredTitle = str_replace("&", "&", $postTitle); $postTitle = $filteredTitle;

3. Деревья не только для птиц

Теперь, когда вы пишете комментарии и классно именуете переменные, вы прошли половину пути. Мои поздравления! Теперь настало время сделать код удобочитаемым. Вложите друг в друга ваши блоки кода, чтобы показать наличие древовидной иерархии. Правильно структурированный HTML-код подобно ветру принесет правильный CSS-код.

Найдите баг:

Everything is Awesome

Конечно, вы возразите, что инспектор кода в любом случае добавит отступ в ваш код, но если ваш код не выглядит как в инспекторе, как, черт возьми, кто-то поймет, что где-то не хватает двойных кавычек?

4. Следуйте стандартам сообщества

Основные принципы, перечисленные выше, помогут вам попасть на вечеринку, но если вы хотите на ней задержаться, нужно учесть еще кое-что. Любое сообщество, например WordPress, Django, или jQuery имеет свой набор стандартов кодирования. Следуйте этим стандартам.

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

  • Для большей информации о стандартах в WordPress, сверяйтесь WordPress Codex.
  • Для сверки со стандартами Python, смотрите PEP 8 Style Guide.
  • Стандарты для других языков ищите в Google.

5. И наконец… Повеселитесь

Программирование является одной из тех великих профессий, где мы можем носить джинсы, футболки и бороды на работу каждый день. Это предполагает море веселья. С кодом вы можете сделать невероятные вещи, — вещи, которые буквально могут изменить мир.

Но когда вы проводите бессонные ночи в попытках исправить одну ошибку в IE7, оставленную вами (или кем-то, пожелавшим остаться неизвестным), среди двух тысяч строк CSS-кода – это не приносит радости.

Если вы последуете этим простым советам, может быть, на следующих корпоративных соревнованиях против вас не объединятся пять разгневанных разработчиков.

Развитие средств вычислительной техники, коммуникаций и программных систем (Internet, телекоммуникации, распределенные системы,IPтелефония, компьютерные игры и обучающие программы) оказывает все большее воздействие на общество. Роль специалистов по программному обеспечению при этом все время возрастает. Они работают в определенном правовом и социальном окружении, находятся под действием, международных, национальных и местных законодательств.

Ясно, что программисты, как и специалисты других профессий, должны быть честными и порядочными людьми. Но вместе с тем, программисты не могут руководствоваться только моральными нормами или юридическими ограничениями, т.к. они обычно бывают связаны более тонкими профессиональными обязательствами:

    Конфиденциальность – программные специалисты должны уважать конфиденциальность в отношении своих работодателей или заказчиков независимо от того, подписывалось ли ими соответствующее соглашение.

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

    Защита интеллектуальной собственности – специалист должен соблюдать законодательство и принципы защиты интеллектуальной собственности при использовании чужой интеллектуальной собственности. Кроме того, он должен защищать интеллектуальную собственность работодателя и клиента. Внимание: создаваемая им интеллектуальная собственность является собственностью работодателя или клиента.

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

        1. Кодекс этики ieee-cs/acm

В разработке таких этических обязательств ведущую роль играют профессиональные сообщества. Такие общества, как

    ACM–Association for Computing Machinery - Ассоцтация по вычислительной технике,

    IEEE – Institute of Electrical and Electronic Engineers – Институт инженеров по электротехнике и электронике

    CS- British Computer Society – Британское компьютерное общество

Члены этих организация принимают обязательство следовать этому кодексу в момент вступления в организацию

Кодекс содержит восемь Принципов, связанных с поведением и решениями, принимаемыми профессиональными программистами, включая практиков, преподавателей, менеджеров и руководителей высшего звена

Кодекс распространяется также на студентов и «подмастерьев», изучающих данную профессию

Кодекс имеет краткую и полную версии

        1. Кодекс этики - Преамбула

Краткая версия кодекса

      суммирует стремления кодекса на высоком уровне абстракции.

      полная версия показывает как эти стремления отражаются на деятельности профессиональных программистов.

      без высших принципов детали кодекса станут казуистическими и нудными;

      без деталей стремления останутся возвышенными, но пустыми;

      вместе же они образуют целостный кодекс.

Программные инженеры должны добиваться, чтобы анализ, спецификация, проектирование, разработка, тестирование и сопровождение программного обеспечения стали полезной и уважаемой профессией. В соответствии с их приверженностью к процветанию, безопасности и благополучию общества, программные инженеры будут руководствоваться следующими Восемью Принципами

Кодекс этики - эталон (стандарт) профессионального поведения

Кодекс профессионального поведения может применяться как механизм социализации. Здесь идея заключается в том, что люди, начинающие работать в данной предметной области, изучив кодекс, быстро поймут, каковы стандарты этой профессии. Если существует кодекс профессионального поведения, то есть некоторая гарантия, что все представители этой профессии будут, по крайней мере, знать о стандартах, закрепленных в кодексе.

Кодекс является выражением опыта и согласия большинства лиц данной профессии.

В 80-е годы ХХ века был введен термин "компьютерный профессионал", обозначающий человека, зарабатывающего на жизнь работой с компьютерами. Здесь имелись в виду не только программисты, системные аналитики, системотехники, продавцы компьютерного оборудования, но и пользователи программных и аппаратных средств.

В США попробовали регулировать взаимоотношения между компьютерными профессионалами и обществом посредством "Кодекса профессионального поведения", выработанного Ассоциацией вычислительной техники (Association for Computing Machinery – ACM),

Кодекс этики и профессиональной деятельности в области программной инженерии (версия 5.2)

Программные инженеры должны стремиться к тому, чтобы сделать анализ, разработку спецификаций, проектирование, реализацию, тестирование и поддержку программного обеспечения полезной и уважаемой профессией. В соответствии с их высокой ответственностью за благополучие, безопасность и процветание общества программные инженеры должны твердо придерживаться следующих восьми Принципов:

    ОБЩЕСТВО – Программные инженеры должны действовать неукоснительно в интересах общества.

    КЛИЕНТ И РАБОТОДАТЕЛЬ – Программные инженеры должны действовать согласно интересам клиента и работодателя, если они не противоречат интересам общества.

    ПРОДУКТ – Программные инженеры должны обеспечивать соответствие качества своих продуктов и их модификаций наивысшим возможным профессиональным стандартам.

    ОЦЕНКИ – Программные инженеры должны поддерживать целостность и независимость своих профессиональных оценок.

    МЕНЕДЖМЕНТ – Программные инженеры-менеджеры и ведущие сотрудники должны придерживаться этических подходов к управлению разработкой и поддержкой программного обеспечения и продвигать эти подходы.

    ПРОФЕССИЯ – Программные инженеры должны поднимать престиж и репутацию своей профессии в интересах общества.

    КОЛЛЕГИ – Программные инженеры должны быть справедливы по отношению к своим коллегам, помогать им и поддерживать.

    ЛИЧНАЯ ОТВЕТСТВЕННОСТЬ – Программные инженеры должны непрерывно учиться навыкам своей профессии и способствовать продвижению этического подхода к своей деятельности.

Принцип 3: ПРОДУКТ

Программные инженеры должны обеспечивать соответствие качества своих продуктов и их модификаций наивысшим возможным профессиональным стандартам. В частности, программные инженеры должны:

    Стремиться к высокому качеству, приемлемой стоимости и разумным срокам выполнения проектов, доводя существенные альтернативы до сведения работодателя и клиента, заручившись их согласием с выбором, а также ставя пользователей и общество в известность о них.

    Обеспечивать адекватность и достижимость целей и направленности для всех проектов, над которыми они работают или намереваются работать.

    Выявлять, определять и принимать меры в отношении проблем, связанных с проектом, над которым они работают, и имеющих отношение к этике, экономике, культуре, законности и окружающей среде.

    Гарантировать, что их образование, подготовка и опыт достаточны для всех проектов, над которыми они работают или намереваются работать.

    Гарантировать, что во всех проектах, над которыми они работают или намереваются работать, используются надлежащие методики.

    Работать, следуя наиболее подходящим профессиональным стандартам и отступая от них лишь в тех случаях, когда это оправдано по этическим либо техническим причинам.

    Стремиться к полному пониманию спецификаций программного обеспечения, над которым они работают.

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

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

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

    Гарантировать адекватность документации, включая обнаруженные проблемы и их одобренные решения, для всех проектов, над которыми они работают.

    Разрабатывать программное обеспечение и сопутствующую документацию, относясь с уважением к приватности в отношении тех, чьи интересы затрагивает данное программное обеспечение.

    Использовать только надежные данные, полученные приемлемыми с точки зрения морали и закона средствами, и использовать их только надлежащим образом.

    Поддерживать целостность данных, подверженных устареванию и потере актуальности.

    Относиться ко всем видам поддержки программного обеспечения с тем же профессионализмом, что и к новым разработкам.

В России в 1996 году был принят

Национальный кодекс деятельности в области информатики и телекоммуникаций

Среди инициаторов принятия Национального кодекса были Торгово-промышленная палата Российской Федерации, Российский компьютерный союз, Российский национальный конгресс по информатике и телекоммуникациям, Российская компьютерная ассоциация, Российская информационная сеть делового сотрудничества, Международное бюро информации и телекоммуникаций и другие организации и объединения предпринимателей, осуществляющие свою деятельность в области информатики и телекоммуникаций

Кодекс является средством самодисциплины, а также предназначен для использования судами в качестве справочного документа в рамках соответствующего законодательства.

Кодекс распространяется на все виды деятельности юридических и физических лиц в области информатики и телекоммуникаций.

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

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

Каждое техническое и программное средство должно разрабатываться с чувством ответственности перед обществом и должно соответствовать принципам добросовестной конкуренции, общепринятым в коммерческой деятельности.

Никакая деятельность не должна оказывать отрицательного влияния на доверие общественности к средствам информатики и телекоммуникаций.

ОБЯЗАТЕЛЬСТВА.

СТАТЬЯ 1. Не производить/копировать и не использовать программные и технические средства информатики и телекоммуникаций без разрешения/лицензии собственника/изготовителя или правовладельца/ и не приобретенные на законных основаниях.

СТАТЬЯ 2. Не нарушать законодательство об охране интеллектуальной собственности и признанные нормы авторского права на программные средства и базы данных.

СТАТЬЯ 3. Не нарушать тайны передачи сообщения, не практиковать вскрытие информационных систем и сетей передачи данных.

СТАТЬЯ 4. Не использовать наименования и аббревиатуры других фирм, компаний и организаций без их согласия.

СТАТЬЯ 5. Не извлекать прибыль от использования товарного знака или символа, принадлежащего другой фирме или продукции.

Всемирный день информационного сообщества .

Генеральная Ассамблея ООН в 2006 году приняла резолюцию, в которой провозгласила 17 мая профессиональным праздником всех программистов, системных администраторов, интернет-провайдеров, веб-дизайнеров, редакторов интернет-изданий и всех остальных людей, занятых в сфере информационных технологий.

До 2006 года этот праздник отмечался как Международный день электросвязи или Всемирный день телекоммуникаций. Дело в том, что 17 мая 1865 года в Париже был основан международный Телеграфный Союз.

День программиста .

Профессиональный праздник программистов, отмечаемый на 256-й день года

11 сентября 2009 года президент Медведев подписал Указ, который устанавливает в стране новый официальный праздник - День программиста

Развитие средств вычислительной техники, коммуникаций и программных систем

(Internet, телекоммуникации, распределенные системы, IP телефония, компьютерные игры

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

Ясно, что программисты, как и специалисты других профессий, должны быть честными и порядочными людьми. Но вместе с тем, программисты не могут руководствоваться только моральными нормами или юридическими ограничениями, т.к. они обычно бывают связаны более тонкими профессиональными обязательствами:

· Конфиденциальность – программные специалисты должны уважать конфиденциальность в отношении своих работодателей или заказчиков независимо от того, подписывалось ли ими соответствующее соглашение.

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

· Защита интеллектуальной собственности – специалист должен соблюдать законодательство и принципы защиты интеллектуальной собственности при использовании чужой интеллектуальной собственности. Кроме того, он должен защищать интеллектуальную собственность работодателя и клиента. Внимание: создаваемая им интеллектуальная собственность является собственностью

работодателя или клиента.

· Злоупотребление компьютером – программный специалист не должны злоупотреблять компьютерными ресурсами работодателя или заказчика; под. злоупотреблениями мы здесь понимаем широкий спектр - от игр в компьютерные игрушки на рабочем месте до распространения вирусов и т.п.

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

В 80-е годы ХХ века американскими этиками был введен термин «компьютерный профессионал», обозначающий человека, зарабатывающего на жизнь работой с компьютерами. Здесь имелись в виду не только программисты, системные аналитики, системотехники, продавцы компьютерного оборудования, но и пользователи программных и аппаратных средств. В США попробовали регулировать взаимоотношения между компьютерными профессионалами и обществом посредством «Кодекса профессионального поведения», выработанного Ассоциацией вычислительной техники (Association for Computing Machinery – ACM),


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

В настоящее время существует несколько кодексов профессиональной этики в сфере информационных технологий. Возможно, наиболее известны те, которые были разработаны ассоциацией ACM и институтом инженеров электротехники и электроники IEEE, их совместный кодекс этики и профессиональной практики разработчиков программного обеспечения . В России в 1996 году был принят Национальный кодекс деятельности в области информатики и телекоммуникаций.

Этический кодекс ACM/IEEE.

Кодекс содержит восемь Принципов, связанных с поведением и решениями, принимаемыми профессиональными программистами, включая практиков, преподавателей, менеджеров и руководителей высшего звена.

Кодекс распространяется также на студентов и «подмастерьев», изучающих данную профессию.

Преамбула.

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

Профессиональные программисты будут добиваться, чтобы анализ, спецификация, проектирование, разработка, тестирование и сопровождение программного обеспечения стали полезной и уважаемой профессией. В соответствии с их приверженностью к процветанию, безопасности и благополучию общества, программные инженеры будут руководствоваться следующими восемью Принципами:

1. ОБЩЕСТВО

Программные инженеры будут действовать соответственно общественным интересам.

2. КЛИЕНТ И РАБОТОДАТЕЛЬ

Программные инженеры будут действовать в интересах клиентов и работодателя, соответственно общественным интересам.

3. ПРОДУКТ

Программные инженеры будут добиваться, чтобы произведенные ими продукты и их модификации соответствовал высочайшим профессиональным стандартам.

4. СУЖДЕНИЕ

Программные инженеры будут добиваться честности и независимости в своих профессиональных суждениях.

5. МЕНЕДЖМЕНТ

Менеджеры и лидеры программных инженеров будут руководствоваться этическим подходом к руководству разработкой и сопровождением ПО, а также будут продвигать и развивать этот подход.

6. ПРОФЕССИЯ

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

7. КОЛЛЕГИ

Программные инженеры будут честными по отношению к своим коллегам и будут всячески их поддерживать.

8. ЛИЧНОСТЬ

Программные инженеры в течение всей своей жизни будут учиться практике своей профессии и будут продвигать этический подход к практике своей профессии.

Многие кодексы не отражают специфики профессии, они содержат слишком общие каноны, которые охватывают обязательства любого профессионала: честность, компетентность, ответственность, повышение квалификации и т.п.

Кодекс профессионального поведения может применяться как механизм социализации. Если существует кодекс профессионального поведения, то есть некоторая гарантия, что все представители этой профессии будут, по крайней мере, знать о стандартах, закрепленных в кодексе.

Наиболее важная функция кодекса этики – сформулировать коллективную мудрость лиц данной профессии. В кодексе этики должно быть собрано то, что лица данной профессии с многолетним опытом работы сочли наиболее важными вещами, о которых необходимо думать и которые следует делать, когда работаешь в данной области. Кодекс является выражением опыта и согласия большинства лиц данной профессии.