На прошлой неделе я был на конференции TNW в Амстердаме. Накануне прошло еще одно мероприятие под названием Саммит молодых авторов. Как я узнал, Young Creators - это голландская платформа для начинающих предпринимателей, где они помогают молодым людям стать лучше в том, чем они занимаются, и в конечном итоге начать свой бизнес.

На саммите прошла очень интересная панельная дискуссия о том, как стать успешным инженером. Сейчас, когда я учусь на неполный рабочий день и являюсь веб-разработчиком, я тоже часто спрашиваю себя об этом. Что нужно, чтобы стать отличным инженером-программистом?

Кармен Паломино и Диркьян Бассинк из GitHub и Дарра Карран из Intercom поделились своими мыслями по этой теме. Сегодня я хочу поделиться извлеченными уроками, а также своим личным мнением по этому поводу. Давайте нырнем!

Знай, чего ты не делаешь

Есть известное высказывание, которое применимо ко всем областям, включая разработку программного обеспечения:

Я знаю, что ничего не знаю.

Успешные инженеры умеют выбирать правильные вещи для работы. Вещи, которые имеют значение. Вы должны знать, что не делать, и знать, чего вы не знаете. Знаю, сбивает с толку.

Забудьте о том, какой язык программирования вы знаете. При необходимости вы можете выучить еще один. Люди будут нанимать вас за то, кем вы можете быть, а не за то, чем вы сейчас являетесь.

Навыки коммуникации

Диркьян и Кармен говорили о культуре работы в GitHub и о том, что все зависит от прочного общения. На самом деле общение - один из важнейших навыков.

Например, большинство команд GitHub распределены по всему миру. Часто в одном городе нет даже двух сотрудников. В дополнение к этому они используют разные каналы для общения, такие как Slack, внутреннюю систему поддержки и, конечно же, вопросы и запросы на вытягивание на самом GitHub.

Теперь, если вы работаете удаленно и используете много разных способов взаимодействия друг с другом, очень важно записать то, что вы сказали и о чем договорились.

Вы же не хотите, чтобы вас называли парнем, который пишет плохие сообщения о коммитах.

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

Мне понравилось, как GitHub пытается сохранить этот настрой, даже когда некоторые работают в одном офисе. Они не проводят встреч, но продолжают асинхронные чаты с помощью запросов на вытягивание и задач. Таким образом, вы не вернетесь к старым привычкам. Все три участника дискуссии отметили, что новички были удивлены тем, насколько легко им было привыкнуть к новому рабочему процессу.

Не проси работы

Я рано понял, когда начал свою первую удаленную работу, что проявление инициативы очень важно. Работа не приходит к вам автоматически. Если вы где-то заметили проблему, маловероятно, что кто-то другой тоже ее заметил и посоветует вам исправить. Это согласуется с одной мантрой в Facebook:

Ничто в Facebook не является чужой проблемой.

Если вы совмещаете это с удаленной работой, и никто не видит, что вы работаете, как в традиционном офисе, еще более важно, чтобы вы проявили инициативу и действовали сами. Это ваша ответственность.

Найдите время подумать

В TNW Джейсон Фрид, основатель и генеральный директор Basecamp, отметил, что он очень обеспокоен тем, что люди постоянно находятся в стрессе и работают как роботы. Это побудило меня спросить себя: когда в последний раз я просто думал?

Фрид рекомендует работать в другом месте или совершать длительные прогулки каждый день, чтобы забыть о том, что вы делаете прямо сейчас, и вместо этого думать о как, почему и когда. Вот откуда приходят отличные идеи, а не от работы в офисе с 9 до 5. Такие перерывы очень важны как для вашего физического, так и для психического здоровья.

Внесите свой вклад в программное обеспечение с открытым исходным кодом

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

Давая обратную связь другим и анализируя их вклад, вы не только укрепляете свои навыки программирования, но также улучшаете свою способность работать удаленно и четко общаться. Это определенно сделает вас лучшим инженером.

Заключительные примечания

В конце панельной дискуссии Дарра Карран и другие согласились, что можно потратить день на сценарий, чтобы автоматизировать что-то в своем рабочем процессе, потому что после этого будет меньше человеческих ошибок. Вы обязательно должны использовать инструменты, чтобы облегчить себе жизнь везде, где это возможно.

Просто сделай это.

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