Рано или поздно, вы поймете, что "пора". Что вы знаете достаточно, чтобы найти первую работу в программировании. И вскоре после этого момента может случиться встреча с реальностью, которая отбивает у довольно многих без пяти минут джунов желание продолжать.
Сколько бы вы ни просматривали актуальные вакансии, на любую позицию требуются люди с опытом. Причем иногда складывается впечатление, что даже от джуниор Java-кодера работодатели ожидают как минимум нескольких лет опыта работы, не говоря уже о порой сверхъестественных объемах теоретических знаний.
Но как получить этот необходимый для реального трудоустройства опыт, если кодеров без опыта брать никто не хочет? Замкнутый круг? Нет, просто одно из типичных для начала карьеры затруднений.
Только без паники. Есть безотказных способов решить проблему недостатка практического опыта.
1. Независимые проекты
Начнем с более простых советов. Один из лучших способов получить практический опыт в Java или любом другом языке программирования — это работа над независимыми и любительскими проектами. Например, можно присоединиться к открытому проекту на Github.
Незачем искать сложные или те, для реализации которых нужен оригинальный подход и уникальные знания. Все, что требуется от Java разработчика с минимумом или вообще без опыта — это чтобы на нем можно было практиковаться: чем больше, тем лучше. С улучшением базовых навыков можно переходить к более и более сложным проектам.
Хотя в описаниях вакансий среди требований часто фигурирует опыт работы с языком от двух-трех лет, это не единственный критерий. Да, компании ищут людей, способных работать со своим и чужим кодом, знанием инструментов. Но работодатели часто обращают внимание и на так называемые "мягкие навыки" (soft skills).
Это, в первую очередь, здравый смысл, работа с людьми и коммуникации, эмоциональный интеллект. Для всего этого нужен опыт работы над реальными проектами, с настоящими проблемами и дедлайнами, вместе с другими кодерами и прочими специалистами.
Иногда наличие soft skills, обучаемость и желание прогрессировать компенсируют в глазах нанимателя отсутствие специальных технических знаний и не слишком богатую теоретическую базу. Более того, даже если от соискателя требуется знание определенной технологии, с которой Java-разработчик без опыта не знаком, наличие в резюме нескольких проектов, описание опыта работы над ними и уроков, полученных в процессе, даст шансы на повышенный интерес со стороны компаний.
2. Личные проекты
Под "личными" проектами имеются в виду те, которыми Java кодер занимается в качестве хобби, для развития своих профессиональных навыков, из интереса и просто для развлечения, а не с целью заработать. Многие работодатели при изучении резюме программистов обращают внимание именно на их пет-проекты.
Почему? Если они есть, это говорит о том, что человек действительно любит свою работу и стремится к профессиональному росту не на словах, а на деле. Люди, которым действительно важно и интересно то, что они делают, часто помимо чисто рабочих задач занимаются и собственными проектами. Если ваша работа — ваше хобби, или же вы можете использовать рабочие навыки для поддержания хобби — это хороший знак.
3. Фриланс — безграничное поле для "прокачки" и набора опыта
Да, начинающему программисту очень сложно пробиться на фриланс-площадках, но попробовать можно. Переход к работе фрилансером может быть промежуточным этапом на пути от совсем зеленого Java-девелопера к поднабравшему опыта и "нагулявшему" скиллов уверенному Java джуниору.
Казалось бы, между фрилансом и работой фулл-тайм Java разработчиком разница небольшая. Но на самом деле на фрилансе можно найти намного больше перспективных возможностей для малоопытного джуниора. Все потому, что фрилансеров частенько нанимают для разовой или непродолжительной работы над какими-нибудь проектами.
Например, им доверяют задачи, объем которых слишком мал для того, чтобы искать для них полноценного сотрудника. В английском языке для описания таких микропроектов есть термин "gigs" — "леваки".
Фрилансеров часто нанимают представители малого бизнеса, которым требуется помощь программиста в решении относительно несложных проблем. Или предприниматели, работающие над какой-нибудь инновационной идеей с ограниченным бюджетом. Или даже сотрудники крупных ИТ-компаний, которые в свободное время развивают экспериментальные проекты. Словом, вариантов масса, но в большинстве случаев это будет небольшая временная работа с четко сформулированными целями. А это — то, что доктор прописал для "прокачки" своего резюме.
4. Гуртом и батьку бить легче. Разработка в составе группы
Если индивидуальная работа над проектами, будь то pet projects или задачи для фрилансеров, по каким-то причинам "не идет," можно попробовать другой вариант — разработку в составе команды девелоперов примерно одного уровня. Совместная работа и решение проблем не только помогают быстрее учиться и прогрессировать, но и помогают поднять мотивацию, которая у многих начинающих разработчиков под угрозой.
Кстати, на форуме JavaRush периодически появляются темы, где кто-то собирает именно такие команды. Там же можно найти и небольшие оплачиваемые проекты для одного разработчика.
5. Стажировка JavaRush
Ну а мы помогаем студентам получить первую работу не только словом, но и делом. На онлайн-стажировке JavaRush можно поработать над настоящим проектом, изучить новые технологии и сразу же "обкатать" практические навыки по их применению.
Стажировка JavaRush — это три месяца полноценной работы над серьезным проектом вкупе с получением дополнительных теоретических знаний. Набор на стажировку проводится четыре раза в год. Анонсы публикуются за несколько недель до нового набора на сайте и на страницах JavaRush в соцсетях.
Впрочем, не стажировкой единой. Основной курс JavaRush тоже включает не только маленькие задания и задачки, но и полноценные проекты. Еще будучи студентом JavaRush, можно написать полноценную игру, эмулятор работы банкомата или свой собственный архиватор файлов.
Как вы видите, решить проблему недостатка практического опыта для Java разработчика можно. Было бы желание. Именно желание учиться и развиваться, неподдельный интерес к профессии — это то, что хотят видеть наниматели, изучая резюме малоопытного специалиста. В описаниях вакансий для этого еще используют популярное клише "горящие глаза."
Вот таким он и должен быть, будущий Java джуниор: с пожаром в глазах и холодной решимостью овладеть всеми тонкостями кодинга. По крайней мере, как-то так это видят работодатели.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ