Всем привет и добро пожаловать в мир разработки! Сегодня мы хотим представить вам трех экспертов из мира 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-разработчик. До новых встреч!

Комментарии (6)


  1. Vasjen
    17.01.2024 13:29

    Если у вас появилась идея, которую вы реализовали в пет-проект и она реально востребована — это уже не пет-проект.

    А вы точно Software architect?

    Просто в моем понимании пет-проект - это рабочий проект, в котором реализована какая-то идея, решена проблема и т.д., но главное отличие от реального проекта – в допустимом упрощении каких-то моментов. В пет-проекте можно не добавлять метрик, не вести логирование, упростить что-то в безопасности и ролях, не выстраивать необходимую инфраструктуру вокруг него, не кэшировать статические файлы на всяких CDN.

    Ан-нет, я ошибся. Главное чтобы идея была не востребована. А если есть 30 постоянных пользователей или 100, это уже востребована, или еще нет?


    1. LeetCode_Monkey
      17.01.2024 13:29

      Нет, всё правильно. Пет-проект который восстребован - это уже бизнес. Всё остальное, все эти метрики и логгирования - это вопрос ROI для данного конкретного бизнеса, не более.


      1. Vasjen
        17.01.2024 13:29

        Мы говорим в контексте начинающего разработчика, по крайней мере я это подразумевал и подразумевая, так как об этом статья. Вероятность того, что начинающий разработчик сделает что-то, что будет востребовано стремится к нулю.
        Плюс востребовано – это как? Это какой-то оборот денег, или количество активных пользователей и т.д. Для джуна и его пет-проекта на самом деле это второстепенно. Пет проекты делают для того, чтобы научиться программировать и использовать какие-то фреймворки, библиотеки и т.д. И хорошо, если это не просто что-то бессмысленное, а попытка реализовать свою задумку идею. Банальный бот, который будет через какую-то API мониторить погоду и присылать рекомендации по одежде будет ценнее, чем TODO или что-то по видео на ютубе.


        1. LeetCode_Monkey
          17.01.2024 13:29

          Вероятность того, что начинающий разработчик сделает что-то, что будет востребовано стремится к нулю.

          В нынешние времена, пожалуй, да. Но тогда изначальный тезис о восстребованности надо убирать.


  1. Ablazzing10
    17.01.2024 13:29

    В условиях избытка людей считающих себя джунами (но большинство ими не являющимися), как hr оценивать по pet проекту умения человека - не очень понятно. Всем нужно одно: опыт и список технологий с которыми умеете работать. Стажировки тоже имеют ряд проблем: высокий конкурс, отсутствие оплаты, туманные перспективы. Остается только грызть гранит программирования, делать проекты под чьим то надзором и рисовать себе опыт.


    1. LeetCode_Monkey
      17.01.2024 13:29

      Остается только грызть гранит программирования, делать проекты под чьим то надзором и рисовать себе опыт.

      А может, просто, ну нафиг это айти, а?