Где брать опыт начинающему разработчику: Open Source, стажировки и Pet-проекты
Всем привет и добро пожаловать в мир разработки! Сегодня мы хотим представить вам трех экспертов из мира IT, которые поделятся своим опытом и накопленными знаниями о том, как начинающему разработчику добиться успеха в сфере информационных технологий. Оставайтесь с нами, будет интересно!
Full-stack разработчик и технический руководитель в международном стартапе из Австралии.
Более 10 лет в разработке.
Работаю с Python, JS/TS, Django и React.
Как быть джуну без опыта
Проблема отсутствия опыта действительно существует, Pet project — это самый простой и понятный шаг в такой ситуации. Причем если Pet-проекта нет, то меня это настораживает: действительно ли человек достаточно мотивирован? Конечно, это не единственный фактор, но он хорошо показывает интерес, горящие глаза и желание работать.
Для меня самой простой путь — это сделать приложение для себя или друзей, которое решает какую-то реально существующую проблему. Например, автоматический делитель чека из ресторана или приложение для умного дома. Проведите несколько итераций улучшения: добавьте нужные кнопки и функции, чтобы вы действительно смогли использовать это приложение. Тогда вы сможете рассказывать о нем на собеседованиях, а горящие глаза от результата — это ключ к успеху. И, конечно, пишите все на том стеке, на котором вы ищете (или собираетесь искать) работу.
Open Source
Внести ощутимый вклад в Open Source, который сразу усилит резюме, начинающему разработчику будет очень непросто. Написать что-то репрезентативное в среднем или большом Open Source-проекте — задача сложная, а однострочные фиксы багов не особо кому-то интересны.
При работе в компании вам на помощь всегда придет команда и поможет найти подходящую задачу или разобраться с реализацией, а в Open Source-проекте все это придется делать самостоятельно. Поэтому, на мой взгляд, лучший из возможных шагов — это расшарить на GitHub свой Pet project и упомянуть об этом в резюме и на собеседовании.
Стажировки
Я советую целится в средние/крупные продуктовые компании. У них есть ресурсы и процессы для работы со стажерами. Самое важное для разработчика без опыта — это мотивация, желание работать именно в этой компании и желание учиться и развиваться в профессии.
Ищите ту компанию, в которую вы действительно хотите попасть, где вам нравится культура или продукт. Пробуйте откликаться или даже писать напрямую в HR. Приготовьте cover letter и расскажите как можно более детально о том, почему вы хотите попасть именно к ним. Если компания готова рассматривать стажеров или джунов, то вас непременно пригласят на интервью.
Software Engineer в Big Tech компании в Лондоне.
До переезда в Англию более четырех лет разрабатывал одну из крупнейших аналитических платформ в Яндексе.
Больше года занимался развитием проектов в области виртуальной и дополненной реальности.
Сейчас разрабатываю инструменты для развития одного из крупнейших мессенджеров.
Как быть джуну без опыта
Если вы можете написать Hello World на вашем любимом языке программирования, то поздравляю — у вас уже есть небольшой опыт. Для серьезной работы этого еще мало, но вы уже имеете фундамент для получения новых знаний и опыта.
Pet-проекты — это отличная возможность набраться опыта, попробовать разные инструменты и области программирования. Pet-проект будет более мотивирующим, если он связан с тем, что вас действительно вдохновляет.
Идеи для Pet-проектов приходят неожиданно. Это может быть концепция для гениального стартапа, который принесет вам миллионы, желание автоматизировать свои ежедневные задачи или даже создание веб-сайта для частного бизнеса вашего знакомого. Просто посмотрите по сторонам и возьмитесь за то, что вам интересно.
Для организации кода используйте ваш любимый редактор (VS Code) и систему контроля версия (Git). Для составления плана и документации понадобится текстовый редактор (Notion). Не забывайте про современные графические редакторы для дизайна (Figma). А для отслеживания задач нужен таск-трекер (Trello).
Самое важное — это просто быть увлеченным своей идеей. Пет-проект может быть простым небольшим, и он необязательно должен быть успешным. Помните, что он даст вам ценный опыт, возможность попробовать что-то новое и развиваться в выбранной области.
Пока я учился в университете, я придумывал разнообразные проекты, которые помогали мне получать практический опыт. Я пробовал писать мобильные приложения, веб-сайты и сервера. Благодаря этому, я попробовал различные сферы разработки и выбрал для себя ту, в которой хотел развиваться дальше.
Open Source
Главное преимущество Open Source — это возможность поработать над любым проектом ровно столько, сколько захочется. Вы сами определяете свою занятость и проект над которым работаете.
GitHub — это главный инструмент поиска. Можно открыть любой понравившийся репозиторий и изучить проект. Для начала стоит изучить информацию о проекте и попробовать воспользоваться этим проектом лично. Поймите, что вам нравится, и отметьте моменты, которые можно улучшить. После этого можно приступать к изучению кодовой базы.
Большинство проектов имеют список задач с пометкой «Подходит для новичков», и я советую начинать именно с них. Они адаптированы для начинающих разработчиков, которые не знакомы с кодовой базой проекта.
Иногда крупные проекты организуют ивенты для помощи разработчикам, которые хотят влиться в проект. Однажды я принимал участие в таком ивенте от Node.js, и это был крайне положительный опыт.
Стажировки
Советую заходить на сайты компаний, которые вам нравятся, и смотреть раздел «Карьера». Если открытых вакансий нет, отправьте свое резюме с сопроводительным письмом. Вы также можете искать работу в социальных сетях и чатах. Просто хорошо выполняйте свою работу — это самый надежный путь.
Главное — это составить хорошее резюме. На стажировку обычно не ожидается наличие коммерческого опыта, но у вас будет преимущество, если вы распишите свой опыт работы над Pet-проектами, расскажите о вашем образовании и участии в хакатонах. Попробуйте найти людей из этой компании и попросить реферал, в таком случае шансы, что на вас обратит внимание HR, будут гораздо выше.
Во время обучения в университете я проходил стажировку в маленьких компаниях. Благодаря этому я быстро набрался опыта и получил работу на хороших позициях.
Независимый консультант.
Software architect.
Ментор и сооснователь профессионального сообщества разработчиков «Горизонт.Клуб».
Как быть джуну без опыта
Вы можете набрать опыт в компании, куда вас возьмут на обучение, вы можете получить опыт в Open Source или университетских проектах, но ваш опыт — это по сути то, что вы продаете, и то, что оплачивается.
Моя рекомендация: идите сразу на фриланс и пытайтесь решать реальные задачи с реальными клиентами. И опыта наберетесь, и навыки прокачаются быстрее, и какие-никакие деньги получите.
Пет-проект имеет смысл делать, если хотите поиграться с какой-нибудь технологией. Если у вас появилась идея, которую вы реализовали в пет-проект и она реально востребована — это уже не пет-проект.
Посмотрите вокруг и подумайте, что вы можете автоматизировать. Это может быть что угодно: от откидывания сиденья в поезде до открывания крышки кофе при поднесении к губам. В случае чистого софта — документооборот или любой процесс (например, автоматизированный планировщик ваших пятничных посиделок с друзьями).
В качестве рабочих инструментов берите то, к чему у вас лежит душа. Pet-проект — не коммерческое решение, где необходимо обосновывать выбор технологии. Главное здесь возможность поиграться с технологиями и языками программирования.
Если вашим пет-проектом никто не пользуется, то это демотивирует. Пользователи должны быть всегда, иначе непонятно, как вы будете оценивать результаты вашей работы. Поэтому ищите идею, которая точно будет кому-то нужна.
Я в своей работе не довела до конца ни одного пет-проекта. Сначала потому, что я не видела в этом необходимости (на собеседованиях все равно дают свои тестовые задания). А сейчас если я что-то запускаю сама, то сразу стараюсь превратить это в стартап.
Open Source
Open Source — это отличная возможность учиться у других и учить самому. Открываете GitHub и можете кликать наугад. Еще проще — вбить в любом поисковике «список опен-сорс проектов».
Почитайте документацию в репозитории, поговорите с разработчиками, оцените степень вашего интереса к этому проекте и то, готовы ли вы вкладывать в него время.
Хотите внести свой вклад? Выбирайте репозиторий и можете для начала начать фиксить баги, а потом создавать новую функциональность или полноценные части продукта (фичи).
Я никогда особо не контрибьютила в опен-сорс. Сейчас наша компания собирается перевести некоторые продукты в Open Source, и я считаю, что это отличный вклад в сообщество.
Стажировки
Стажировки ищутся на Headhunter, в телеграм-каналах или даже через знакомых — не недооценивайте этот фактор. Возможно, у кого-то есть друг товарища, которому срочно нужен программист.
Хакатоны, контрибуция в Open Source, рекомендации от реальных людей, которые работали с вами, оригинальный и запоминающийся язык в резюме, человеческий фактор — все это поможет вам выделиться.
Попасть на работу после стажировки вы сможете с помощью портфолио разработчика. Делайте акцент на том, что лично вы разработали, чему научились и чего достигли.
Я прошла путь от зеленого джуниора до почти-что-руководящей должности (сейчас на последней стадии). Легко не было, иногда даже было больно и тяжело, плюс надо постоянно крутиться, что-то делать, практиковаться, чтобы выделиться и попасть в число лучших.
Но если настойчиво пройти через все это, наработать и отточить свое портфолио, то усилия очень быстро окупятся. Не сдавайтесь, я в вас верю!
Спасибо, что были с нами! Напоминаем, что в онлайн-школе ProductStar вы можете научиться всему, что связано с программированием. Советуем обратить внимание на курсы по профессии Frontend- и Fullstack-разработчик. До новых встреч!