My approach to building large technical projects (2023) 🔥 Горячее
Митчелл Хашимото делится личным опытом, как не теряя мотивации довести большие проекты до конца. Он начинает с маленького, но ощутимого результата: например, вместо «сделать терминал» он берёт подпроект «распарсить VT-коды» и уже через пару дней имеет живой результат и тесты. Далее он итеративно добавляет новые фичи, каждый раз имея что-то, что можно показать. Это позволяет сохранять энтузиазм и не терять фокус. Под конец он напоминает, что не стоит стыдиться незавершённых проектов — главное, чтобы они были интересны самому автору.
Комментарии (47)
- Собеседники подчеркнули, что ключ к быстрому прогрессу — это умение разбивать задачу на мелкие, легко демонстрируемые фрагменты и не застревать в «анализ-парализе»; главное — быстро получать обратную связь и не бояться «грязного» MVP.
- Подчеркнуто, что выбор инструмента (язык/стек) влияет на скорость итераций: REPL-языки и инструменты вроде hot-reload позволяют видеть эффект изменений почти мгновенно, что снижает порог входа и удерживает мотивацию.
- Участники обсуждения подтвердили: чем раньше показать работающий прототип, тем меньше вероятность, что проект застрянет в вечной «доработке»; демо-ориентированная разработка заставляет фокусироваться на ценности для пользователя, а не на перфекционизме.
- Сообщество отметило, что даже в личных проектах важно документировать и тестировать как будто ты передашь его другу: это упрощает возврат к контексту спустя месяцы и служит живым примером.
- Несколько человек поделились личным опытом, что их подход к разработке ПО вдохновил их начать вклад в open-source, и что их опыт в open-source в свою очередь улучшил их навыки ведения личных проектов.
Developer's block
Разработчики тоже сталкиваются с «блоком» — аналогом писательского, но часто более тяжёлым. Причины и способы выбраться.
Почему зависаем
Новый проект
Хочется сделать «лучше всех»: покрыть тестами, написать документацию, придерживаться стиля, CI, кросс-компиляция, обработка ошибок, конкурентность… Практики полезны, но вместе превращаются в стену.
Старый проект
• Новый код — перегруз: спешишь понять, язык незнаком.
• Старый код — упал мотивация или переутомление.
Как разблокироваться
-
Учись постепенно
Запусти как пользователь, почитай тесты, спрашивай коллег. Не знаешь язык — выдели время на основы. -
Отдыхай
После большой фичи бери «мелкие дела» или техдолг. -
Двигайся мелкими шагами
Минимально реализуй задачу, потом улучшай тесты и доки. -
Прототипируй
«Спайк» — быстрый черновик по happy path. Оставь в ветке, потом перепиши аккуратно. -
Документируй черновиком
Не полируй раньше времени: простой формат, потом доведёшь.
Комментарии (90)
- Сон, прогулки, спорт и медитация — лучший способ «разблокировать» мозг и получить новые идеи.
- Ранние «грязные» MVP и повторное использование boilerplate снижают страх перед чистым листом.
- LLM помогают быстро набросать черновик, преодолеть ступор и даже подсказать имена.
- Когда совсем застрял, начни писать любой код или даже инфраструктуру для отладки — движение разгоняет.
- Главное — не игнорировать сигналы тела: делай паузы, иначе выгоришь.