complexity

Decoding Success and Failure: A Rational Approach

In the ever-evolving world of software engineering, we are often presented with the challenge of assessing successes and failures. When evaluating our own performance, we frequently attribute our successes to our skills and our failures to bad luck. However, when it comes to evaluating the results of our competitors, the tendency is quite the opposite: we tend to ascribe their failures to a lack of skill and their successes to sheer luck.

Continue reading

Embracing the Grey: A Probabilistic Approach to Engineering Decision-Making

I’ve seen my fair share of successes and failures in the world of technology. Throughout the years, I’ve come across various approaches to decision-making and problem-solving, each with its own set of principles and methodologies. However, one idea that recently struck a chord with me is the concept of “thinking in bets” as outlined by Annie Duke in her book of the same name. I’d like to explore how this concept can revolutionize the way we make decisions in the field of software engineering and challenge the conventional wisdom that often prevails.

Continue reading

The Power of Simplicity: Why Complex Solutions Aren't Always Better

In the world of software engineering, complexity often takes center stage. We celebrate intricate algorithms, sprawling architectures, and convoluted code as signs of expertise. But what if I told you that complexity isn’t always the answer? In fact, more often than not, simpler solutions are not only easier to understand and maintain but also more effective in solving real-world problems. It’s easy to understand why complexity is alluring. Complex code and systems can make us feel like we’re tackling profound problems, and they can impress colleagues and peers.

Continue reading

Picking the Right Tool for a Remote Engineering Team

The Problem When you have a remote engineering team, the tools you use are really important since you can’t use an office as a band-aid. We had some issues with our project management tools, where some information didn’t reach the relevant people. We needed to fix that to improve our productivity. Actions Taken My first action was to reach out to everyone involved and get more feedback on our current software engineering process, what’s working well and what isn’t.

Continue reading