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

(→‎А если серьезно: Про грейды)
Строка 26: Строка 26:


== А если серьезно ==
== А если серьезно ==
Программирование — одна из составляющих частей процесса разработки ПО, наряду со сбором требований, проектированием, тестированием, документированием и сопровождением.
 
=== Из чего состоит разработка ПО ===
Программирование — только одна из составляющих частей процесса разработки ПО, наряду со сбором требований, проектированием, тестированием, документированием и сопровождением.
 
* Идея — с чего всё начинается. Обычно это предложение по решению конкретной проблемы.
* Продуктовый анализ — это проверка идеи на адекватность: анализ конкурентов, опросы пользователей, оценка экономических показателей (затраты, прибыль и т.п.).
* Системный анализ — сбор требований и их документирование в виде технического задания.
* Проектирование — один из важнейших этапов, здесь происходит выбор технологий и инструментов. Прорабатываются модели процессов и модели данных.
* Планирование — оценка трудозатрат и календарных сроков.
* Программирование — написание исходного кода программ на определенных языках программирования.
* Код-ревью (code review) — проверка исходного кода программы другим более опытным разработчиком.
* Тестирование — проверка, что программа удовлетворяет требованиям. В крупных компаниях, тестирование является частью отдельного направления контроля качества (QA)
* Документирование — состоит из документирования исходного кода, документирования API (описания того как программа будет взаимодействовать с другими программами), подготовки документации для пользователей
* Релиз (release) — «запуск в печать». Доставка приложения или результатов его работы конечным пользователям.
* Сопровождение — исправление багов и доработки.


=== Как стать разработчиком ===
=== Как стать разработчиком ===
В разработку ПО могут быть вовлечены различные специалисты, не выполняющие работу с исходным кодом: различные менеджеры, дизайнеры, аналитики, тестировщики, другие инженеры. Но название разработчик закрепилось за специалистами, основная, но не единственная задача которых — программирование.  
В разработку ПО могут быть вовлечены различные специалисты, не выполняющие работу с исходным кодом: менеджеры, дизайнеры, аналитики, тестировщики, другие инженеры. Но название «разработчик» закрепилось за специалистами, основная (но не единственная) задача которых — программирование.  
 
Для того, чтобы стать разработчиком необходимо:
 
# Проверьте, что вам нравится программировать. Начать можно с компьютерных игр про программирование. Ищете, выбирайте, пробуйте. Если вам это интересно и это «затягивает», можно двигаться дальше.
# Выберите интересное для вас направление. Для новичков без IT образования подойдут мобильная разработка и разработка [[Веб-приложение|веб-приложений]] (frontend или backend). Не торопитесь на данном этапе, изучите каждое из трех направлений и выберите подходящее.
# Выберите один язык программирования по интересующему направлению. Рекомендуется JavaScript для фронтенд направления, Python для бэкенд, Kotlin / Swift для мобильной разработки.
# Начните изучение с бесплатных материалов и недорогих курсов. Если понимаете —  «это оно», можно продолжать. Если идет «через силу», надо пробовать другие варианты.
# Изучите выбранный язык программирования, на уровне решения простых задач. Важно писать код алгоритмов самостоятельно «без копирования готовых решения из гугла».
# Освойте профессиональные инструменты работы. Минимальный набор — это инструменты работы с исходным кодом: git и IDE. Плюс у каждого направления разработки есть свои дополнительные.
# Выполните минимум один pet-проект (учебный проект) и выложите его код в открытый доступ.
# Разместите резюме и откликайтесь на вакансии стажера (подойдут бесплатное обучение или работа за минимальную зарплату). Остерегайтесь мошенников, обещающих высокие зарплаты без опыта работы.
# Пройдите собеседование и устройтесь на стажировку.
# Продолжайте искать работу, откликайтесь на вакансии младших (junior) разработчиков.
 
Важно! Если вам не интересно программировать, посмотрите в сторону других профессий в IT. Для начального уровня подойдут направления: тестировщики, аналитики, сотрудники технической поддержки.
 
=== Что вас ожидает дальше ===
Если вы стали разработчиком, вам придется продолжать всё время учиться для профессионального роста. 
{| class="wikitable"
{| class="wikitable"
|+Профессиональные уровни разработчиков (грейды)
|+Профессиональные уровни разработчиков (грейды)
Строка 69: Строка 101:
|-
|-
|Ключевой софт-скилл
|Ключевой софт-скилл
|Обучаемость
|Обучаемость и инициативность
|Инициативность
|Работа в команде
|Работа на результат
|Работа на результат
|Ответственность
|Ответственность