Рубріки: Мнение

Пост разработчика, который собрал тысячи комментариев, — о том, что он понял за 6 лет в профессии

Богдан Мирченко

Разработчик из Amazon Крис Киль рассказал в блоге о том, как изменилось его мнение относительно некоторых вещей за шесть лет в профессии. Например, автор понял, что без продакт-менеджеров ничего не изменится, а эффективность команды только возрастет. На Reddit его пост собрал больше 2 тыс. комментариев и больше 5 тыс. апвоутов.  

Пост на Reddit
Пост разработчика на Hacker News

Вещи, в которые я раньше не верил, но теперь понял

  • Типизированные языки лучше использовать, когда вы работаете в команде людей с разным опытом;
  • Стендапы особенно полезны для наблюдения за новичками;
  • Ретроспективы спринта нужны до тех пор, пока позволяют корректировать курс, в противном случае это пустая трата времени;
  • Самое важное — это архитектура программного обеспечения (ПО);
  • Хреновая реализация хорошей абстракции не вредит кодовой базе;
  • Плохая абстракция или отсутствующий слой могут разрушить весь код;
  • Java не такой уж ужасный язык программирования;
  • «Умный» код ≠ чистый код;
  • Плохой код может быть написан в любой парадигме;
  • Так называемые «лучшие практики» контекстуальны и не применимы в широком смысле. Слепое следование им делает из разработчика идиота;
  • Только плохие инженеры занимаются проектированием масштабируемых систем без необходимости;
  • Статический анализ полезен;
  • «DRY» помогает избежать конкретной проблемы, а не является самоцелью;
  • СУБД > NoSQL;
  • Функциональное программирование — это еще один инструмент, а не панацея.

Что еще я узнал за 6 лет разработки

  • YAGNI SOLID → DRY. В таком порядке;
  • Карандаш и бумага — лучшие инструменты программирования, но, к сожалению, ими редко пользуются;
  • Писать чистый код вместо практичного — хорошее решение;
  • Добавление новых технологий редко заканчивается хорошо;
  • Общение с клиентом напрямую всегда позволяет узнать больше о проблеме, быстрее и с большей точностью;
  • Слово «масштабируемость» плохо влияет на разработчика и даже может ввести специалиста в бешенство. Им, как правило, оправдывают неправильные действия разработчиков;
  • Несмотря на то, что их называют «инженерами», большинство тех, кто принимает решения, основываются на чистом карго-культе без каких-либо аналитических данных или цифр;
  • Если исчезнет 90–93% продакт-менеджеров, вероятно, в разработке проекта ничего не изменится, либо повысится эффективность команды;
  • Я провел более 100 интервью и понял, что система оценивания кандидатов не работает, но я не знаю, как сделать ее лучше.

Каким мыслям я остался верен

  • Люди, которые заморачиваются над соблюдением стиля кода, следуют правилам линтинга или другим мелочам — чудаки;
  • Покрытие кода не имеет никакого отношения к качеству кода;
  • Монолиты довольно хороши в большинстве случаев;
  • Хуже всего — фанатики TDD. Их хрупкие умишки не признают того, что рабочие процессы бывают разными.

Останні статті

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

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

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024