до 80 000 ₽
Майские скидки до 80 000 ₽
Главная | Все статьи | Дневник студента

Любит удалять код, делится знаниями и осторожен к новым фреймворкам: 26 признаков идеального мета-сеньора

Время чтения статьи ~3 минуты
Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
Любит удалять код, делится знаниями и осторожен к новым фреймворкам: 26 призн... главное изображение

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

Это адаптированный перевод статьи 26 Things I Noticed from a Very Experienced Programmer, повествование ведется от имени опытного разработчика и блогера Джозефа Круза.

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

В ходе моих импровизированных исследований получился такой вот мета-сеньор.

  1. Он без восторга встречает новые фреймворки, языки и библиотеки.
  2. Дает непростые ответы на простые вопросы, чтобы его решения не наносили вреда в долгосрочной перспективе.
  3. Код, написанный им на JavaScript, мало отличается от его кода на C++ и любом другом языке.
  4. Он знает, как пользоваться командной строкой, а еще — всегда читает документацию, а не пилит свой велосипед.
  5. Относится с настороженностью ко всему нагугленному и не спешит добавлять это в кодовую базу, сначала тестирует.
  6. Избегает спагетти-кода (switch, goto, break), но все же иногда балуется return. И вообще — ничем не брезгует, если конструкция семантически уместна.
  7. Ему плевать на то, что Билл Гейтс богат. Он восхищается им за другое — например, за то, как тот спрятал пасхальные яйца в свой интерпретатор BASIC.
  8. Он очень добр к людям, но совершенно немилосерден к программному обеспечению.
  9. Раньше у него была личная библиотека с любимыми функциями, но потом он понял, что это не имеет смысла. В конце концов после лямбда-функций в Algol 68 человечество не придумало ничего нового.
  10. Он ненавидит Jira, поскольку точно знает, что это бесполезный мусор. В отличие от дилетантов — они тоже ненавидят Jira, но просто не понимают, из-за чего так к ней относятся.
  11. Ему больше нравится удалять куски кода, чем писать их.
  12. Ему уже не надо гуглить синтаксис команд, со временем он выучил все наизусть.
  13. У него случаются логические ошибки в коде, но вот синтаксические — очень редко.
  14. Он не против оптимизации, но против чрезмерной оптимизации. Все улучшения, которые он вносит, имеют глубокий практический смысл.
  15. Старается писать читабельный код, который хорошо задокументирован. Все это ради того, чтобы его работа была полезной для коллег.
  16. В документации описывает теорию, по которой код работает. Вместо того, чтобы просто по этапам расписывать, что именно этот код делает.
  17. У него очень много баллов репутации на StackOverflow.
  18. Он постоянно учится новому, потому что понимает, что в программировании без этого никуда.
  19. Когда он получает реквест, то делает кучу работы еще до того, как сядет писать код: анализирует все сценарии и разрешает возможные сомнения.
  20. Чтобы не изобретать колесо, использует небольшие методы, которые легко переиспользовать, а еще хорошо знает встроенные функции языка.
  21. Часто пользуется файлами конфигурации. Так он сможет при необходимости внести изменения в один файл и не запускать повторную компиляцию.
  22. Он соблюдает стандарты: документирует код, правильно именует переменные, использует методы в необходимом контексте.
  23. Делает чуть больше, чем от него требуется — это позволяет сэкономить себе время на возможных проблемах в будущем.
  24. На каждый вопрос у него есть несколько вариантов ответа. А если он не знает ответа, то может предложить альтернативный вариант.
  25. Он не отказывается от работы просто потому, что задача поставлена плохо. Он всегда объясняет, как можно решить возможные проблемы, и помогает переформулировать задачу — например, предупреждает, что нужны другие инструменты, или надо больше ресурсов.
  26. С удовольствием делится своими знаниями, потому что не боится конкуренции и уверен, что всегда найдет себе место под солнцем.

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

Читайте также: Как сохранять фокус на протяжении всего обучения: советы от Хекслета

Аватар пользователя Lada Golunova
Lada Golunova 15 апреля 2022
7
Рекомендуемые программы
профессия
от 6 300 ₽ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 2 мая
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 2 мая
профессия
от 6 183 ₽ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 2 мая
профессия
от 6 300 ₽ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 2 мая
профессия
от 5 025 ₽ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 2 мая
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 2 мая
профессия
от 5 840 ₽ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 2 мая
профессия
от 9 900 ₽ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 2 мая
профессия
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 2 мая
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
в разработке
Старт 2 мая
профессия
Верстка с использованием последних стандартов CSS
5 месяцев
с нуля
Старт в любое время