Jeffrey Bakker
2 min readDec 4, 2020

--

I absolutely agree that you don’t have to be super smart to use best practices and modern tools to be highly productive; it’s many times the very smart ones who create code that nobody else can read.

Before being taught best practices, design patterns, SOLID, TDD, BDD, and just being thorough in general, I had a hard time keeping up with others far more educated than me. After our company changed to start practicing these things on a new codebase, you develop a certain mindset and everything just falls into place.

A few problems with this though:

1) Teaching these concepts to more established developers, it might be harder for them to see the benefit because they’ve been doing what they’re doing for so long. I was lucky enough to pick up SOLID as an SE II and still I had a lot of resistance.

2) Being the only one in the company who can solve problems the way you do is great for you, but what about everyone else? Ideally, it’s better if you are all super-productive and share the same values, but unfortunately that is a social problem to solve. The Senior ego would be too proud to be taught by a Junior. Some modern best practices should be taught to everyone, and should be a minimum requirement for becoming Senior, but these weren’t always as popular when they started their careers.

3) Practicing SOLID and other best practices on a legacy codebase can be near impossible if the technical debt is severe enough. If you are lucky enough to inherit such a thing, you may find yourself far less productive than you usually are.

--

--

Jeffrey Bakker
Jeffrey Bakker

Written by Jeffrey Bakker

Professional geek. Wannabe cyclist.

No responses yet