Разработка программного обеспечения: различия между версиями

(→‎А если серьезно: Про грейды)
Строка 28: Строка 28:
Программирование — одна из составляющих частей процесса разработки ПО, наряду со сбором требований, проектированием, тестированием, документированием и сопровождением.
Программирование — одна из составляющих частей процесса разработки ПО, наряду со сбором требований, проектированием, тестированием, документированием и сопровождением.


TBD
=== Как стать разработчиком ===
В разработку ПО могут быть вовлечены различные специалисты, не выполняющие работу с исходным кодом: различные менеджеры, дизайнеры, аналитики, тестировщики, другие инженеры. Но название разработчик закрепилось за специалистами, основная, но не единственная задача которых — программирование.
{| class="wikitable"
|+Профессиональные уровни разработчиков (грейды)
!Название
!Стажер
!Junior
!Middle
!Senior
|-
|Высшее IT образование
|Не требуется
|Не требуется
|Желательно
|Очень желательно
|-
|Как оценивает свои знания и навыки
|Недооценивает
|Часто переоценивает себя
|Оценивает себя правильно
|Недооценивает себя
|-
|Опыт работы разработчиком
|Нет
|От 0 до 2х лет
|Обычно больше 2х лет
|Обычно больше 5 лет
|-
|Самообучение
|Учится постоянно
|Учится постоянно
|Учится постоянно
|Учится постоянно
|-
|Учит других
|Нет
|Обычно нет
|Учит стажеров и младших разработчиков
|Учит всех
|-
|Ключевой софт-скилл
|Обучаемость
|Инициативность
|Работа на результат
|Ответственность
|-
|Выполненные проекты
|Небольшие учебные проекты
|Небольшие проекты для себя
|Небольшие бизнес проекты
|Есть опыт запуска крупных проектов
|-
|Участие в Open Source
|Активное (имитация)
|Нет времени
|Нет времени
|Нет времени, но надо
|-
|Системный анализ (сбор требований)
|Что это?
|Нет
|Обучение
|Может принимать участие
|-
|Участие в проектировании
|Что это?
|Нет
|Обучение
|Активная работа
|-
|Сколько языков программирования знает
|0
|Один, но в резюме указывает больше
|Обычно один хорошо и несколько хуже. Честно об этом говорит.
|Понимает, что знает мало языков программирования.
|-
|Знание языков программирования
|Обучение
|Знает и умеет писать код самостоятельно
|Знает особенности и подводные камни
|Следит за развитием языков программирования
|-
|Программирование
|Учебные задачи
|Простые бизнес задачи
|Все задачи
|Может решать сложные задачи оптимальным способом
|-
|Качество
|Нет
|Много багов
|Мало багов
|Мало багов
|-
|Фреймворки
|Обучение
|Знает в теории
|Активно использует
|Экспертный уровень
|-
|Шаблоны проектирования
|Не понимает
|Знает теорию
|Умеет применять
|Активно применяет
|-
|Парадигмы программирования
|Что это?
|Нет
|Обучение
|Знает и понимает
|-
|Методологии разработки
|Что это?
|Обучение
|Соблюдает
|Внедряет
|-
|Автотесты
|Что это?
|Обучение
|Умеет писать
|Понимает почему надо писать
|-
|Код-ревью
|Что это?
|Нет
|Да, но немного
|Перепроверяет чужого кода больше, чем пишет сам
|-
|Документирование кода
|Нет
|Да
|Да
|Да
|-
|Поддержка выпущенных продуктов
|Нет
|Простые багфиксы и доработки
|Сложные багфиксы и доработки
|Задачи по оптимизации, устранение технического долга
|-
|Отношение к информационной безопасности
|Нет
|Зачем это всё?
|Обучение на ошибках
|Считает очень важным
|-
|Отношение с проектными менеджерами
|Кто это?
|Обычно негативное
|Нейтральное
|Командная работа
|}
[[Категория:Незавершённые статьи]]
[[Категория:Незавершённые статьи]]