Как стать 10-кратным разработчиком
руководство по ресурсам о том, как туда добраться
Каждому работодателю нужен 10-кратный разработчик - элитный разработчик, способный создавать код в десять раз быстрее и лучше, чем их коллеги. Это неуловимая избранная группа, которая может получать более высокую зарплату и быстрее, чем кто-либо, находить работу.
Но быть разработчиком в 10 раз относительно.
Все дело в перспективе
Если команда слабая или в основном состоит из юниоров, полуопытный разработчик может рассматриваться как 10-кратный разработчик. Если вы возьмете большую рыбу и поместите ее в пруд побольше, вы обнаружите, что они не так эффективны или эффективны, как в более новых и сложных условиях.
Тем не менее, все еще можно стать разработчиком в 10 раз в любой среде - если вы продолжите использовать себя в качестве основы для оценки.
У японцев есть концепция под названием кайдзен - постоянное совершенствование. С математической точки зрения, если вы улучшаете себя на 1% ежедневно, вы станете на 100% лучше примерно через 70 дней. Это означает, что отправную точку вы составляете примерно каждые 70 дней. Если вы будете постоянно это делать, вы станете 10-кратным проявителем, который станет настоящей большой рыбой в любом пруду в кратчайшие сроки.
Помимо теоретической математики для самосовершенствования, вот несколько вещей, которые вы можете сделать, чтобы внести свой вклад в ваше непрерывное обучение.
Начни с больших идей
Цель программирования - систематизировать мир с помощью серии шаблонов, написанных в виде определенного набора правил, основанных на синтаксисе. Любой может научиться программировать, но чего часто не хватает, так это эффективной грамматики кода и эффективного стиля. Новые разработчики склонны «возиться» со своим кодом, что приводит к запутанному мусорному коду, склонному к ошибкам.
Люди всегда говорят, что пишите код лаконично и элегантно - что это на самом деле означает?
Написание краткого и элегантного кода означает встраивание в него эффективных шаблонов и парадигм, которые были опробованы, протестированы и считаются лучшим текущим решением для конкретного сценария или набора условий. Для разработчика x10 этот процесс - вторая натура.
Так что же это за эффективные модели и парадигмы?
Две большие идеи, которые могут изменить эффективность вашего кода, - это функциональные и объектно-ориентированные шаблоны программирования. Подходите к обеим идеям с нейтральным мышлением, потому что есть много активных сторонников, которые сделают все возможное, чтобы дискредитировать другую. Оба шаблона не на 100% идеальны для каждого случая, но понимание того, как использовать оба, может помочь вам определить, какое решение является наиболее подходящим для ваших требуемых условий.
Применение идей SOLID также является еще одним шаблоном, который может помочь облегчить беспорядочный код, привнести структуру и позволить вашей работе иметь стандартизованный метод связи между разработчиками.
Знание методов и структур вашего языка также может в конечном итоге сделать вас лучшим разработчиком. Вам не обязательно все понимать или уметь ими пользоваться. Осознания их существования часто бывает достаточно в качестве отправной точки до тех пор, пока не появится возможность использовать их в контексте.
Следуйте за лидерами отрасли
Есть несколько лидеров отрасли, которые также являются плодовитыми создателями контента. Мартин Фаулер - один из наиболее цитируемых влиятельных лиц в сфере кода. Среди других громких имен - Роберт К. Мартин, Алистер Кокберн, Кент Бек, Грэди Буч, Эрик Гамма, Грегор Хоуп, Крейг Ларман, Нил Форд, Дуглас Крокфорд и Брендан Эйх.
Они движут и встряхивают отрасль - те, кто бесконечно обсуждает проблемы, решения и потенциальные способы просмотра, создания и использования кода. Их разговоры и идеи, как правило, не зависят от языка - это означает, что их идеи может использовать кто угодно из любой дисциплины.
Их выступления и презентации часто записываются и выкладываются на YouTube. Вот несколько полезных каналов, которые вы можете послушать в перерывах между занятиями.
Выступления, записанные и опубликованные на этих каналах, часто затрагивают важные идеи, которые можно применить в повседневной деятельности по кодированию.
Прочтите несколько книг
Несмотря на технологии и постоянные новые графики выпуска, технические книги не так уж устарели, как мы могли бы подумать. Есть определенные «классики», которые сродни тому, что Чарльз Диккенс о технологиях должен прочитать.
Эти книги еще более важны для создания кода, который имеет прочную основу и дает лучшее представление о том, как все сочетается друг с другом. Хотя онлайн-уроки великолепны, книги дают более подробный и целостный обзор с высоты птичьего полета. Чтение технических книг - это также хороший способ расширить свои знания и дать вам точки для связи в будущем.
Вот моя десятка рекомендуемых книг.
1. Справочник по доменно-ориентированному дизайну: преодоление сложности в самой основе программного обеспечения Эрика Эванса
Эта книга не только о коде. Речь также идет о том, как организовать ваши команды и спроектировать систему на основе условий, а не приспосабливать условия к коду. Эта книга - одно из лучших пособий для всех, кто создает код.
2. Чистый код: руководство по созданию гибкого программного обеспечения Роберт К. Мартин
Чистый код фокусируется на функциях, классах и запахе кода. Несмотря на предупреждение, примеры приведены на Java, и некоторые из проиллюстрированных идей неприменимы и не могут быть перенесены на другие языки. Тем не менее, если вы хотите повысить свою квалификацию как разработчик, это все равно неплохой материал для чтения.
3. Структура и интерпретация компьютерных программ Гарольд Абельсон, Джеральд Джей Сассман и Джули Сассман
Эту книгу часто рекомендуют на занятиях по информатике и не зря - авторы намеревались изменить ваше отношение к программированию. В нем есть немного математики, но если вы справитесь с этим, это сделает вас лучшим программистом в отличие от простого кодера.
4. Шаблоны проектирования Head First - удобное для мозга руководство Эрика Фримена, Берта Бейтса, Кэти Сьерра и Элизабет Робсон
Если вам не нравится читать технические книги, эта книга похожа на версию в мягкой обложке ваших онлайн-руководств, но более глубокая и с целостным обзором шаблонов проектирования в одном месте.
5. Программист-прагматик: от подмастерья к мастеру Эндрю Хант и Дэвид Томас
Хотя эта книга была первоначально опубликована в 1999 году, идеи и методы мышления, содержащиеся в этой книге, прошли проверку временем. Эта книга не о коде, а о решении проблем и о том, как найти эффективное и действенное решение, не зависящее от языка.
6. Мифический человеко-месяц Фредерика П. Брукса-младшего.
Эта книга немного устарела, но уроки, которые автор иллюстрирует, имеют вневременное качество, что делает ее по-прежнему одним из самых популярных рекомендуемых материалов для чтения в программировании. В нем представлены идеи, которые должны быть в голове у каждого ведущего архитектора и менеджера проекта, и которые в конечном итоге могут облегчить жизнь вашего кода.
7. Рефакторинг под шаблоны Джошуа Кериевски
Эти книги лучше всего употреблять после того, как вы поймете и усвоите общие шаблоны. Это потому, что он научит вас не этим шаблонам, а тому, как преобразовать код во что-то более стандартизованное по сравнению с ожиданиями отрасли.
8. Гибкая оценка и планирование Майк Кон
Вы не можете избежать гибкой разработки, и эта книга посвящена гибкой доставке с точки зрения программного обеспечения. Об Agile много говорят, но обычно это касается менеджеров. На самом деле в мире не существует подходящего руководства, которое, как известно, помогло бы добиться гибкости при использовании подхода, основанного на программном обеспечении. Майк Кон делает именно это с этой книгой.
9. Разработка через тестирование Кент Бек
Все говорят о разработке через тестирование, но не многие действительно понимают, что это такое и как это делать. В этой книге подробно рассматриваются мыслительные процессы и технические аспекты правильного выполнения TDD.
10. Cracking the Coding Interview: 150 вопросов и решений по программированию Гейл Лаакманн МакДауэлл
Даже если вы не идете на собеседование, вопросы и ответы помогут вам лучше понять, как все работает и почему. Он также служит хорошим руководством по принципам программирования и дает исчерпывающее представление о дисциплине.
Заключительные слова
Путь к тому, чтобы стать 10-кратным разработчиком, бесконечен и никогда не завершится, если вы продолжите использовать себя как основу для улучшения. Всегда найдутся те, кто лучше вас - и те, кто менее эффективен и действенен.
Внешне то, где вы стоите, относительно того, где находятся все остальные. Вам просто нужно продолжать учиться и совершенствоваться до такой степени, что ваши знания превзойдут скорость изменений. Изучая основы и продвинутые теории кода, он по умолчанию делает вас гораздо более эффективным и действенным разработчиком.
Спасибо за чтение. ❤
Афинья