Начав свою первую работу в качестве веб-разработчика, я помню первый побочный проект, который начал. Один из инженеров из моей команды рассказал мне об этом раскрученном JavaScript-фреймворке Angular. Это изменило правила игры в том, как разработчики интерфейса могут создавать приложения. Я был взволнован. Той ночью я сломал свой ноутбук и начал читать. Желая написать код, я настроил свою машину и создал приветственный мир фреймворка. Приложение с делами.
Американские горки эмоций
Вы нашли меня в моей спальне, как на изображении выше. В одну минуту я чувствовал себя на вершине мира, а в следующую бил по клавиатуре, бесконечно пытаясь найти решение, пока не наступила мания. Чаще всего вы обнаружите, что многие побочные проекты (или изучение любой новой технологии) достигают этой точки. Некоторым это удается, но для других это не более чем базовое руководство по тому, чему вы пытаетесь научиться. За прошедшие годы я понял, что сторонние проекты отлично подходят для личного развития. Это может помочь вам учиться без давления на работе, экспериментировать с новыми инструментами и сохранять остроту.
Как правильно выбрать сторонний проект?
Повзрослев как инженер, я обнаружил, что задаюсь этими вопросами при оценке стороннего проекта.
- Почему я хочу построить «х»? — Это может быть так просто, как «Я думаю, это классная идея». Ваш ответ на это обычно определяет следующий ответ.
- Каков ваш желаемый результат? Изучить новую технологию или выполнить конкретную задачу? — Здесь мы можем лучше понять, как подходить к проекту. Если вы хотите изучить новую технологию, вы должны быть уверены, что проект подходит для данной технологии. Вообще говоря, когда дело доходит до конкретной задачи, вы можете использовать что-то, с чем вы более знакомы, чтобы сразу же взяться за дело. Мое личное мнение, что вы хотите использовать правильную технологию для работы.
- Это то, что вы хотите, чтобы другие использовали? — Это может определить, насколько зрелым должен быть ваш код или проект.
Очень важно ответить на эти вопросы, потому что это даст вам лучшее представление о том, как подойти к созданию вашего проекта.
Несколько советов, когда вы начинаете строить
- Определите MVP — даже если это побочный проект, всегда полезно определить MVP. Какую проблему вы пытаетесь решить и каковы требования? Это практика, которую некоторые инженеры не в полной мере ценят. Если вы можете разбить проект на необходимые функции и желаемые функции, вы можете понять, как превратить этот проект из «другого стороннего проекта» во что-то, что вы закрепите в своем профиле Github.
- Перечислите все функции. Как только вы определите MVP, у вас будет хорошее мышление и хорошее представление о том, с чего начать создание приложения с нуля. Добавленный совет: составьте список TODO с идеями будущих функций. Это может позволить последователям проекта понять будущее состояние и, возможно, захотеть внести свой вклад!
- Относитесь к этому как к производству — это сложно, потому что я знаю, что виноват в этом. Легко попасть в ловушку, просто желая, чтобы идея сработала. Если вы изучаете новый фреймворк, обращение с кодом как с продуктом поможет вам изучить передовой опыт и глубже понять инструмент.
- Написание хорошей документации. На мой взгляд, способность писать хорошую документацию является недооцененным навыком для многих инженеров, особенно на ранних этапах их карьеры. Почему бы не попрактиковаться с побочным проектом? Когда другие будут использовать проект, он проверит вашу документацию и предоставит обратную связь, где есть пробелы. Еще одним преимуществом хорошей документации является то, что она может быть полезной функцией для полного понимания того, как работают компоненты.
Заворачивать
Побочные проекты могут занимать много времени, но при хорошем планировании и документации вы можете создать нечто прекрасное. Просто будьте непредубежденными в отношении сотрудничества над теми проектами, которые выходят за рамки «дополнительной части». Нет ничего более разочаровывающего, чем привратник создателя и закрытость для новых функций или исправлений.
Если вам понравилось, вам нужен совет или вы хотите услышать хорошие истории разработки программного обеспечения. Более подробно мы поговорим в Эпизод 3: Дополнительная часть. Следите за подкастом: https://storypoints.buzzsprout.com/. Мы на всех основных платформах!