Как пишут код на разных этапах карьеры

Как пишут код на разных этапах карьеры

Посмотрите, на каком этапе вы

Мы наткнулись на какую-то дурку на StackOverflow, что, мол, сначала ты пишешь код абы как, потом много комментируешь, потом обкладываешься формальными конструкциями, потом ещё что-то, а на вершине профессионального роста — снова абы как. Мы хихикнули, а потом задумались — а как оно на самом деле. И вот что получилось. 

Самое начало: лишь бы работало

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

  • готовые фрагменты кода со StackOverflow;
  • примеры из материалов и учебников;
  • избыточные и громоздкие конструкции;
  • переменные, которые объявляются, но так и не используются.

👉 Код или выглядит предельно просто и «в лоб», или состоит из безумных конструкций и решений, разобраться в которых крайне сложно.

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

Правильный код

Спустя некоторое время программист набивает руку и начинает писать «правильный код»:

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

Обычно на этом этапе программисту кажется, что он полностью разобрался в языке и может использовать все его возможности. Но тут он узнаёт про библиотеки и фреймворки.

👉 Код выглядит как образец программирования: идеальные комментарии, всё логично и стройно. Нет ни одного решения, которое бы вызывало вопросы «А почему это сделано именно так».

Библиотеки и фреймворки

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

  • поиск самой лучшей библиотеки и фреймворка;
  • куски чужого кода в своей программе, скопированные из блога разработчика фреймворка;
  • переписывание старых программ под новый фреймворк.

Если увлечься, дело доходит до того, что программист не берётся за решение никакой задачи, пока не найдёт для неё специальный фреймворк. Если это JavaScript-программист, то на этой стадии он может зависнуть на годы или навсегда — новые js-фреймворки выходят каждую неделю.

👉 Код выглядит как код хакера из фильмов: сложные конструкции, понятные только избранным; неочевидные решения, которые продиктованы логикой фреймворка; очень много команд из внешних библиотек.

Совместимость, комьюнити и внешние сервисы

К этому времени у разработчика уже много опыта:

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

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

Как пишут код на разных этапах карьеры
Например, код может выглядеть как-то так

👉 Разобраться в этом коде сможет только программист с такой же квалификацией. Остальные смотрят, кивают и идут дальше заниматься своими делами. Поддерживать этот код могут 1–2 человека в компании.

15 лет практики: лишь бы работало

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

  • фрагменты кода из StackOverflow, потому что так быстрее;
  • переменные из одной буквы, потому что так проще;
  • избыточные команды, потому что так быстрее, а при компиляции компьютер всё равно это оптимизирует;
  • один-два комментария на весь код, потому что остальное и так понятно, чего тут ещё объяснять?

👉 Код на этом последнем этапе выглядит почти так же, как код на первом этапе, за одним исключением: в отличие от новичка, этому программисту мир абсолютно понятен. Он здесь ищет только одного — покоя, умиротворения и вот этой гармонии от слияния с бесконечно вечным, от созерцания этого великого фрактального подобия и от вот этого замечательного всеединства существа.

Это айти. Вот как сюда войти
Если вам близко то, о чём написано выше, у вас есть все шансы стать разработчиком, тестировщиком, дата-сайентистом или менеджером в сфере ИТ. Тут хорошо платят и приятная компания. Стоит хотя бы изучить вопрос.
Изучить вопрос
Это айти. Вот как сюда войти Это айти. Вот как сюда войти Это айти. Вот как сюда войти Это айти. Вот как сюда войти

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Алина Грызлова

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
easy