Исходное сообщение: http://ewanvalentine.io/how-to-never-complete-anything/

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

Ни один побочный проект, над которым я когда-либо работал, так и не был завершен, за исключением нескольких внештатных работ тут и там. Это не потому, что я никогда ничего не начинал. Все, кто меня знает, знают, что я иду домой и пишу код до утра почти каждую ночь. Так что, черт возьми, я делал?

Ну, я пытался бежать, прежде чем научился ходить. Меня так сильно отвлекли «блестящие вещи»; т. е. новые технологии, новые фреймворки, новые языки, новые подходы… Я эффективно научился начинать новый проект тысячами разных способов. Но я так и не научился доводить начатое до конца.

Я работаю над одним и тем же стартапом уже около четырех лет, теперь я прочитал все книги о том, как сделать успешный стартап, и если есть что-то, что я знаю очень хорошо, так это то, что вы должны выпустить раньше, создать MVP, сделать минимум. Так почему же четыре года спустя я создал автомасштабируемую многозонную облачную инфраструктуру для своего стартапа, которая совершенно бесполезна. Ни одной полноценной функции.

Этот же стартап я написал на более чем 10 взаимосвязанных микросервисах gRPC, трех базах данных, построенных поверх моего собственного микросервисного фреймворка Golang. Я смущен, когда пишу это, но я чувствую, что это часть принятия того, через что проходят все программисты.

Сейчас я учусь преодолевать шум, шумиху и просто использовать любой инструмент, который выполняет свою работу. Итак, написание облачной инфраструктуры, вероятно, более увлекательно, чем просто использование одного экземпляра сервера, но что, в конечном счете, позволит завершить проект и выйти за дверь? Какой смысл иметь идеально организованный облачный стек для кучи сверхсложного незавершенного кода, с которым только я могу работать?

Итак, все это было ценным обучением, но иногда вам нужно в какой-то степени отделить обучение от действия. Или рискуете никогда ничего не сделать.

Сейчас я бросаю себе вызов делать противоположное, делать вещи предельно простыми, негламурными, глупыми, а иногда и уродливыми. Но сделано. Больше никаких больших переписываний, потому что есть какая-то горячая новая библиотека JS. Больше никаких микросервисов ради этого, никаких чрезмерно амбициозных конвейеров сборки. БОЛЬШЕ НЕ ПЫТАТЬСЯ ПЕРЕПИСАТЬ ВЕЩИ НА HASKELL. ПРОСТО. ПОЛУЧИТЬ. ДЕРЬМО. ГОТОВО.