Как я научился доверять простоте

Автор: Serguey Shinder

Долгое время я не доверял простым решениям. Если задача была сложной, мне казалось, что и решение обязано быть сложным, — иначе я как будто чего-то не учёл. Простой ответ вызывал подозрение: слишком лёгкий, наверняка наивный, наверняка что-то упускает. И я усложнял: добавлял слои, обобщения, гибкость на будущее, которое так и не наступало.

Перелом случился, когда я вернулся к собственному коду через полгода. Сложные, «умные» участки я перечитывал заново, как чужой запутанный текст, злясь на автора, — пока не вспоминал, что автор это я. А простые куски читались мгновенно. Они не требовали расшифровки. Они просто делали то, что делали, и было видно, что именно. Та самая простота, которой я когда-то не доверял, оказалась единственным, что выдержало проверку временем.

Тогда я понял, что путал сложность с основательностью. Мне казалось, что сложное решение — признак того, что я глубоко подумал. На деле часто было наоборот: сложность была признаком того, что я не додумал до конца, не нашёл суть и завалил её слоями. Простота, которая работает, обычно даётся труднее — потому что до неё надо докопаться, убрать всё лишнее, понять задачу настолько, чтобы решить её без украшений.

Теперь простой ответ вызывает у меня не подозрение, а уважение. Если решение вышло простым и при этом работает — это не значит, что я поленился. Чаще всего это значит, что я наконец понял задачу.

Я перестал доказывать свою компетентность через сложность. Самая зрелая вещь, которой я научился в этом ремесле, — доверять простому решению, когда оно верное, и иметь смелость не усложнять то, что усложнять не нужно.

– Serguey Asael Shinder

Leave a comment