This isn’t an article about mistakes made as a beginner. That would be something like checking in code that contained syntax errors and blowing up the entire build. Stuff like that. Rather this is just another attempt to indoctrinate everyone to the typically lemmings off the cliff ‘best programming practices’ as determined by the current fashion. Use Git, use TDD, blah, blah, blah. Hey you forgot to use Agile. Programming has such a herd mentality. Meanwhile, 75% of all software projects are still late to very late and a fully 25% completely fail and are never delivered. Our code still crashes at 3AM and we’re awake fixing it. This has little to do with the suggestions found in this article. Rather, this is more due to good old fashion sloppy testing practices which allow you to do catastrophic mistakes like literally checking in code that doesn’t compile. Or how about only checking in some of your code. Or how about deleting that bit of code that you didn’t understand which ended up crashing the entire system for a day. Those are mistakes that beginners make and need to be aware of. Using TDD — that’s for the ivory tower architects to make the call. By the time it gets to us line engineers, it’s all over.