Software systems are a collection of bits recorded on a storage device. It might seem that once a software application works, as long as the hardware it runs on is functional, it should just keep working for eternity. So, why is "software maintenance" even a thing? There is no physical wear and tear, and there are no materials that can rot or rust away. Software systems are not affected by the atmosphere, pollution, the weather, and there isn't anything that can physically break. However, this … [Read more...] about Software Maintenance, Understanding the 4 Types
Growing Up With Quality Assurance
I grew up in Italy in a household where "Engineering" and "Quality Assurance" (QA) were terms commonly used at the dinner table. My dad, now 92 years old, is an Electronic Engineer who specialized in quality assurance of space technology. He worked for over 30 years in a large company called Officine Galileo as Director of Quality Assurance. Officine Galileo was founded in 1864 to produce military aiming, tracking and firing equipment, before extending its … [Read more...] about The Role of Quality Assurance in Software Development
The Software Garden
Software is like a garden. Both software and gardens require a lot of work, craftsmanship, and artistry to envision and create, especially when starting from scratch. They both evolve, and they both need constant maintenance, even if you don't make any significant improvement.
If you are a reader of my blog, you know that I use a character called Bolbo as my mental framework for the quintessentialsoftware developer. You might remember that he has a square jaw, messy black … [Read more...] about 7 Strategies to Avoid Software Growth Zero, AKA Drowning in Maintenance
The Many Names of a Software Builder
In my blog, I have been using the terms coder, programmer, software developer and software engineer interchangeably. I do that mainly to avoid linguistic repetitions. However, I believe that there are differences between those words and similar others.
In this article, I will discuss a set of nouns commonly used to refer to someone who writes code. I will also give my interpretation of how those terms relate to engineering skill levels.
Developer's personalities shine in odd ways. One them is in a (sometimes) subtle sense of humor, choice of words and attitude that you can find in code, code comments, and error messages. It often feels like a stream of consciousness that reflects the human reality of a moment in time.
I collect those gems and here I am sharing with you some of my favorites. Some I found myself in the code I worked with. Others, I collected from various sources. All have been stripped of anything that could be … [Read more...] about 16 Best Source Code Gems [Collection]