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 argumentation doesn’t take into consideration an essential aspect: the context. ...
It’s Doodle Tuesday again!
As you might already know, I switched to a reusable notebook and Frixion pens a few weeks ago, and I still love it. I don’t think that I’ll go back to a Moleskine and conventional indelible ink anytime soon.
Now, looking at my most recent doodles, the underlying theme appears to be “gaping holes,” or something like that. I am not sure why. My subconscious makes that kind of decision without giving any explanation to my conscious.
This Tuesday doodle is part of that series (the first one I publish). What do you think? ...
a vivid mental image, especially a fanciful one of the future.
A Clear Vision
Everyone who lived before witnessing the Apollo 11 mission on July 20th, 1969, could only dream of touching the Moon. In 1865, Jules Verne, a French novelist, had that dream in the form of a novel that he titled “From the Earth to the Moon.” He told a story of a group of gun enthusiasts and their attempts to build an enormous space gun to launch three people to the Moon.
It took 104 more years for humanity to find a way to realize that dream. When it happened, it was one of humanity’s proudest achievements; a glorious moment that required an immense amount of planning and work. ...
The tech industry thrives on innovation. Building innovative software products requires constant design and architecture of creative solutions. In that context, I am not a fan of design by committee; in fact, I believe that it is more of a disease than a strategy. It afflicts teams with no leadership or unclear leadership; the process is painful, and the results are abysmal.
Usability issues plague software products designed by committee. Such products look like collections of features stuck together without a unifying vision or a unique feeling; they are like onions, built as a series of loosely connected layers. They cannot bring emotions to the user because emotions are the product of individual passion. ...
Being able to build high-performing engineering teams is a non-negotiable skill for engineering leaders. It is the difference between successful and failing technology companies.
I have been thinking about this topic for many years, studying and decoding what exceptional leaders do to create great teams. During this time, I refined a list of what I believe are 11 must-have elements. I kept it in one the many thousands of Evernote notes that organize my life, and I finally decided to share it.
First, let me give you the summary of the elements in the form of a MindMap infographic. I debated between publishing this view at the beginning and at the end of the article. I decided to go for the beginning, as I hope it will spark your curiosity for the many details that you’ll find in the rest of this post. ...