Hello everyone and welcome back to Not So Random Software! The last few months I have learned the hard way that if you want to think clearly, you need to slow down. Because nothing in life is as important as you think it is, while you are thinking about it. You develop a blind spot,…
Tag: softwaredesign
Not So Random Software #47 – Thinking in Systems
Hello everyone and welcome back to Not So Random Software! This week I have been thinking about teams; as someone who has to deal with computers every day it is easy to fall into the trap of applying software design principles to human people. Some elements do apply, but with humans the context and unique…
Not So Random Software #21 – Technical debt
Hello there! This week I am thinking about technical debt; an incredibly overloaded term in our industry that requires to be untangled to really use it for decision making. How many types of technical debts are out there? How do we compare the risk/value of working on such debt versus other features? In what ways…
Not So Random Software #20 – Coupling and Cohesion
Hello there! This week I am thinking about coupling and cohesion; two seemingly simple but incredibly effective metrics to design systems both in the small and in the large. As usual, I am going to randomly pick some resources on this topic I have been reading over time, hope you enjoy! A random article or…
Not So Random Software #13 – Observability
Welcome back to Not So Random Software. This week’s links are dedicated to Observability; the capability to observe the system’s current state and how the system reached such a state. I have been researching this topic for a lightning talk at the London Ruby User Group and here are some of the links I found….
To raise or not to raise exceptions, and the art of designing return values
Each time we call a function that’s meant to perform some operation that could succeed or fail we are always left with the same dilemma. What should be the return value? Should I return nil if a failure happened? Or I should throw an exception? What does failure means anyway? Like every interesting question, the answer is…