Why every programmer needs to know design patterns (and how to learn them easily)

This article is a modified introduction to the book The easiest way to learn design patterns. The book is available in digital format at LeanPub and in either Kindle-specific format or in print from Amazon. Design patterns are something that … Continue reading Why every programmer needs to know design patterns (and how to learn them easily)

Why studying algorithms will enhance your programming career

As someone who is interested in becoming a software developer, you have probably heard that it’s important to learn algorithms. Or maybe you have already started your programming career and haven’t yet encountered a situation where knowledge of algorithms would … Continue reading Why studying algorithms will enhance your programming career

Why TDD is severely overhyped (and why you should still try it)

Test-driven development (TDD) is all the hype these days, especially if you frequent LinkedIn and various software development community forums. It’s almost like a religion these days. Many TDD evangelists will keep saying that it’s the best thing since sliced … Continue reading Why TDD is severely overhyped (and why you should still try it)

When NoSQL is a better choice than RDBMS and when it’s not

Relational Database Management Systems (RDBMS) and Structured Query Language (SQL) associated with them represent a mature technology that existed for over 30 years. However, a group of data storage technologies based on a completely different paradigm, collectively known as NoSQL, … Continue reading When NoSQL is a better choice than RDBMS and when it’s not