Software That Matters… Done right! What is this about?

Hi software professionals (developers, designers, architects) and serious software hobbyists! You wonder what this blog is about? Here’s my intent (at least initially!):

My background

I have been a software developer for many years, as a hacker at first, starting while I was still a kid at school, then professionally. I became a software designer after I got sufficient experience in developing larger-scale software systems and now I have been a software architect for almost the past 10 years. Combined, I have more than 20 years of experience in software development. Most of that experience was gathered, in big non-software companies (still doing a lot of software!). I worked in projects ranging from real-time critical software to differently critical web applications. Some of my experience was also obtained from personal projects and working with smaller companies on smaller scale projects.

My position on software development approach

Throughout the years, I have come to realize that:

  1. Doing the software itself is not always easy
    • New tools, technologies, paradigms come out at a faster and faster pace; just keeping up with the possibilities is a challenge so mastering them is difficult!
  2. Doing the software right, is even more difficult
    • Software best practices evolve also in parallel or the corresponding tools, techniques and technologies; mastering them takes a lot of dedication.
  3. Doing the right software, is not easier
    • It is not always so easy to get the requirements from our customers. Our organizations are not always agile. It is a challenge to obtain the good inputs from the good people to eventually satisfy, let alone amaze our users. As depicted in the following image (credit here), it is also a challenge to understand/decode properly the received inputs:
  4. But combining all those elements… well… is even harder… but at the same time, so essential to the success of any serious software development project! To me, this is the main responsibility of a professional developing software solutions for his customers. You have to strive to develop a software that fixes a problem for your customer and that does it in a consistent manner over time. I have seen many web sites/books describing various techniques, processes, tools to produce the software in the right way; I have also seen multiple sources describing how to properly collect your customers’ inputs (I will post some of both sources in future posts). What I rarely find however, is the two parts joined together to discuss or present how to do the right software for your customers, while applying the right techniques/processes/tools to be able to properly and efficiently develop and maintain this software solution over time.

My goals

Essentially, my goal with this blog is to be able to consistently produce material that will inspire you. Inspire you, to combine those elements in order to amaze your customers, and ideally inspire you to a level that will give you the envy to participate in the discussions on this site.

Publication schedule

I hope to be able to publish at least on a weekly basis. I give myself this only rule for now: if I think my post will not be useful to the software professionals that you are, I will not post it, simply. On the other hand, if I come across a lot of interesting material, I might post a little more often (to the level that my demanding young family will permit!) (Here’s a first one already) I hope you will enjoy the read!

4 Comments


  1. I like the egg example… The common requirement offset!

    Reply

    1. Ah, the requirements offset, not a problem only in the software world. Think about husband and wife, parents and kids, bosses and employees! The exemples are countless. The human tends to hear and understand what he wants to hear… Thus the importance of the back and forth conversation to validate what we think we understand. This is also true in Software development!

      Reply

  2. Great to finally read you! I must subscribe to your rss feed… Keep it coming ;)

    Reply

    1. Thanks to you for encouraging me! You can also, beside using the rss feed, subscribe to this site’s content by using the built-in newsletter subscription capabilities.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *