Страсть к программированию. Глава 4. Будь худшим

в 14:46, , рубрики: Passionate Programmer, карьера, книги, переводы, Программирование, метки: , ,

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

Глава 4. Будь худшим

3. Кодинг ещё не всё

У легендарного джазового гитариста Пэта Метини (Pat Metheny) есть мудрый совет для молодых музыкантов, который звучит так:

Всегда будь худшим в группе

(Всегда будь худшим парнем в каждой группе где ты играешь).

Перед началом моей IT карьеры, я был профессиональным джазовым и блюзовым саксофонистом. Как музыкант, я имел счастье научиться этому уроку рано, и следовать ему в дальнейшем.

Итак. Почему ты всегда должен быть худшим членом группы. “Разве это не обескураживает?” спросите вы. Да, на первый взгляд это действительно обескураживает. Когда я был молодым музыкантом. Я оказывался в ситуациях, когда я был, очевидно, худшим парнем в группе и чувствовал себя паршивой овцой, которая портит все стадо. Я приходил на концерт, и не хотел даже распаковывать свой саксофон, от страха, что провалюсь под сцену. Мне приходилось стоять рядом с людьми, с которых я должен был брать пример и даже играть на одном уровне, а иногда исполнять главную партию.

Безошибочно (к счастью!). Что-то волшебное происходило в эти моменты. Я приспосабливался. Я бы не выделялся среди других музыкантов, как звезда. С другой стороны, также, очевидно, я бы не превзошел себя. Это произошло по двум причинам. Первая причина в том, что я не так плох, как я думал. Вернемся к этому позже.

Более интересная причина в том, что я приспосабливался к этим супер музыкантам — моим героям, в некоторых случаях — в том, что моя игра изменялась, чтобы быть более похожей на их игру. Я хотел бы думать, что я обладаю какой то суперсилой, превращаться в гения просто стоя рядом с ним. Это больше походило на какое-то подражательное поведение, запрограммированное во мне. Это тоже явление, которое заставило меня приспособиться к новым программистским словарю и привычкам, когда меня окружали люди говорившие по другому, нежели чем я. Когда мы вернулись после полутора лет жизни в Индии, моя жена слушая меня начинает хохотать, “Ты слышишь что ты только что сказал?". Я говорил на индийском английском.

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

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

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

Позже, когда я перешел в IT я обнаружил, что привычка искать лучших музыкантов стала естественной для меня как программиста. Может быть, бессознательно, я искал лучших IT-шников чтоб с ними работать. И, что неудивительно, урок сохранил справедливость. Быть худшим парнем(или девчонкой, конечно же) команды имеет тот же эффект, что и худшим парнем группы. Ты обнаружишь, что ты необъяснимо лучше. Даже будешь говорить, и писать намного лучше. Твой код, и твои идеи будут более элегантными, и ты поймешь, что вы в состоянии решать более сложные задачи все более креативными способами.

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

Попытка быть худшим, на самом деле, мешает вам продавать себя сразу. Вы, возможно, принадлежите группе А, но всегда остаетесь в группе B, потому что боитесь. Сознайтесь, не лучше ли убрать страх оказаться не лучшим. На самом деле, даже если вы пытаетесь быть худшим, не факт что вы им будете.

Действуй!

1. Найди ситуацию “быть худшим” для себя. Ты не можешь позволить себе роскошь немедленно сменить команду или компанию только потому, что хочешь работать с лучшими людьми. Вместо этого, найди волонтерский проект, над которым можно работать с другими разработчиками, которые сделают тебя лучше. Узнай о групповых встречах разработчиков в своем городе и посещай эти встречи. Разработчики часто ищут проекты помимо основной работы, в которых практикуют новые методы и улучшают свои навыки.

Если рядом нет активного сообщества разработчиков, используй Интернет. Выбери OpenSource проект который тебе нравится, и разработчики которого представляют для тебя “следующий уровень” которого ты хочешь достичь. Пролистай список дел проекта или архивы переписки, выбери фичу или крупный багфикс, и начниай кодить. Придерживаясь стиля проекта. Преврати это в игру. Сделай свой код и идеи настолько неотличимыми от кода и идей проекта, чтоб даже сами разработчики не могли вспомнить, кто его написал. Затем, когда ты будешь доволен своей работой, представь ее в виде патча. Если работа хороша, она будет принята в проект. Начни сначала, и сделй это снова. Если ты принимал решения, с которыми не согласны разработчики проекта, учти их пожелания и переделай, или прими к сведению изменения, которые они вносят. Постарайся сделать свой следующий патч с наименьшим количеством переделок. В конце концов, ты окажешься надежным членом команды проекта. Ты будешь поражен тем, чему ты смог научиться от удаленной группы старших разработчиков, даже если у вас никогда не будет шанса встретиться.

Автор: matiaspub

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js