Wanted: BusDevUXSecTestSalesOps senior software craftsman with passion for Scrum, expert on COBOL, Unikernels and ReactiveX
“All Things are Difficult Before they are Easy” – Thomas Fuller.
Well, in regards to all that’s expected from software developers nowadays, we are certainly doing a proper job in creating expectations that are difficult to fulfil.
If we would apply the same trend to a car mechanic for instance, he or she isn’t only expected to be able to use all tools but also invent, repair and calibrate them. Every single tool in the shop. Probably in the office too. And he or she must remain the expert in car mechanics also. If possible do some talks on conferences too.
Over-multidisciplinarity
I believe in well balanced teams. I think BusDevUXSecTestSalesCloudOps teams do exist and if you and I start creating a product today we both can be BusDevUXSecTestSalesOps engineers. I mean we don’t have a choice really have we? Until the product grows and things get a bit more complex. We now might need people with complementing skill sets.
In general people tend to be the best in the stuff they like most, and have interest in. That makes working in well balanced teams so great: a group of people with different interest that work together in order to get things done. We cannot expect that every developer is great in testing, usability, security and containerizing at the same time. We can expect from everyone to know something about most subjects. To demand everyone to know everything about all subjects is simple more distraction from delivering value.
Automate the hell out of everything
Please understand that I’m not pleading for teams that consist of merely specialists. I believe that if we really want every team member to be able to deliver valuable software in complex environments, everything that distracts developers from getting features shipped needs to be automated and invisible. Some refer to this as being part of DevEx (Developer Experience).
The processes of integrating, deploying, configuring, scaling, monitoring, and managing software has to be as effortless and simple as possible. The needed tools need to start working out of the box. The only step after coding should be pushing it to master. The system takes care of everything needed to make the features available to end users.
And then we can finally go back to the core and start satisfying customers through early and continuous delivery of valuable software.
And if you really came here because you identify yourself as BusDevUXSecTestSalesCloudOps engineer, then let’s talk soon. You my friend, are as rare as hens’ teeth!