3 ms·
Tooling and processing definitely helps, I have seen it with my own eyes! (1) Start with experienced programmers who know how to write code (2) Have them esta
by theamk 3y ago
Tooling and processing definitely helps, I have seen it with my own eyes!
(1) Start with experienced programmers who know how to write code
(2) Have them establish good culture: unit testing, end-to-end testing, code coverage requirements, CI (including one on PRs), sane external package policy, single main branch, code reviews, etc...
(3) Make sure that there are experienced programmers have final word over what code goes in, and enough time to review a large part of incoming PRs.
Then you can start hiring other programmers and they will eventually be producing good code (or they'll get frustrated with "old-timers not letting me do stuff" and leave). You can have amazing code which can be refactored fearlessly or upgraded. You could even let interns work on prod systems and not worry about breaking it (although they will take some time to merge their PRs...)
The critical step of course is (3)... If there are no experienced folks guiding the process, or if they have no time, or if they are overridden by management so project can ship faster then the someone disables coverage check or adds crappy PRs which don't actually verify anything. And then formerly-nice project slowly starts to rot...