_________________ ____________
(наименование организации)
УТВЕРЖДАЮ
ДОЛЖНОСТНАЯ ИНСТРУКЦИЯ
_________________ ____________
(наименование должности)
00.00.0000 N 000 _________ ___________________
(подпись) (инициалы, фамилия)
Ведущего инженера-программиста 00.00.0000
1. Общие положения
1.1. Ведущий инженер-программист относится к категории специалистов.
1.2. Для работы ведущим инженером-программистом принимается лицо:
1) имеющее высшее образование - специалитет, магистратура;
2) прошедшее дополнительное профессиональное образование - программы повышения квалификации, программы профессиональной переподготовки в области компьютерных технологий и программного обеспечения;
3) имеющее опыт работы в области системного программирования не менее одного года.
1.3. Ведущий инженер-программист должен знать:
1) состав и классификацию требований к операционным системам;
2) основные характеристики качества требований к операционным системам;
3) методы выявления и анализа требований к операционным системам;
4) способы изложения требований в спецификации на программные средства;
5) стандарты по работе с требованиями к программным средствам;
6) дисциплину управления требованиями;
7) теорию операционных систем и теории языков программирования;
8) сетевые технологии и протоколы;
9) специальную терминологию в области операционных систем;
10) основы применения теории алгоритмов;
11) принципы организации, состав и схемы работы операционных систем;
12) принципы построения сетевого взаимодействия;
13) основные методы разработки программного обеспечения;
14) основы архитектуры, устройства и функционирования вычислительных систем;
15) архитектуру и принципы функционирования коммуникационного оборудования;
16) устройство и принципы функционирования информационных систем;
17) стандарты информационного взаимодействия систем;
18) программные средства и платформы инфраструктуры информационных технологий организаций;
19) аппаратные средства и платформы инфраструктуры информационных технологий организаций;
20) основы информационной безопасности;
21) теорию системного анализа;
22) правила ведения деловой переписки;
23) правила ведения деловых переговоров;
24) основы делового этикета;
25) английский язык на уровне чтения технической документации и разговорный технический в области информационных и компьютерных технологий;
26) локальные правовые акты, действующие в организации;
27) государственные стандарты единой системы программной документации (еспд);;
28) синтаксис, особенности программирования и стандартные библиотеки выбранного языка программирования;
29) теорию операционных систем и теории языков программирования;
30) систему команд конкретной вычислительной техники;
31) специальную терминологию в области операционных систем;
32) основные структуры данных;
33) конструкции распределенного и параллельного программирования;
34) методы построения расписаний;
35) методы коммуникации процессов;
36) методы организации памяти вычислительных устройств;
37) методы синхронизации процессов;
38) методы организации подсистем ввода/вывода;
39) методы и основные этапы трансляции;
40) способы и механизмы управления данными;
41) принципы управления ресурсами;
42) методы организации файловых систем;
43) архитектуру конкретного вычислительного устройства, используемого при разработке операционной системы;
44) теорию и методы структурного программирования;
45) специальную терминологию в области системного программирования;
46) принципы построения языков запросов и манипулирования данными;
47) теоретические основы системного программирования;
48) типичные ошибки и проблемы в реализации системных программных средств;
49) систему команд конкретной вычислительной техники;
50) основные модели данных и их организацию;
51) методики тестирования разрабатываемых операционных систем;
52) методы обработки данных;
53) методы повышения надежности работы операционных систем;
54) правила оформления и комментирования кода в соответствии с технологией системного программирования;
55) принципы управления версиями программного обеспечения;
56) порядок управления версиями в текущем проекте по разработке операционной системы;
57) специальную терминологию в области разработки операционных систем;
58) основы программирования;
59) синтаксис языка программирования сопровождаемой операционной системы, особенности программирования на этом языке, стандартные библиотеки языка программирования;
60) методы поиска ошибок в операционных системах;
61) методы документирования работы операционной системы;
62) программные продукты, используемые для документирования работы операционной системы;
63) порядок управления версиями в проекте по созданию операционной системы;
64) механизмы мониторинга операционной системы;
65) _________________ _________________.
1.4. Ведущий инженер-программист должен уметь:
1) идентифицировать класс разрабатываемой операционной системы в зависимости от выполняемых ею задач, определенных в техническом задании на разработку операционной системы;
2) идентифицировать класс разрабатываемой операционной системы в зависимости от аппаратных средств, определенных в техническом задании на разработку операционной системы;
3) переформулировать ожидания от программных средств в требования к ним;
4) выявлять требования к программным средствам на основе опроса заинтересованных лиц;
5) выявлять требования к программным средствам на основе спецификаций оборудования;
6) анализировать требования, проверять их полноту и осуществимость;
7) писать текст спецификации требований к программным средствам;
8) работать в используемой системе управления требованиями;
9) идентифицировать класс разрабатываемой операционной системы в зависимости от выполняемых ею задач, определенных в техническом задании на разработку операционной системы;
10) идентифицировать класс разрабатываемой операционной системы в зависимости от аппаратных средств, определенных в техническом задании на разработку операционной системы;
11) планировать архитектуру операционной системы;
12) разрабатывать блок-схемы системных программных продуктов;
13) пользоваться вычислительными методами для разработки расписаний, сортировок, методов доступа к памяти и файловым системам;
14) разрабатывать алгоритмы и составлять их текстовые и графические описания;
15) разрабатывать структуры классов и составлять их текстовые и графические описания;
16) идентифицировать технические риски, находить способы защиты от них;
17) излагать архитектурные решения по разрабатываемой операционной системе, объяснять их сильные и слабые стороны;
18) пользоваться документацией по аппаратным средствам;
19) оценивать вычислительную сложность алгоритма функционирования разрабатываемых компонентов операционной системы;
20) отслеживать исходный код разрабатываемой операционной системы;
21) модифицировать исходный код разрабатываемой операционной системы;
22) подготавливать отчеты о ревизии исходного кода с пояснениями к ошибкам, связанным с несоблюдением архитектуры;
23) применять языки программирования, определенные в техническом задании на разработку операционной системы, для написания программного кода;
24) выявлять ошибки в программном коде;
25) применять методы и приемы отладки программного кода;
26) оценивать вычислительную сложность алгоритма функционирования разрабатываемых компонентов операционной системы;
27) проверять соответствие выполненных работ требованиям проектной документации;
28) применять нормативно-техническую документацию при использовании операционной системы;
29) осуществлять подготовку и сохранение резервных копий операционной системы;
30) работать в системе контроля версий, используемой в проекте по разработке операционной системы;
31) оформлять документацию при помощи программных средств;
32) вести эксплуатационную документацию по разработке операционной системы;
33) вести технологическую документацию по разработке операционной системы;
34) готовить заявки на получение свидетельства о государственной регистрации программы для электронных вычислительных машин в федеральный институт промышленной собственности (Роспатент);
35) осуществлять консультации пользователей операционной системы;
36) обнаруживать ошибки операционной системы;
37) работать в используемой системе регистрации ошибок;
38) _________________ _______________________ _________________.
(другие требования к необходимым умениям)
1.5. Ведущий инженер-программист в своей деятельности руководствуется:
1) _________________ _______________________ _________________;
(наименование учредительного документа)
2) Положением о _________________ _______________________ _______;
(наименование структурного подразделения)
3) настоящей должностной инструкцией;
4) _________________ _______________________ _________________.
(наименования локальных нормативных актов, регламентирующих
трудовые функции по должности)
1.6. Ведущий инженер-программист подчиняется непосредственно __________
_________________ _______________________ _______________________.
(наименование должности руководителя)
1.7. _________________ _______________________ ________________.
(другие общие положения)
2. Трудовые функции
2.1. Разработка операционных систем:
2.1.1. Формирование требований к операционной системе.
2.1.2. Разработка архитектуры операционной системы.
2.1.3. Написание компонентов операционной системы.
2.1.4. Контроль соблюдения архитектуры в процессе написания операционной системы.
2.1.5. Отладка разрабатываемых компонентов операционной системы.
2.1.6. Документирование разрабатываемой операционной системы.
2.1.7. Сопровождение созданной операционной системы.
2.2. _________________ _______________________ ________________.
(другие функции)
3. Должностные обязанности
3.1. Ведущий инженер-программист исполняет следующие обязанности:
3.1.1. В рамках трудовой функции, указанной в пп. 2.1.1 настоящей должностной инструкции:
1) осуществляет взаимодействие с заказчиком и другими заинтересованными лицами с целью формирования требований к разрабатываемой операционной системе;
2) составляет спецификацию требований к разрабатываемой операционной системе;
3) согласовывает спецификацию требований к разрабатываемой операционной системе со всеми заинтересованными лицами;
4) ведет базу данных требований к разрабатываемой операционной системе.
3.1.2. В рамках трудовой функции, указанной в пп. 2.1.2 настоящей должностной инструкции:
1) изучает техническую документацию на устройства, в среде которых разрабатывается операционная система;
2) разрабатывает архитектуру операционной системы и ее слоев;
3) обсуждает и согласовывает программную архитектуру с заказчиком;
4) фиксирует программную архитектуру операционной системы в технической документации;
5) разрабатывает блок-схему операционной системы;
6) разрабатывает интерфейсы модулей операционной системы и согласование параметров;
7) производит выбор алгоритмов реализации расписаний, видов расписаний процессора;
8) выбирает алгоритмы реализации расписаний, виды расписаний доступа к подсистемам ввода/вывода;
9) выбирает алгоритм реализации расписаний, виды расписаний обращения к дисковым подсистемам;
10) производит выбор алгоритмов обращения к оперативной памяти и реализации расписаний, видов расписаний;
11) осуществляет выбор реализации мультипрограммной работы, системы прерываний, реализации "часов";
12) выбирает способы реализации коммуникации и синхронизации процессов;
13) производит выбор алгоритмов приоритизации процессов и расписаний их загрузки;
14) осуществляет выбор алгоритмов реализации многопоточного режима работы (цепочек) процессов;
15) определяет состав ядра операционной системы и состав утилит;
16) определяет требования к компиляторам для работы процессов под управлением ядра;
17) выбирает версию языка программирования, определенного в техническом задании.
3.1.3. В рамках трудовой функции, указанной в пп. 2.1.3 настоящей должностной инструкции:
1) осуществляет поиск технической документации по используемым средствам и технологиям (языкам программирования, программным интерфейсам, протоколам передачи данных);
2) осваивает техническую документацию по используемым средствам и технологиям (языкам программирования, программным интерфейсам, протоколам передачи данных);
3) производит выбор языка программирования для описания алгоритмов и структур данных разрабатываемой операционной системы;
4) разрабатывает блок-схему разрабатываемых компонентов операционной системы;
5) пишет исходный код разрабатываемого компонента операционной системы в соответствии с заданной спецификацией.
3.1.4. В рамках трудовой функции, указанной в пп. 2.1.4 настоящей должностной инструкции:
1) осуществляет инспектирование кода разрабатываемой операционной системы;
2) проверяет реализацию архитектурных решений;
3) обсуждает архитектурные решения в ходе рабочих совещаний о процессе разработки операционной системы;
4) осуществляет модификацию архитектурных решений разрабатываемой операционной системы в процессе реализации.
3.1.5. В рамках трудовой функции, указанной в пп. 2.1.5 настоящей должностной инструкции:
1) уточняет структуру компонентов операционных систем и системы в целом;
2) уточняет блок-схемы разрабатываемых компонентов операционных систем и системы в целом;
3) производит отладку системы многозадачного и многопользовательского режимов;
4) производит отладку системы безопасности разрабатываемых компонентов операционных систем и системы в целом;
5) осуществляет настройку системы резервного копирования;
6) производит отладку системы поддержки транзакционных механизмов;
7) выполняет коррекцию системы администрирования;
8) производит отладку системы масштабируемости разрабатываемых компонентов операционных систем и системы в целом;
9) выполняет отладку системы контроля целостности разрабатываемых компонентов операционных систем и системы в целом;
10) производит отладку исходного кода разрабатываемых компонентов операционных систем и системы в целом на языке программирования, определенном в техническом задании.
3.1.6. В рамках трудовой функции, указанной в пп. 2.1.6 настоящей должностной инструкции:
1) оформляет исходный код в соответствии с технологией системного программирования;
2) пишет комментарии к исходным программным компонентам операционной системы;
3) пишет техническую документацию в соответствии с правилами проекта по разработке операционной системы;
3) оформляет программную документацию в соответствии с требованиями ЕСПД;
4) осуществляет запись всех значимых результатов работ в систему контроля версий.
3.1.7. В рамках трудовой функции, указанной в пп. 2.1.7 настоящей должностной инструкции:
1) устраняет ошибки в компонентах операционной системы по данным эксплуатации;
2) вносит изменения в компонент операционной системы при обнаружении ошибки операционной системы;
3) оформляет результаты работ по модификации операционной системы;
4) сопровождает документацию операционной системы;
5) консультирует по использованию операционной системы, ее установке, параметризации, по диагностике сбоев операционной системы.
3.1.8. В рамках выполнения своих трудовых функций ведущий инженер-программист исполняет поручения своего непосредственного руководителя.
3.1.9. _________________ _______________________ ______________.
(другие обязанности)
3.2. _________________ _______________________ ________________.
(другие положения о должностных обязанностях)
4. Права
4.1. Ведущий инженер-программист имеет право:
4.1.1. Участвовать в обсуждении проектов решений руководства организации, в совещаниях по их подготовке и выполнению.
4.1.2. Подписывать и визировать документы в пределах своей компетенции.
4.1.3. Запрашивать у непосредственного руководителя разъяснения и уточнения по данным поручениям, выданным заданиям.
4.1.4. Запрашивать по поручению непосредственного руководителя и получать от других работников организации необходимую информацию, документы, необходимые для исполнения поручения.
4.1.5. Знакомиться с проектами решений руководства, касающихся выполняемой им функции, с документами, определяющими его права и обязанности по занимаемой должности, критерии оценки качества исполнения своих трудовых функций.
4.1.6. Требовать прекращения (приостановления) работ (в случае нарушений, несоблюдения установленных требований и т.д.), соблюдения установленных норм, правил, инструкций; давать указания по исправлению недостатков и устранению нарушений.
4.1.7. Вносить на рассмотрение своего непосредственного руководителя предложения по организации труда в рамках своих трудовых функций.
4.1.8. Участвовать в обсуждении вопросов, касающихся исполняемых должностных обязанностей.
4.2. _________________ _______________________ ________________.
(другие права)
5. Ответственность
5.1. Ведущий инженер-программист привлекается к ответственности:
- за ненадлежащее исполнение или неисполнение своих должностных обязанностей, предусмотренных настоящей должностной инструкцией, - в порядке, установленном действующим трудовым законодательством Российской Федерации, законодательством о бухгалтерском учете;
- правонарушения и преступления, совершенные в процессе своей деятельности, - в порядке, установленном действующим административным, уголовным и гражданским законодательством Российской Федерации;
- причинение ущерба организации - в порядке, установленном действующим трудовым законодательством Российской Федерации.
5.2. _________________ _______________________ ________________.
(другие положения об ответственности)
6. Заключительные положения
6.1. Настоящая инструкция разработана на основе Профессионального
стандарта "Системный программист", утвержденного Приказом Минтруда России
от 05.10.2015 N 685н _________________ _______________________ _______.
(реквизиты локальных нормативных актов организации)
6.2. Ознакомление работника с настоящей инструкцией осуществляется при
приеме на работу (до подписания трудового договора).
Факт ознакомления работника с настоящей инструкцией подтверждается
_________________ _______________________ _______________________
(подписью в листе ознакомления, являющемся неотъемлемой частью настоящей
_________________ _______________________ _______________________.
инструкции (в журнале ознакомления с инструкциями); в экземпляре
инструкции, хранящемся у работодателя; иным способом)
6.3. _________________ _______________________ ________________.