169
правок
AE (обсуждение | вклад) (→А если серьезно: Про грейды) |
AE (обсуждение | вклад) (→Как стать разработчиком: Первая версия) |
||
Строка 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: | ||
|- | |- | ||
|Ключевой софт-скилл | |Ключевой софт-скилл | ||
|Обучаемость | |Обучаемость и инициативность | ||
| | |Работа в команде | ||
|Работа на результат | |Работа на результат | ||
|Ответственность | |Ответственность |