Я часто сталкиваюсь с убеждением, что OpenSource'ом занимаются какие-то странные разработчики из высших материй, кому уже слишком просто "перекладывать JSON'ы". И это так. Но только отчасти.
На самом деле OpenSource – очень разный. Люди могут заниматься в рамках открытых проектов совсем разными задачами. И для большей части задач нужен совсем минимальный уровень экспертизы.
Хочу поделиться с вами вдохновляющей историей разработчика, который сейчас работает в команде FastAPI (вашего любимого / ненавистного фреймворка). А попал он туда очень просто – отвечал на вопросы по фреймворку на всех возможных площадках!
Изначальная мотивация была - прокачать знания. У меня не было работы и я решил, что отвечая на вопросы я смогу работать над более реальными задачами, чем мои пэт-проекты. Дополнительная мотивация - прокачать профиль и показать что я могу, возможно получить рекомендации.Даже если вы джун (или особенно), вы можете сделать очень много полезного для себя и мира в OpenSource. Работа над открытыми проектами позволит вам:
Я сменил сферу деятельности (из других областей ИТ), а без релевантного опыта сейчас найти работу очень сложно. Я решил идти этим путём вместо того чтобы откликаться на вакансии. И сработало) Всего 1.5 года до первой работы и ещё 8 месяцев до хорошей работы!
Времени тратил в разные периоды по-разному. Пока не было работы - часа по 4 в день, в остальное время учил что-нибудь. Когда начал работать - часов по 5-10 в неделю.
Я в основном отвечал на Stackoverflow, позже начал и на гитхаб. Брал вопрос который был интересен и начинал разбираться. Иногда сдавался. Смотрел как другие отвечают. Очень помогло пройтись по открытым пулл-реквестам с меткой BUG, часто ответом было просто 'да, это известный баг'
– получить опыт работы в команде, который вы не получите на своих петах
– познакомиться с "промышленным" пайплайном разработки. Что такое линтеры, тесты, CI, процессы ревью, релизный цикл, обратная совместимость и тд
– прокачать свое резюме. Участие в важных экосистемных проектах точно выделит ваше резюме из сотен других
– регулярно сталкиваться с проблемами реальных пользователей с продакшена (и помогать их решать). Умный ведь учится на чужих ошибках?
– получить публичное портфолио. По нему прекрасно видно, как вы коммуницируете, решаете проблемы, пишете код. Некоторые лиды не ленятся на это смотреть, это гораздо полезнее тестового задания
– получить полезные связи
Последний пункт, к слову, самый важный. Это не очевидная мысль, но OpenSource – это такая же работа. А лучший способ найти работу – если тебя подтянет бывший коллега. Он уже знает, на что вы способны, как решаете проблемы, какой код пишете. Он с вами работал. Даже если работал в рамках OpenSource. Я знаю примеры, когда люди находили работу таким способом.
В общем
OpenSource – это способ зайти в IT сбоку
Не самый быстрый, не самый надежный, не самый масштабируемый. Но очень интересный😅 Так зачем биться в те же ворота, что и остальные?)