Don’t Misuse Design Patterns!

I can tell you for sure that at least 70% of programmers who start reading about software design patterns get really excited and try to find a place in their code to apply a pattern! I’ve seen programmers… Read More

Premature Optmization is the Root of All Evil

Donald Knuth, an American computer scientist and professor at Stanford University, wrote in his paper Structured Programming with Go To Statements, “Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of… Read More

To TDD or Not to TDD?

If you’re new to programming, you may not be familiar with the term TDD, or Test-Driven Development. This is an agile practice that emphasizes writing automated tests before writing the production code. It is a great, profound philosophy… Read More

Not Invented Here Syndrome Explained

Not Invented Here Syndrome (NIHS) is when a developer rejects external solutions in favor of internally developed solutions. I’ve seen teams build everything from scratch, even custom communication protocols, object-relational mappers (O/RM), continuous integration systems, and so on…. Read More