9 законов программирования от тимлида с 10-летним опытом — это база для новичков и опытных, без которой невозможно добиться успеха.
1️⃣ Закон Брукса — если вы посадите трёх кодеров за одну задачу, они
не сделают её в три раза быстрее. Чем больше ваша команда, тем сложнее становится координация и планирование.
2️⃣ Закон Гудхарта — чем жестче ваши KPI и метрики для измерения эффективности, тем сильнее они
отвлекают от выполнения самих задач. В самых запущенных случаях люди забивают на задачи и переключаются только на KPI.
3️⃣ Закон Хайрама — чем больше у API пользователей, тем сильнее они полагаются на незадокументированные особенности,
превращая их в «обязательные» функции. Из-за этого любые изменения становятся сложными, ведь легко сломать что-то для тех, кто уже привык к старым фишкам.
4️⃣ Закон Конвея — структура программ часто повторяет
организационную структуру команды, которая её создала. Если слепо следовать границам в команде, софт получится неоптимизированным.
5️⃣ Закон Линуса — база опенсора. Чем больше людей проверяют код,
тем больше шансов найти ошибку.6️⃣ Закон Хофтшадтера — дедлайн всегда нужно ставить
с запасом. Мы склонны занижать количество времени, необходимое для выполнения задачи.
7️⃣ Закон Кернигана — код всегда должен быть
простым и понятным. Сложный код всегда становится неподъёмным в отладке и сопровождении — это
только вопрос времени. 8️⃣ Закон Питера — софт- и хард-скиллы, это
разные навыки. Так, топовый кодер не обязательно обладает такими же способностями к управлению людьми, руководству командами или выполнению стратегических требований лидерства.
9️⃣ Закон Парето — усилия должны быть
избирательными. Чтобы 20% усилий приносили 80% результатов, сначала нужно понять,
куда прикладывать эти усилия. Качество всегда перевешивает количество, а результат важнее времени затраченного на задачу.
Сохраняем базу.
👍 Бэкдор