Всем привет. Давайте узнаем друг друга. Меня зовут Надя, я программист. Недавно мне пришлось сменить компанию и найти один небольшой уютный коллектив.

Я всегда стараюсь делать все возможное на работе, развивать свои навыки и знания и использовать их в работе. Вы знаете, что подходы помогают разрабатывать более качественное программное обеспечение — TDD, чистый код, передовой опыт (например, SOLID или Patterns) и так далее. Проблема в том, что всем им нужно больше времени. На старте, конечно. В будущем они ускорят внедрение новых функций.
Нашими клиентами являются стартапы. И знаете, если вы выйдете на рынок позже, вы можете выйти из гонки. Моя компания молодая и маленькая. Таким образом, он не может диктовать правила клиентам. Клиент всегда прав. И они подталкивают к выпуску новых функций в очень короткие сроки.

Lean Startup говорит, что ваш MVP не должен быть идеальным. И я согласен. Но все Proof of Concepts и Minimal Valuable Products становятся частью долгоиграющего производственного кода. И никто не занимается рефакторингом, потому что это стоит денег. Я очень беспокоюсь об этом. Потому что для меня написание чистого кода — это вопрос уважения к моим коллегам и людям, которые будут его поддерживать.

Итак, нормально ли накапливать тонны технического долга, который трудно поддерживать? И это единственный способ для небольшой компании выжить в конкурентной борьбе?
Я очень хочу быть хорошим программистом, производящим качественный код. Но я также хочу действовать в отношении бизнес-требований. Я верю в это утверждение: «Я процветаю, только если процветает моя компания».

Как вы думаете, где баланс?