The post has been translated automatically. Original language: Russian
Why do we shy away from simple solutions and complicate everything out of the blue
Have you noticed a strange paradox: if a difficult task is solved quickly and with a simple standard tool, an unpleasant feeling of guilt appears inside? We subconsciously feel that if the solution didn't require suffering, custom code, or three-story architecture, then it's a "fake" job that we're ashamed to take money for or praise ourselves for.
This is a profound misconception. In IT and business, the market doesn't pay for how much you overwork yourself in the process, or for the number of lines in your code. The market pays for the speed and reliability of solving a specific pain.
When you use a basic script, standard platform functionality, or ready-made integration, instead of reinventing another bike, you are not committing an act of laziness, but an act of supreme professionalism. The elegance of engineering is precisely to solve a problem with the least number of entities.
Anyone can complicate the system. Making it simple, clear and stable is a real class. Stop being ashamed of simple decisions. If the feature works and covers the business need right now, it's perfect.
Почему перфекционизм — это не достоинство, а главный враг прогресса
На собеседованиях и в резюме часто пишут: «Мой главный недостаток перфекционизм». Это звучит как скрытый комплимент самому себе. Но давайте будем честны: в реальной разработке и бизнесе перфекционизм Это тяжелый системный баг, который парализует проекты.
Перфекционист не может выпустить первую версию продукта, потому что интерфейс недостаточно красив, а код не удовлетворяет всем академическим стандартам. Он бесконечно рефакторит то, что ещё даже не протестировано на реальных пользователях. В итоге проект либо выходит на рынок с опозданием на год, когда идея уже потеряла актуальность, либо не выходит вовсе.
Запомните правило: «Готовое лучше идеального». Рынку не нужен безупречный продукт в вашей голове через три года. Рынку нужно работающее решение «на троечку» уже сегодня, чтобы начать получать обратную связь и дорабатывать его на основе реальных данных.
Идеального момента не будет, и идеального кода не существует. Разрешите себе ошибаться, выпускайте черновики и дорабатывайте их по ходу движения. Только так создаются живые и успешные системы.