*Фотография для заголовка от Kelsey Wroten
Быть разработчиком нелегко — это умственная работа, требующая множества мягких и жестких навыков и определенного набора личных качеств, чтобы работать продуктивно и не перегореть. Поэтому вместо того, чтобы прокладывать свой путь в профессии самостоятельно, вы можете учиться у опытных разработчиков, которые сталкивались с наиболее распространенными проблемами и извлекли уроки. Переняв их мудрость, вы сможете сэкономить десятки и сотни часов на непродуктивных занятиях, испытать меньше стресса и проблем и быстрее развиваться.
В этой статье мы собрали 20 лучших советов от разработчиков для других разработчиков о том, как они могут взломать свою рутину и достичь большего за меньшее время. Сохраните эту статью, чтобы вернуться к ней позже.
1. Знайте свою интегрированную среду разработки
Интегрированные среды разработки (IDE) — это программные комплексы, которые предоставляют основные инструменты, необходимые для написания и тестирования программного обеспечения. Лучшие IDE предоставляют центральный интерфейс со всеми необходимыми функциями, включая редактор кода, компилятор, отладчик и средства автоматизации.
«Научитесь пользоваться вашей IDE. Обратите внимание на рефакторинг, который она предоставляет, изучите навигационные ярлыки, узнайте ее возможности.» — Адам Скиннер
2. Изучите интерфейс командной строки
Интерфейс командной строки (CLI) — это текстовый интерфейс, используемый для запуска программ, управления компьютерными файлами и взаимодействия с компьютером. CLI позволяет пользователям взаимодействовать с системой или другими приложениями с помощью команд CLI.
«Изучите команды CLI, чтобы искать, заменять и редактировать на лету». — Джозеф
3. Никогда не торопитесь писать код
Разработчики бросаются писать код в тот момент, когда получают спецификации. Но на самом деле поспешный код означает, что он, скорее всего, потребует рефакторинга или очистки.
«Продумайте все до конца (и обсудите с пользователем или заказчиком, если это уместно), прежде чем писать код» — leob
«Мои выпускники учили меня: сначала планируй. Действительно планируй в голове, написание окончательного варианта занимает очень мало времени. Для того, чтобы все это понять, требуется умение и терпение» — Aman Jaiswal
«Это так верно! Когда я только начинал, мне так хотелось залезть в код и потеряться в нем. Десятки ошибок спустя, я могу сказать, что стал немного мудрее» — Рафаэль Джамбалос
«В коде никогда не стоит торопиться» — Брайан Марик
4. Избегайте «золотого молотка
Антипаттерн «золотого молотка» — это когнитивное предубеждение, которое подразумевает чрезмерную зависимость от знакомых инструментов, языков и платформ. Такой подход ограничивает ваш потенциал обучения и технический опыт, а также снижает качество вашей работы. Один размер никогда не подходит для всех.
Избегайте «золотого молотка». Не существует единственного способа сделать что-то, поэтому научитесь на раннем этапе формулировать свои варианты, плюсы и минусы и выбирать тот, который подходит для данной ситуации. Также избегайте культур, которые навязывают этот «единственный способ сделать что-то»». — Мелвин Сопакуа
5. Пересмотрите свои обязательства
Предкоммитные обзоры кода имеют много преимуществ: они помогают разработчикам получать своевременную обратную связь, отлавливать ошибки и неудачные проекты, а также учиться у коллег-разработчиков.
«Всегда просматривайте свои коммиты перед отправкой, вы будете поражены тем, сколько ошибок вы выловите сами, прежде чем они попадутся на глаза кому-то еще. Лучше потратить 10 минут своего времени, чем 1 человеко-час нескольких коллег». — Виктор А. Барзана
6. Но практикуйте сфокусированное обучение
Существует большой спор о том, должны ли разработчики специализироваться или нет. С одной стороны, чем шире ваши знания, тем больше возможностей вам будет доступно. С другой стороны, вы рискуете стать «мастером на все руки», страдать от синдрома самозванца и выгорания разработчика.
«Не пытайтесь изучить «все», это пустая трата времени. Изучите основы, затем один или два языка и фреймворка, и все — не прыгайте на каждую новую волну, игнорируйте причуды и шумиху. Специализируйтесь — жизнь слишком коротка, вы не можете быть хороши в дюжине вещей». — Леоб
7. Создавайте побочные проекты
Побочные проекты бывают разных форм и имеют разные цели, но у них есть одна общая черта: они дают множество преимуществ. Побочные проекты ускоряют процесс обучения, способствуют развитию креативности, расширяют портфолио разработчика, а иногда служат источником дополнительного дохода.
«Проекты на руках / побочные проекты — лучший способ изучить технологию» — Адриан Матей
8. Пишите читабельный код
Читабельный код — одно из важнейших качеств хорошего разработчика. Читабельный код экономит время и усилия разработчика, сокращая время на отладку, сохраняя сопровождаемость и простоту понимания.
«Пишите читабельный код, не комментируйте его, если код самоочевиден». Это причина, по которой вы используете понятные имена переменных/методов». — Виктор А. Барзана
«Пишите читабельный, а не сложный/модный код — вы потом скажете себе спасибо». — Адриан Матей
9. Отслеживайте время
Разработчики должны отслеживать свое время по нескольким причинам. Прежде всего, учет времени помогает разработчикам оптимизировать свою работу, определить время пиковой продуктивности, спланировать и расставить приоритеты. Разработчики-фрилансеры получают вдвое больше прибыли: они могут использовать тайм-трекеры для оценки рентабельности проекта и выставления счетов своим клиентам.
«Разработчики часто чувствуют, что они недостаточно продуктивны. В большинстве случаев это не так. Используйте бесплатный тайм-трекер, чтобы фиксировать время, потраченное на выполнение задач, и документировать важные действия и этапы» — Джейн
Интерфейс онлайн-табеля в actiTIME, где каждый пользователь может выбрать параметры задачи, которые он хочет видеть в своем табеле учета времени
10. Используйте буферное время
Agile-команды измеряют множество показателей производительности разработчиков, включая скорость работы команды — объем работы, который команда может выполнить за один спринт. Чтобы понять пределы и ограничения своей личной рабочей нагрузки, вы можете рассчитать свою индивидуальную скорость, добавить к ней небольшие буферы времени при оценке рабочих действий и наслаждаться работой в более спокойном темпе.
«Старайтесь оценивать и отслеживать реальное количество времени, которое вы потратили на выполнение задачи. После того как вы найдете личную скорость, вы сможете контролировать давление, которое компания пытается на вас оказать. Например, если вы знаете, что выполните задание за 3 часа, вы можете оценить его в 4 часа и получить пространство для размышлений и замедления». — Игорь Клименок
«Когда я устроился на свою первую работу, я хотел бы, чтобы у меня было больше опыта в оценке времени, необходимого для выполнения какой-либо задачи. Не уверен, была ли это моя чрезмерная уверенность в своих способностях, наличие четкой дорожной карты задачи в моем воображении (обычно мешали неожиданные ошибки) или и то, и другое, что заставляло меня обычно говорить меньше, чем требовалось на самом деле. Это разочаровывало и меня, и моих товарищей по команде, пока старший не помог мне с этим процессом. TLDR: Всегда держите буфер, когда вас спрашивают, сколько времени займет выполнение той или иной задачи» — Anam.DevDes
11. Развивайте мягкие навыки
Писать хороший код недостаточно — разработчики также должны обладать прочными нетехническими навыками, включая коммуникацию, работу в команде, управление временем, решение проблем, критическое мышление, терпение и настойчивость.
«В наши дни работа разработчика становится удаленной, поэтому становится важным иметь лучшие навыки сотрудничества и командной работы. Публичные выступления дают дополнительные преимущества». — Атхарва Ширдханкар
12. Автоматизируйте как можно больше
В своей книге «Страстный программист» Чад Фаулер рассказывает о построении отличной карьеры инженера-программиста, и автоматизация — один из советов, которые он дает. Существует множество аспектов работы разработчика, которые можно автоматизировать. Вы можете внедрить инструменты автоматизации для тестирования, проверки кода, документирования или для начала присмотреться к своему редактору кода.
Автоматизируйте свои повторяющиеся задачи; все, что вы делаете, можно автоматизировать». Вы знаете, что находитесь на правильном пути, если используете регулярные выражения в своем редакторе кода хотя бы раз в день в среднем за неделю». — DarkWiiPlayer
13. Учитывайте дальний конец кривой продуктивности
Старшие разработчики используют инструменты повышения производительности и автоматизации, которые выглядят и кажутся слишком сложными для младших разработчиков. Поэтому младшие разработчики часто ищут и внедряют альтернативные инструменты, которые оказываются неэффективными после того, как они становятся немного опытнее. Поэтому совет: прислушайтесь к своему наставнику и изучите инструменты, которые он советует вам освоить — кривая обучения не будет легкой, но ваши усилия в конечном итоге окупятся.
Выберите инструмент, который может замедлить вас вначале, но поможет вам в дальнейшем». Приведу гиперболический пример: Сегодня человек может добиться большего, если он использует блокнот вместо vim; но если у вас уйдет месяц на изучение основ vim, то следующий месяц повышения производительности сведет на нет потерю первого месяца, а дальше все это будет экономией времени.» — DarkWiiPlayer
14. Инвестируйте в инструменты для работы
Так же как разработчики вкладывают время в изучение новых языков и инструментов, они должны серьезно относиться и к своим офисным инструментам. Если вы работаете в открытом пространстве и шум вокруг отвлекает вас, не поленитесь купить себе хорошие наушники! Или если вы работаете из домашнего офиса, вам также следует позаботиться о том, чтобы инструменты, которые вы используете для работы, были удобными и надежными.
Инвестируйте в наушники с шумоподавлением». Работаете ли вы в офисе или из дома, вам нужно сосредоточиться, чтобы работать в потоке». — Стейси Барнс
«Используйте стоячий стол и инвестируйте в эргономичный стул» — Сударшан
15. Остерегайтесь выгорания разработчиков
Почти каждый разработчик сталкивался с выгоранием, возможно, не один раз, поэтому большинство из вас знают о его катастрофических последствиях, включая увольнение с работы и даже прекращение карьеры. Очень важно заботиться о себе каждый день, знать симптомы выгорания разработчика и знать, как от него оправиться.
«Научитесь определять, когда вы выгораете. Прекратите работу на день, или вздремните, или еще что-нибудь. Если вы этого не сделаете, вы зря потратите время и, возможно, создадите новые проблемы на завтра». — Адам Скиннер
16. Практикуйте ведение дневника
Ведение дневника — это гибкий и мощный инструмент, который может принимать различные формы и служить различным целям. Вы можете использовать его для выплеска мыслей и эмоций, что снижает стресс и помогает справиться с трудностями. Затем вы можете создать целую приборную панель с ежедневными списками, трекерами привычек и прочим — например, Notion отлично справляется с этой задачей. Какую бы технику ведения дневника вы ни выбрали, она, скорее всего, окажется полезной для вашего психического здоровья и личностного роста.
«Я использую таблицы в Notion, чтобы записывать свои привычки сна, питания, спорта и активности, отслеживать продуктивность и настроение. Это может показаться пустой тратой времени, но после того, как вы получите данные за несколько месяцев, вы увидите, что дает вам энергию и удовлетворение от жизни, а что высасывает их из вас», — Джейн.
17. Делайте перерывы
Без отдыха наш мозг работает менее продуктивно, и это особенно актуально для тех, кто работает в сфере знаний. «Наш мозг подобен губке», — говорит доктор Би, психолог. «Они могут впитать только столько информации, прежде чем насытятся, тогда им нужно немного подсохнуть». Поэтому обязательно планируйте время для отдыха и расслабления.
«Даже если вы работаете по 12 часов в день, вы, вероятно, продуктивны только в течение трех часов. Что вам действительно нужно, так это 4 часа глубокой работы с регулярными перерывами. Делайте небольшой перерыв после работы в течение 45-60 минут». — Сачин Н
18. Ведите учет своих ежедневных достижений
Вы когда-нибудь вели дневник разработчика? Это эффективный инструмент для отслеживания своего роста, карьерных целей и прогресса, разгрузки ума и многого другого. Самое большое преимущество дневника разработчика заключается в том, что вы можете наметить стратегию своего карьерного роста и записать свои вехи и достижения. Это значит, что у вас не только есть отличные поводы отпраздновать свой успех, но вы также можете опираться на эти данные, чтобы добиться повышения по службе, увеличения зарплаты или даже получить лучшую работу.
«Каждый день перед сном записывайте, что вы сделали». — Сачин Н
19. Не бойтесь совершать ошибки
Многие разработчики, особенно начинающие, считают, что они не способны выполнить свою работу, они недооценивают свои способности и боятся совершать ошибки. Важно каждый день напоминать себе, что ошибки — это важный компонент процесса обучения, и в них нет ничего плохого. Ошибки также означают, что вы делаете все возможное. Ведь только те, кто ничего не делает, не совершают и ошибок.
«Признайте, что, будучи младшим разработчиком, вы еще не способны писать (и тем более понимать) сложные шаблоны кода и синтаксис, и это нормально. Ваше решение проблемы X не будет таким же элегантным и эффективным, как у разработчика с 20-летним опытом, и это нормально.
Всегда стоит делать что-то плохо, при условии, что вы учитесь и растете, пока делаете это. Пока у вас есть стремление или страсть к тому, что вы делаете, вы будете совершенствоваться. Не пытайтесь торопить события, наслаждайтесь путешествием, не переставайте задавать вопросы, а когда вы достигнете 20-летнего опыта (а это произойдет рано или поздно), помните, что вы все еще и всегда будете учиться». — Дэн Уолш«Ошибки будут случаться. Они не определяют вашу самооценку или компетентность, и избегайте любой культуры компании, которая заставляет вас чувствовать себя хуже, когда вы оставляете ошибку в своем коде. Вместо этого: Признайте ошибки, проанализируйте их (попросите помощи у старших, если вы застряли) и учитесь». — Мелвин Сопакуа
20. Не пропускайте документацию
Документация создается для того, чтобы ознакомить пользователей с продуктом или программным обеспечением, которое она описывает. Это звучит очевидно, но большинство из нас, в том числе и не разработчики, склонны сразу же использовать предмет, софт, программу: мы склонны думать, что можем самостоятельно прочитать интерфейс и понять, как все работает. Но когда речь идет о разработчиках, важно, чтобы они читали документацию и, более того, обращались к официальным источникам.
«Это не большая ошибка. Это то, что постоянно делают все программисты, включая меня, а именно — пытаются пропустить документацию и пытаются работать с новой технологией самостоятельно. Это довольно распространенное явление, если вы работаете с инструментами или программным обеспечением… Мы просто прыгаем в пользовательский интерфейс и начинаем его использовать».
Однако, как сказано в цитате: «Вы можете сэкономить много часов на отладке, если потратите 10 минут времени на чтение документации». Если вы не читаете документацию, вы можете читать ненадежные источники. Вы можете читать из старых источников. Если документация доступна, почему бы просто не пойти и не сделать это?
Моя лучшая практика заключается в том, чтобы действительно брать официальную документацию, если она доступна, иначе вы можете придерживаться видеоуроков или плейлистов. Но также следите за тем, что написано в официальной документации». — Раджкумар Тангавел
Готовы стать еще более продуктивным разработчиком?
Что такое продуктивность? Продуктивность — это количество работы, которое вы выполняете в единицу времени. Но эти компоненты и измерения продуктивности не так просты. Мы не можем измерять усилия разработчика и проделанную работу строками кода, исправленными ошибками, выполненными задачами или любыми другими метриками, потому что они не равны и их количество не означает продуктивную работу. Тем не менее, время необходимо для планирования работы и понимания того, сколько работы мы выполняем за единицу времени.
Поэтому рассмотрите возможность регистрации своих задач и времени, затраченного на их выполнение, с помощью программного обеспечения для учета времени. Например, программа actiTIME отлично подходит для учета рабочего времени, поскольку она предоставляет интерфейс еженедельного табеля, расширение для браузера и мобильное приложение. Кроме того, actiTIME интегрируется с JIRA, GitHub, JitLab и еще 2 000+ других интеграций. Присоединяйтесь к 10 000+ компаний, таких как DHL, Philips и Xerox — попробуйте бесплатную 30-дневную пробную версию (кредитная карта не требуется).