До 30 ноября

Скидки до 81 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
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 28 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 28 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 28 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 28 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 28 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 28 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 28 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 28 ноября