Программисты не понимают
Написать данную статью меня подтолкнула статья «Твой код никого не интересует». А точнее, комментарии к ней, которые говорили о полном или частичном непонимании у некоторых читателей хабра почему именно «твой код никого не интересует».
Чтобы понять позицию «твой код никого не интересует», надо подойти со стороны бизнеса: зарабатывание денег, выплата ЗП своим сотрудникам, уплата налогов, в общем, с точки зрения доходов/расходов компании или отдельно взятого человека. Например, утверждение «идеальный код — залог успешного бизнеса» может казаться логичным, но с точки зрения доходов/расходов далеко не всегда истинно.
Например, малофункциональный продукт или продукт недостаточного качества для бизнеса, продающего этот продукт, может быть куда полезней, чем полноценная рабочая версия. Это звучит нелогично, но, увы, больше похоже на правду.
Это можно понять на примере покупки автомобиля. Когда вы приходите в автосалон, вам с радостью предложат весь модельный ряд для покупки, из которого вы сможете выбрать авто себе по вкусу и по карману. Но вам никто и никогда не скажет, что, заплатив за базовую комплектацию 10 000$ (эта и следующая цены условны), вам надо будет доплатить ещё 5 000$ за установку дополнительных наворотов в виде магнитолы, электроподъемника стекол, кожаного салона, хотя кажется, что всё это должно входить в указанные в начале 10 000$. А также дальнейшие ТО, покупки запчастей и т. д.
Т. е., предложив клиенту свой малофункциональный продукт за 100$ и установку его за 1 день, а еще доработку продукта под клиента за 500$ и 3 дня, компания выигрывает. А ещё клиент подписывается на годовую поддержку продукта за 100$/мес. И малофункциональный продукт выжал на 1700$ больше, чем если бы сразу продавалась полноценная версия.
Также логичным и понятным кажется: чем больший объем заказов за минимально потраченное время выполнит компания, тем больше будут её доходы и тем выше шансы выплаты зарплат для её сотрудников. Если компания за месяц зарабатывает на выполнении работ 1000$, а платит зарплату 500$, то перенос сроков проектов будет чреват неприятными последствиями в виде задержек выплат ЗП и пр.
Это значит, если вы не пишете ПО для ракет/спутников, трейдинга, мед. оборудования и т. д., то, скорее всего, ваш доход (или доход вашей компании) не завист напрямую от качества кода. А это значит, что ваш доход зависит от ваших объемов и скорости разработки, из чего выплывает, что «твой код никого не интересует».
Эта статья — не призыв к снижению качества разработки. Просто из-за излишнего перфекционизма и возможности заложиться под «будущие фичи» разработка многих проектов затягивалась на месяцы. Это попытка показать, что, кроме идеального и удобного кода, есть и другие, не менее важные, приоритеты и следует их учитывать при разработке.