The pMD Blog

Welcome to the
pMD Blog...

where we cover interesting and relevant news, insights, events, and more related to the health care industry and pMD. Most importantly, this blog is a fun, engaging way to learn about developments in an ever-changing field that is heavily influenced by technology.

Weekly Byte: The importance of simplicity; a rant
As developers, we have the unfortunate power to create infinite complexity but a very limited ability to reason about it. Unbounded code complexity can kill software by making it difficult to change and adapt to customer needs. In a talk on simplicity in software, Rich Hickey made the analogy that the difference between how much complexity an average and a great programmer can keep in their head is like the difference between the abilities of jugglers.

A novice can juggle three balls while the current world record holder can juggle at most 13 for a short period. The difference between average and great isn't really that much; no juggler can juggle a couple thousand balls. In software, however, complexity can easily grow by orders of magnitude above anyone’s ability to reason about. This leads to software that can’t adapt to a changing world, stunting innovation and exacerbating inefficiencies - sometimes for decades.

I think business logic is often the most complex and messiest part of most software because it deals directly with people, organizations, and all of their ambiguities. Writing a high frequency trading system that meets some benchmark is arguably simpler than writing and maintaining software that is meaningfully adopted by a jaded industry. In the medical world, huge change is coming not just in terms of charge capture, but more profoundly in the management of patient care within communities. Writing simple yet sophisticated code that can change with the redefinition of the health care industry is more important now than ever. As developers, we are positioned in a unique role in building a new generation of medical software that avoids the paralyzing complexity of the status quo. Think hard, empathize, and keep it simple.