Post Featured Image

Compose Your Software

For any non-trivial program to grow in maintainable manner, it must be composed of structures, and small substructures, and even smaller substructures. There are several different prevailing paradigms about HOW you should compose your software. Here is a brief overview of the different types of software composition.

READ MORE

Post Featured Image

How Slack Harms Projects

Presently, real-time communication tools such as Slack are very popular in business environments. However, use of these tools creates a culture that harms projects. It negatively impacts planning accuracy, implementation quality, product refinements, and design quality. I will tell you about the many issues created by real-time messaging in workplaces, and how to remedy your work culture.

READ MORE

Post Featured Image

Internal Tickets Create Misery

“Open a ticket.” How often have you heard that phrase at work? When working with freelancers and other companies, creating a ticket is the beginning of something great. When opening a ticket with another department at your company, everyone is headed for a bad time. What makes internal ticket systems so painful? How can they be fixed?

READ MORE

Post Featured Image

Never Use Reference Constants

Very often in enterprise programming I come across files named XYZConstants. Files with the word “Constants” in it are always indicative of bad design! The problem with these classes is similar to the problem of Utility classes, but it’s slightly different. There is a much, much better design!

READ MORE