Engineering culture
There is a lot being said lately about Engineering culture. How to retain talent, how to attract talent, how to be productive, deliver fast and how to deliver great products for our users.
Software Engineering is a tough and special world. There are so many things to cope with. We need to be Agile in our development process, because Agile is about reacting quickly to change. In my opinion companies need to be Agile as well, I mean, entire organisations around Software Engineering. The following is metaphor that will help me explain:
We have been able to replace any mechanical part in our computers. Before, we used to have discs everywhere, diskettes to store some info.
We have been able to create Flash drives to replace those, with the aim to work faster. We have hard drives as discs that spin to access more than 1 TB of data, slowly, they are been replaced with SSD drives.
One of the latest slowest parts of the computer is the DVD drive: still a disc that spins. The usage of DVD is reducing quickly and sortly their days shall be over.
In a system, every part needs to be syncronized and working as the same pace: even if most of parts of the computer are fast, it won't fully work as expected if we have a single weak point.
Companies are system, full of different parts, all with the same goal, delivering values to users.
Can you imagine a company with a Marketing department that continuously delivers to customers, with an Engineering department that releases once a year?
In Engineering we try to embrace Agile, we try to do changes to react quickly to changes.
Can you imagine a company where all, Marketing, Engineering, Finance, HR, Exectutive team, worked using Agile, reacting quickly to change? It would be like a computer with cutting-edge technology, all working at the speed of light, every piece ready to react quickly to changes and actions carried out by the user.
I believe that we’ll see a big change in the IT world. It doesn’t make sense that we, in Engineering, addopt Continuous Delivery and Agile, whilst the rest of the company is still using monolyth classic systems, that react really slow to change. Some might say that the paradigm I’m describing is only suitable for start-ups and small companies. In my opinion even big companies can embrace these principles.
Here are a couple of well-known videos about Spotify and their Engineering Culture, hope you enjoy it!