Профессиональный стандарт "Программист"

Статус документа: 
действующий

Профессиональный стандарт № 233.

Утвержден приказом
Министерства труда и социальной защиты Российской Федерации

от 20.07.2022 № 424н

 

Наименование вида профессиональной деятельности: Разработка компьютерного программного обеспечения.

Основная цель вида профессиональной деятельности: Разработка, отладка, проверка работоспособности, модификация компьютерного программного обеспечения.

 

Группа занятий:



Код ОКЗ

Наименование группы занятий

2512

Разработчики программного обеспечения

3512

Специалисты-техники по поддержке пользователей ИКТ

2514 Программисты приложений

Стажер-программист



Возможные наименования должностей, профессий

Помощник программиста

Требования к образованию и обучению

Среднее профессиональное образование - программы подготовки квалифицированных рабочих (служащих)

Требования к опыту практической работы

-

ОКНПО

020201 Оператор электронно-вычислительных машин (программист)

ЕТКС

Техник

 



Разработка и отладка программного кода

Трудовая функция

Трудовые действия

А/01.3. Формализация и алгоритмизация поставленных задач для разработки программного кода

● Составление формализованных описаний решений поставленных задач в соответствии с требованиями технического задания или внутренних документов организации

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

● Проверка корректности алгоритмов решения поставленных задач

● Оценка и согласование сроков выполнения поставленных задач

А/02.3. Написание программного кода с использованием языков программирования, определения и манипулирования данными в базах данных

● Создание программного кода в соответствии с техническим заданием (готовыми спецификациями)

● Оптимизация программного кода с использованием специализированных программных средств

● Оценка и согласование сроков выполнения поставленных задач

А/03.3. Оформление программного кода в соответствии с установленными требованиями

● Приведение наименований переменных, функций, классов, структур данных и файлов в соответствие с нормативно-техническими документами (стандартами и регламентами), определяющими требования к оформлению программного кода

● Структурирование исходного программного кода в соответствии с нормативно-техническими документами (стандартами и регламентами), определяющими требования к оформлению программного кода

● Комментирование и разметка программного кода в соответствии с нормативно-техническими документами (стандартами и регламентами), определяющими требования к оформлению программного кода

● Форматирование исходного программного кода в соответствии с нормативно-техническими документами (стандартами и регламентами), определяющими требования к оформлению программного кода

● Оформление технической документации на компьютерное программное обеспечение по заданному стандарту или шаблону

А/04.3. Работа с системой управления версиями программного кода

● Регистрация изменений исходного текста программного кода в системе управления версиями

● Слияние, разделение и сравнение исходных текстов программного кода

● Сохранение сделанных изменений программного кода в соответствии с регламентом управления версиями

А/05.3. Проверка и отладка программного кода

● Анализ и проверка исходного программного кода

● Отладка программного кода на уровне программных модулей

● Отладка программного кода на уровне межмодульных взаимодействий и взаимодействий с окружением

● Оценка и согласование сроков выполнения поставленных задач

Умения:

● Использовать методы и приемы формализации поставленных задач

● Использовать методы и приемы алгоритмизации поставленных задач

● Использовать программное обеспечение для графического отображения алгоритмов

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

● Осуществлять коммуникации с заинтересованными сторонами

● Применять выбранные языки программирования для написания программного кода

● Использовать выбранную среду программирования и средства системы управления базами данных

● Использовать возможности имеющейся технической и/или программной архитектуры для написания программного кода

● Осуществлять коммуникации с заинтересованными сторонами

● Применять нормативно-технические документы (стандарты и регламенты), определяющие требования к оформлению программного кода

● Применять инструментарий для создания и актуализации исходных текстов программ

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

● Осуществлять коммуникации с заинтересованными сторонами

● Использовать выбранную систему управления версиями

● Использовать вспомогательные инструментальные программные средства для обработки исходного текста программного кода

● Выполнять действия, соответствующие установленному регламенту используемой системы управления версиями

● Выявлять ошибки в программном коде

● Применять методы и приемы отладки программного кода

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

● Применять современные компиляторы, отладчики и оптимизаторы программного кода

● Осуществлять коммуникации с заинтересованными сторонами

Знания:

● Методы и приемы формализации поставленных задач

● Языки формализации функциональных спецификаций

● Методы и приемы алгоритмизации поставленных задач

● Нотации и программное обеспечение для графического отображения алгоритмов

● Алгоритмы решения типичных задач, области и способы их применения

● Синтаксис выбранного языка программирования, особенности программирования на этом языке, стандартные библиотеки языка программирования

● Методологии разработки компьютерного программного обеспечения

● Методологии и технологии проектирования и использования баз данных

● Технологии программирования

● Особенности выбранной среды программирования и системы управления базами данных

● Компоненты программно-технических архитектур, существующие приложения и интерфейсы взаимодействия с ними

● Инструментарий для создания и актуализации исходных текстов программ

● Методы повышения читаемости программного кода

● Системы кодировки символов, форматы хранения исходных текстов программ

● Нормативно-технические документы (стандарты и регламенты), определяющие требования к оформлению программного кода

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

● Возможности используемой системы управления версиями и вспомогательных инструментальных программных средств

● Установленный регламент использования системы управления версиями

● Методы и приемы отладки программного кода

● Типы и форматы сообщений об ошибках, предупреждений

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

● Современные компиляторы, отладчики и оптимизаторы программного кода

● Сообщения о состоянии аппаратных средств

Младший программист



Возможные наименования должностей, профессий

Техник-программист

Требования к образованию и обучению

Среднее профессиональное образование - программы подготовки квалифицированных рабочих (служащих)

Требования к опыту практической работы

Не менее трех месяцев в области разработки компьютерного программного обеспечения

ОКНПО

020201 Оператор электронно-вычислительных машин (программист)

ЕТКС

Техник

 



Проверка работоспособности и рефакторинг кода программного обеспечения

Трудовая функция

Трудовые действия

В/01.4. Разработка процедур проверки работоспособности и измерения характеристик компьютерного программного обеспечения

● Разработка процедуры проверки работоспособности компьютерного программного обеспечения

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

● Разработка процедуры измерения требуемых характеристик компьютерного программного обеспечения

● Оформление технической документации на компьютерное программное обеспечение по заданному стандарту или шаблону

● Оценка и согласование сроков выполнения поставленных задач

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

● Подготовка тестовых наборов данных в соответствии с выбранной методикой тестирования компьютерного программного обеспечения

● Оценка и согласование сроков выполнения поставленных задач

В/03.4. Проверка работоспособности компьютерного программного обеспечения

● Проверка работоспособности компьютерного программного обеспечения на основе разработанных тестовых наборов данных

● Оценка соответствия компьютерного программного обеспечения требуемым характеристикам

● Сбор и анализ полученных результатов проверки работоспособности компьютерного программного обеспечения

● Оценка и согласование сроков выполнения поставленных задач

В/04.4. Рефакторинг, оптимизация и инспекция программного кода

● Анализ программного кода на соответствие требованиям по читаемости и производительности

● Инспекция программного кода для поиска не обнаруженных на ранних стадиях разработки компьютерного

программного обеспечения ошибок и критических мест

● Внесение изменений в программный код и проверка его работоспособности

● Оценка и согласование сроков выполнения поставленных задач

В/05.4. Исправление дефектов программного кода, зафиксированных в базе данных дефектов

● Воспроизведение дефектов программного кода, зафиксированных в базе данных дефектов

● Установление причин возникновения дефектов программного кода

● Внесение изменений в программный код для устранения выявленных дефектов

● Оценка и согласование сроков выполнения поставленных задач

В/06.4. Осуществление сборки однородных программных модулей в программный проект

● Сборка однородных (одноязыковых) программных модулей в программный проект в средах разработки компьютерного программного обеспечения

● Проверка работоспособности собранного программного проекта

● Внесение изменений в процедуру сборки однородных (одноязыковых) программных модулей в программный проект

● Оценка и согласование сроков выполнения поставленных задач

Умения:

● Писать программный код процедур проверки работоспособности компьютерного программного обеспечения на выбранном языке программирования

● Использовать выбранную среду программирования для разработки процедур проверки работоспособности компьютерного программного обеспечения

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

● Осуществлять коммуникации с заинтересованными сторонами

● Разрабатывать и оформлять контрольные примеры для проверки работоспособности компьютерного программного обеспечения

● Разрабатывать процедуры генерации тестовых наборов данных с заданными характеристиками

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

● Использовать командные средства разработки компьютерного программного обеспечения

● Осуществлять коммуникации с заинтересованными сторонами

● Применять методы и средства проверки работоспособности компьютерного программного обеспечения

● Интерпретировать диагностические данные проверки работоспособности компьютерного программного обеспечения

● Анализировать значения полученных характеристик компьютерного программного обеспечения

● Документировать результаты проверки работоспособности компьютерного программного обеспечения

● Осуществлять коммуникации с заинтересованными сторонами

● Применять методы, средства рефакторинга, оптимизации и инспекции программного кода

● Применять инструментальные средства коллективной работы над программным кодом

● Публиковать результаты рефакторинга, оптимизации и инспекции в коллективной базе знаний

● Использовать систему управления версиями для регистрации произведенных изменений

● Применять методы и приемы отладки дефектного программного кода

● Интерпретировать сообщения, предупреждения, записи технологических журналов об ошибках, возникающих при выполнении дефектного кода

● Осуществлять коммуникации с заинтересованными сторонами

● Выполнять процедуры сборки однородных (одноязыковых) программных модулей в программный проект в средах разработки компьютерного программного обеспечения

● Производить настройки параметров программного проекта и осуществлять запуск процедур сборки

● Проводить проверку работоспособности программного проекта

● Документировать произведенные действия, выявленные проблемы и способы их устранения

● Создавать резервные копии программного проекта и данных, выполнять восстановление, обеспечивать целостность программного проекта и данных

Знания:

● Методы автоматической и автоматизированной проверки работоспособности компьютерного программного обеспечения

● Основные виды диагностических данных проверки работоспособности компьютерного программного обеспечения и способы их представления

● Языки, утилиты и среды программирования и средства пакетного выполнения процедур

● Типовые метрики компьютерного программного обеспечения

● Основные методы измерения и оценки характеристик компьютерного программного обеспечения

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

● Методы создания и документирования контрольных примеров и тестовых наборов данных

● Правила, алгоритмы и технологии создания тестовых наборов данных

● Требования к структуре и форматам хранения тестовых наборов данных

● Методы и средства проверки работоспособности компьютерного программного обеспечения

● Среды проверки работоспособности и отладки компьютерного программного обеспечения

● Государственные стандарты испытания автоматизированных систем

● Руководящие документы по стандартизации требований к документам автоматизированных систем

● Методы и средства рефакторинга, оптимизации и инспекции программного кода

● Языки программирования и среды разработки

● Нормативно-технические документы (стандарты и регламенты), регламентирующие требования к программному коду, порядок отражения изменений в системе управления версиями, порядок отражения результатов рефакторинга, оптимизации и инспекции в коллективной базе знаний

● Методы и приемы отладки программного кода

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

● Методы и средства сборки модулей в программный проект в средах разработки компьютерного программного обеспечения

● Возможности настройки программного проекта в средах разработки компьютерного программного обеспечения

● Интерфейсы взаимодействия внутренних модулей программного проекта

● Методы и средства проверки работоспособности программных проектов

● Языки, утилиты и среды программирования, средства пакетного выполнения процедур

 

Программист



Возможные наименования должностей, профессий

Программист

Требования к образованию и обучению

Среднее профессиональное образование - программы подготовки специалистов среднего звена

Требования к опыту практической работы

Не менее шести месяцев в области разработки компьютерного программного обеспечения

ОКНПО

020201 Оператор электронно-вычислительных машин (программист)

ЕТКС

Техник

 



Интеграция программных модулей и компонентов и проверка работоспособности выпусков программного продукта

Трудовая функция

Трудовые действия

С/01.5. Разработка процедур интеграции программных модулей

● Анализ и выявление проблем сопряжения неоднородных модулей и компонентов компьютерного программного обеспечения

● Разработка и документирование программных интерфейсов

● Разработка процедур сборки модулей и компонентов компьютерного программного обеспечения

● Разработка процедур развертывания и обновления компьютерного программного обеспечения

● Разработка процедур миграции и преобразования (конвертации) данных

● Оформление технической документации на компьютерное программное обеспечение по заданному стандарту или шаблону

С/02.5. Осуществление интеграции программных модулей и компонентов и проверки работоспособности выпусков программного продукта

● Сборка программных модулей и компонентов в программный продукт

● Подключение программного продукта к компонентам внешней среды

● Проверка работоспособности выпусков программного продукта

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

● Оценка и согласование сроков выполнения поставленных задач

Умения:

● Писать программный код процедур интеграции программных модулей

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

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

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

● Осуществлять коммуникации с заинтересованными сторонами

● Выполнять процедуры сборки программных модулей и компонентов в программный продукт

● Производить настройки параметров программного продукта и осуществлять запуск процедур сборки

● Проводить проверку работоспособности программного продукта

● Документировать произведенные действия, выявленные проблемы и способы их устранения

● Использовать командные средства разработки компьютерного программного обеспечения

● Создавать резервные копии программ и данных, выполнять восстановление, обеспечивать целостность программного продукта и данных

● Осуществлять коммуникации с заинтересованными сторонами

Знания:

● Методы и средства сборки модулей и компонентов компьютерного программного обеспечения

● Интерфейсы взаимодействия с внешней средой

● Интерфейсы взаимодействия внутренних модулей системы

● Методы и средства разработки процедур для развертывания компьютерного программного обеспечения

● Методы и средства миграции и преобразования данных

● Языки, утилиты и среды программирования, средства пакетного выполнения процедур

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

● Методы и средства сборки и интеграции программных модулей и компонентов

● Интерфейсы взаимодействия программного продукта с внешней средой

● Интерфейсы взаимодействия внутренних модулей программного продукта

● Методы и средства проверки работоспособности выпусков программных продуктов

● Языки, утилиты и среды программирования, средства пакетного выполнения процедур

Старший программист



Возможные наименования должностей, профессий

Инженер-программист

Требования к образованию и обучению

Высшее образование - бакалавриат

Требования к опыту практической работы

Не менее одного года в области разработки компьютерного программного обеспечения

ОКНПО

020201 Оператор электронно-вычислительных машин (программист)

ЕТКС

Техник

 



Разработка требований и проектирование программного обеспечения

Трудовая функция

Трудовые действия

D/01.6. Анализ возможностей реализации требований к компьютерному программному обеспечению

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

● Оценка времени и трудоемкости реализации требований к компьютерному программному обеспечению

● Согласование требований к компьютерному программному обеспечению с заинтересованными сторонами

● Оценка и согласование сроков выполнения поставленных задач

D/02.6. Разработка технических спецификаций на программные компоненты и их взаимодействие

● Разработка и согласование с архитектором программного обеспечения технических спецификаций на программные компоненты и на их взаимодействие

● Распределение заданий между программистами в соответствии с техническими спецификациями

● Осуществление контроля выполнения заданий

● Осуществление обучения и наставничества

● Формирование и предоставление отчетности в соответствии с установленными регламентами

● Оценка и согласование сроков выполнения поставленных задач

D/03.6. Проектирование компьютерного программного обеспечения

● Разработка, изменение архитектуры компьютерного программного обеспечения и ее согласование с системным аналитиком и архитектором программного обеспечения

● Проектирование структур данных

● Проектирование баз данных

● Проектирование программных интерфейсов

● Разработка технической документации на компьютерное программное обеспечение с использованием существующих стандартов

● Оценка и согласование сроков выполнения поставленных задач

Умения:

● Проводить сбор и систематизацию требований к компьютерному программному обеспечению

● Выявлять взаимосвязи и документировать требования к компьютерному программному обеспечению

● Проводить анализ исполнения требований к компьютерному программному обеспечению

● Вырабатывать варианты реализации требований к компьютерному программному обеспечению

● Проводить оценку и обоснование рекомендуемых решений

● Осуществлять коммуникации с заинтересованными сторонами

● Выбирать средства реализации требований к компьютерному программному обеспечению

● Вырабатывать варианты реализации компьютерного программного обеспечения

● Проводить оценку и обоснование рекомендуемых решений

● Осуществлять коммуникации с заинтересованными сторонами

● Использовать существующие типовые решения и шаблоны проектирования компьютерного программного обеспечения

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

● Использовать командные средства разработки компьютерного программного обеспечения

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

● Осуществлять коммуникации с заинтересованными сторонами

 

Знания:

● Возможности существующей программно-технической архитектуры

● Возможности современных и перспективных средств разработки программных продуктов, технических средств

● Методологии разработки компьютерного программного обеспечения и технологии программирования

● Методологии и технологии проектирования и использования баз данных

● Языки формализации функциональных спецификаций

● Методы и приемы формализации задач

● Методы и средства проектирования компьютерного программного обеспечения

● Методы и средства проектирования программных интерфейсов

● Методы и средства проектирования баз данных

● Принципы построения и виды архитектуры компьютерного программного обеспечения

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

● Нормативно-технические документы (стандарты), определяющие требования к технической документации на компьютерное программное обеспечение

● Методы и средства проектирования компьютерного программного обеспечения

● Методы и средства проектирования баз данных

● Методы и средства проектирования программных интерфейсов