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

Удалил лишнее
(Как устроиться на работу)
(Удалил лишнее)
Строка 43: Строка 43:
Набор необходимых специалистов отличается от проекта к проекту. Но можно выделить такие основные направления:
Набор необходимых специалистов отличается от проекта к проекту. Но можно выделить такие основные направления:


* Менеджмент отвечает за организацию процессов
* Менеджеры отвечают за организацию процессов
* Коммерсанты — отвечают за продажи и удержание клиентов
* Коммерсанты — отвечают за продажи и удержание клиентов
* Аналитики — решают сложные проблемы
* Аналитики — решают сложные проблемы
Строка 77: Строка 77:
**'''Менеджер проекта''' (Project Manager / '''PM''') — собирает команду для проекта и отвечает за его выполнение
**'''Менеджер проекта''' (Project Manager / '''PM''') — собирает команду для проекта и отвечает за его выполнение
*Отдел разработки (Development) — отдел, где и работают разработчики (программисты)  
*Отдел разработки (Development) — отдел, где и работают разработчики (программисты)  
**'''Руководитель отдела разработки''' (Development Director) — начальник всех разработчиков
**'''Главный разработчик''' (Principal Developer) — начальник всех разработчиков
**'''Системный архитектор''' (System Architect) — отвечает за базовую архитектуру программного обеспечения
**'''Системный архитектор''' (System Architect) — отвечает за базовую архитектуру программного обеспечения
**'''Тимлид''' (Development Team Lead) — руководит командой разработчиков
**'''Тимлид''' (Development Team Lead) — руководит командой разработчиков, проверяет результат работы (проводит ревью кода)
**'''Разработчик''' (Developer) — тот кто непосредственно программирует
**'''Старший Разработчик''' (Senior Developer / Software engineer) — программирует сложные штуки, обучает новичков
**'''Разработчик''' (Developer /  Programmer) — программирует больше всех, решает основные задачи
**'''Младший Разработчик''' (Junior Developer /  Coder) — обучается и решает простые задачи
*Обеспечение качества (Quality Assurance / '''QA''')
*Обеспечение качества (Quality Assurance / '''QA''')
**'''Инженер по качеству''' (QA Engineer) — отвечает за качество в целом
**'''Инженер по качеству''' (QA Engineer) — отвечает за качество в целом
Строка 118: Строка 120:
Рекомендации:  
Рекомендации:  


# Определите интересные для вас предметные области: например финансы, туризм, компьютерные игры.
# Определите интересные для вас предметные области, например: финансы, туризм, компьютерные игры.
# Определите интересные и подходящие для вас направления работы: программирование, тестирование, аналитика, менеджмент и т.п.
# Определите интересные и подходящие для вас направления работы: программирование, тестирование, аналитика, менеджмент и т.п.
# Найдите вакансии IT компаний, которые соответствуют вашим навыкам, интересам и опыту, изучите требования.
# Найдите вакансии IT компаний, которые соответствуют вашим навыкам, интересам и опыту, изучите требования.
Строка 129: Строка 131:
# Продолжайте обучаться для дальнейшего карьерного роста.
# Продолжайте обучаться для дальнейшего карьерного роста.


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