I whole-heartedly agree with this.
If I was a tech lead of a CTO this is the way my teams would work.
I prefer a bit of a different design methodology-coding binges. Basically go through the following steps.
- Use a draft PR you don’t intend to merge. Implement your prototype or proof of concert
- Get eyes on the PR early - “what do you think of this approach to giant refactor/feature” etc to get alignment on an approach
- Document your approach in the draft PR - as a historical artifact of a design idea
- Be prepared to completely discard the draft PR - as early as possible
- Stage PRs out of the draft PR incrementally - take a week to stage clean productionizable PRs. Link your draft PR as a documentation artifact
- Fill in your testing, robustness gaps gradually as you stage each PR.
Important in this methodology is a great deal of maturity. Can you throw away your idea you’ve coded or will you be invested in your first solution? A major signal for seniority is whether you feel comfortable coding something 2-3 different ways. That your value delivery isn’t about lines of code shipped to prod, but organizational knowledge gained.