Вы успешно прошли курсы, разработали, защитили свой первый проект и почувствовали в себе уверенность будущего спеца. Осталось решить куда теперь податься.
Третья часть о том, куда пойти работать, о карьерном росте и деньгах
Безусловно, хочется быть свободным и независимым и начать сразу со фриланса, но погодите, туда вы всегда успеете уйти. Для начала нужно набраться опыта в командной работе. Лучше всего найти организацию у которой:
- На проекте много пользователей, что накладывает требования по стабильности работы и качеству кода.
- Проект пишется на стандартных популярных фреймворках, а не каком-то noname-самописе, который никому не нужен за пределами конторы. Так как вам нужен опыт работы на востребованных инструментах.
- В команде несколько человек и строгий тимлид, который бьёт по рукам за кривой код, но при этом подскажет как правильно делать. Постоянные тычки от команды быстро поднимут скилл.
Масштабные организации
Там занимаются продуктовой разработкой, то есть когда контора реализует свои проекты и продаёт подписки, а не делает «сайты на заказ», продавая человеко-часы.
Там обычно нет строгих дедлайнов, большой грамотный проект и сильные разработчики, но шансы попасть после окончания курсов невелики. В любом случае, если возьмут, будет необходимо пройти их внутренние курсы и сдать аттестацию, после предстоит поработать некоторое время с наставником. Это существенное время. К выбору крупных компаний нужно подходить ответственно.
Маленькие конторы
Та же самая продуктовая разработка, только масштабы поменьше. Из-за ограниченных бюджетов шансов попасть чуть больше, но всё равно не очень много. Так как проще взять спеца подороже, чем учить дешёвого. Обычно в таких организациях вообще не занимаются обучением новых сотрудников.
Заказная разработка сложных проектов
Тут уже продажа ваших человеко-часов, поэтому надо быстрее работать. Сложные проекты — это известные клиенты типа банков, интернет-магазинов, телекома. Наличие таких клиентов говорит о том, что в конторе есть определённый уровень экспертизы и есть чему поучиться. А большой штат и постоянная потребность в разработчиках увеличивают шанс быть нанятым на работу.
Заказная разработка простых проектов
Noname-контора делает проекты для noname-клиентов. Иногда такие конторы называют «галерой», а разработчиков — «гребцами». Начиная от региональных сайтов/приложений и заканчивая заказами из upwork. Не стоит ожидать интересных проектов и грамотной технической части, но если опыта вообще нет, то вариант вполне нормальный набить руку и получить коммерческий опыт. Как станет скучно и несложно — надо менять место работы. Если больше никуда не берут, то вариант неплохой.
Всеми любимый фриланс
- Предстоит самому тратить много времени на поиск и удержание клиентов;
- Проекты начального уровня, но для обучения нормально;
- Нет критики от опытных специалистов, а на старте она важна.
Жирный плюс — нет собеседования и можно легко прикинуться опытным спецом. Вполне нормальный вариант, если сможете найти клиентов.
Карьера
Тут нужно понимать, что у программистов нет классической карьеры в привычном понимании этого слова. Их карьера состоит в наработке опыта. Выглядит это следующим образом: стажёр, junior, middle и senior.
Стажёр — закончил обучение и работает над своим первым проектом, на фрилансе или в команде более опытных спецов.
Junior — разработчик, который только начал свой путь в программировании. Человек освоил синтаксис языка и может писать простейшие программы/скрипты. В коммерческой разработке это означает, что человек может решать простейшие задачи, более сложные задачи он может выполнять с помощью и под контролем опытного коллеги. Давать такому разработчику сложные задачи и ждать от него разумного исполнения (как по качеству, так и по срокам) нельзя. Код junior-разработчика нуждается в постоянном ревью.
Middle — разработчик, который уже имеет некоторый опыт в программировании. Он уже может самостоятельно выполнять сложные задачи, но ему необходимо указать направление. По стеку технологий такой разработчик имеет не очень богатый опыт и не всегда может выбрать необходимые и достаточные инструменты для решения задач. Middle-разработчик видит решение конкретной задачи, но не всегда представляет общую картину и то, как решение задачи интегрируется в архитектуру проекта.
Senior — разработчик с широким кругозором. Такой специалист знает несколько языков программирования, может с нуля реализовать архитектуру проекта, выбрать стек технологий, подходящий под техническое задание с учётом будущего развития проекта. Он постоянно изучает новые технологии и решения, появляющиеся в индустрии, сравнивает инструменты и находит плюсы и минусы каждого решения. При решении поставленных задач программист видит общую картину, не привязывается к каким-то конкретным технологиям, а выбирает наиболее подходящие для задачи, и решает её с учётом дальнейшего развития проекта и его требований.
Переход между уровнями происходит со временем, если разработчик стремится к постоянному развитию. При изучении новых языков и технологий технический бэкграунд программиста растёт и этот переход становится возможным. Человек понимает, что хочет и может решать более сложные задачи, чувствует что ему хватает для этого знаний, другие разработчики признают его авторитет и выбор решения.
Для развития своих навыков необходимо: изучать новые языки и подходы программирования (ООП, функциональное программирование), читать исходный код популярных проектов (находить плюсы и минусы представленных решений), изучать разные системы управления базами данных, механизмы кеширования, очереди и т.д.
Внутри этих понятий тоже есть разделение. Кроме Junior, есть Junior+ и Junior++. Аналогично с Middle, а с Senior — нет. Senior он есть, и всё. Он крут! Сам всё решает и делает. Имеет авторитет в команде и вне.
Деньги
Конкретных цифр из-за ежедневных изменений ситуации в экономике и на рынке труда, в этой статье приводить не станем.
Помните, что много платят реально опытным спецам уровня middle и senior, новичкам будет удачей устроится хотя бы в разы на меньшую зарплату чем у них, для набора опыта.
Тут главное понять, что нет смысла учиться на программиста только ради больших чеков. Это должно быть в первую очередь интересно настолько, что вы самостоятельно будете что-то изучать и делать это без пинков ментора.
Без интереса вас не хватит на 3-5 лет постоянного обучения и ломания себе мозга, от силы на 1-2 месяца.
Мы в поисках специалистов
Разработчик приложений для Android/iOS
А если вы сами не являетесь программистом, но знаете кто подходит, можете порекомендовать его нам через специальную форму (https://clck.ru/XavU2) и получить вознаграждение.
Подписывайся на нас в Вконтакте и в телеграме
#ньюс_пф