All Articles

The Law of Demeter - Writing Shy Code

In all my years of building server-side applications, I have come to believe that the single most important aspect that determines the long term success of these projects isn’t the sp...

Jun 17, 2016

Remote Software Development - Lessons Learned

Previously, I talked about the ill-fated rewrite of our core product. The ‘second system’, although better and faster than its predecessor, was rejected by the customer. But the story...

Jun 12, 2016

IDEs and Productivity

I used to be neutral on the choice and even the use of an IDE for writing code. In university, I learned and used Vim for assignments. When I started my first job, I switched to a pop...

Jun 10, 2016

Write Less Code

Not too long ago, I sat down to ‘clean up’ a project that I inherited. I was given the reins of the refactoring efforts because the project has had several bugs in production. It was ...

Jun 03, 2016

Avoid Singletons to Write Testable Code

Often times there is a need to share a single object of a class throughout the code base. For example, we might want to store all online users in one central registry or share a centr...

May 27, 2016

Effective Coding Standards

Coding standards are a set of guidelines, best practices, programming styles and conventions that developers adhere to when writing source code for a project. All big software compani...

May 22, 2016

Software Estimates are not Targets

Software estimation is a hard problem. So much so that in 2012, when Woody Zuill tweeted his blog post with the hashtag #NoEstimates, he set the software development community on fire...

May 14, 2016

Top new Java features in Java 8 and Beyond

In this post, we’ll look at some of the latest features introduced in Java 10. Let’s go.

May 10, 2016

The char Type in Java is Broken?

If I may be so brash, it is my opinion that the char type in Java is dangerous and should be avoided if you are going to use Unicode characters. char is used for representing characte...

May 08, 2016

Minimum Viable Product - Lessons for Software Teams

The concept of the minimum viable product or the MVP was popularized by Eric Reis in his book The Lean Startup. He defines it as: The minimum viable product is that version of a new ...

May 07, 2016