General Archive

Rethinking Software Design

The essence of software design is structure: what parts comprise the whole and how are they related? In the field of software, we have ways to structure implementation — with functions and datatypes, design patterns, architectures, and

MDD: Metrics Driven Development

Moving to a distributed system will solve all your problems and you will be in developer heaven. Right? Not exactly, having hundreds of services doing different things means it’s increasingly difficult knowing where exactly production issues are

Reactive JavaScript at Netflix and Microsoft

What’s does a mouse drag event have in common with an Array of numbers? The answer to this question may surprise you: they are both collections. This key insight holds the key to dramatically simplifying asynchronous programming

Everything you thought you knew about CMMI is (probably) wrong

What most people (80/20) seem to “know” about CMMI and the SCAMPI appraisal method comes from what people learned and how they used CMM and CMMI in the early adoption phase. However, instead of innovating and using

Re-thinking IT

Pursuing an unquestioning belief in economy of scale, managers of service organizations have industrialized their operations. Front- and back-offices, glued together by IT systems are now the norm. But being normal is not the same as being