Пост разработчика, который собрал тысячи комментариев, — о том, что он понял за 6 лет в профессии
Разработчик из Amazon Крис Киль рассказал в блоге о том, как изменилось его мнение относительно некоторых вещей за шесть лет в профессии. Например, автор понял, что без продакт-менеджеров ничего не изменится, а эффективность команды только возрастет. На Reddit его пост собрал больше 2 тыс. комментариев и больше 5 тыс. апвоутов.
Вещи, в которые я раньше не верил, но теперь понял
- Типизированные языки лучше использовать, когда вы работаете в команде людей с разным опытом;
- Стендапы особенно полезны для наблюдения за новичками;
- Ретроспективы спринта нужны до тех пор, пока позволяют корректировать курс, в противном случае это пустая трата времени;
- Самое важное — это архитектура программного обеспечения (ПО);
- Хреновая реализация хорошей абстракции не вредит кодовой базе;
- Плохая абстракция или отсутствующий слой могут разрушить весь код;
- Java не такой уж ужасный язык программирования;
- «Умный» код ≠ чистый код;
- Плохой код может быть написан в любой парадигме;
- Так называемые «лучшие практики» контекстуальны и не применимы в широком смысле. Слепое следование им делает из разработчика идиота;
- Только плохие инженеры занимаются проектированием масштабируемых систем без необходимости;
- Статический анализ полезен;
- «DRY» помогает избежать конкретной проблемы, а не является самоцелью;
- СУБД > NoSQL;
- Функциональное программирование — это еще один инструмент, а не панацея.
Что еще я узнал за 6 лет разработки
- YAGNI → SOLID → DRY. В таком порядке;
- Карандаш и бумага — лучшие инструменты программирования, но, к сожалению, ими редко пользуются;
- Писать чистый код вместо практичного — хорошее решение;
- Добавление новых технологий редко заканчивается хорошо;
- Общение с клиентом напрямую всегда позволяет узнать больше о проблеме, быстрее и с большей точностью;
- Слово «масштабируемость» плохо влияет на разработчика и даже может ввести специалиста в бешенство. Им, как правило, оправдывают неправильные действия разработчиков;
- Несмотря на то, что их называют «инженерами», большинство тех, кто принимает решения, основываются на чистом карго-культе без каких-либо аналитических данных или цифр;
- Если исчезнет 90–93% продакт-менеджеров, вероятно, в разработке проекта ничего не изменится, либо повысится эффективность команды;
- Я провел более 100 интервью и понял, что система оценивания кандидатов не работает, но я не знаю, как сделать ее лучше.
Каким мыслям я остался верен
- Люди, которые заморачиваются над соблюдением стиля кода, следуют правилам линтинга или другим мелочам — чудаки;
- Покрытие кода не имеет никакого отношения к качеству кода;
- Монолиты довольно хороши в большинстве случаев;
- Хуже всего — фанатики TDD. Их хрупкие умишки не признают того, что рабочие процессы бывают разными.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: