Software engineering as a career is an exciting world to be part of. As the oceans cover most of the earth and adventurers of old risked their lives exploring and hunting for treasure, so today software practitioners sail seas of innovation and discovery into the glorious unknown, says Johan Steyn, Senior Manager: Enterprise Testing, Nedbank.
As in the day when seafarers were the explorers of an earlier age, so the software engineering world we live in now is being forced to change, modernise; and we are called to go to the edge of the known world. We are more like the explorers who sail the endless void of outer space: it is an ever-expanding universe we inhabit, and for the rest of humanity’s finite future we will never be able to satisfy our thirst for discovery.
The risk of failing
In centuries past the maps used by sailors often had curious annotations which read “here be dragons.” Superstitious and paranoid, people often believed that there was only so far you could go on your adventure before you would inevitably reach an untimely death. The dragons represented the unknown that you dare not disturb. Many believed that the earth was flat, and although you may cunningly escape the clutches of the dragons, you were bound to drop off the edge of the world eventually.
The oceans of software engineering we are challenged to discover today are filled with treasure but also with storms, danger and the risk of failing faster than ever before. More and more we are forced to rethink the quality of our ships and the skill of our sailors. Quality management and testing has often been the ‘stepchild’ of the software development lifecycle: our peers frowned upon us as testing is seen as a ‘thing you do at the end’ (if there is time and budget left).
Those who sail the safe harbours of their local shores are not in need of better ships and more quality. The risk of disaster is small as the shores are near. But those buccaneers who are drawn to the smell of new oceans are forced to build better vessels to sail in. They are compelled to have a larger component of quality engineering sailors. They have to have a team who can work fast, smart and automate their manual tasks.
The conundrum we face is that we have so many new ships to build, that we do not have enough shipyards to cater for the need. We also struggle to find ship builders and sailors who are skilled and experienced enough to join us on our journey.
So we are forced to build more good quality ships faster than ever before. We are also in need of growing our own teams of ship builders and nurturing our own crews.
Finding, growing and training teams
But where to find good team members? With the rapid expansion of assembly lines in global software shipyards, the shipbuilders are all fighting for good engineers in the same limited talent pool. And the bigger that supply and demand is, the more labour costs increase.
So we are left with one option: find and grow our crews. But how to train them? We are under immense pressure to deliver ocean-ready vessels faster and faster, and the luxury of time to take newbies under our wings just does not exist.
The other question is around certification. Many shipyards send their new builders on training to gain levels of certification. But one may find that most of the current training on offer lacks relevance to the world of ship-ops. Oh yes, ship-ops, not sure if you heard about this? Rather than checking the quality of the ships on the assembly line at the end, there is a trend nowadays to regularly check quality right through every step on the assembly line. Shipyards also try to find ways of automating many of the manual tasks – and importantly – to automate from the beginning.
However, this new world of ship-ops (and its devious sister agile ship building) means that we need a whole new breed of crew members. We can certify our crews until the cows come home, but they may just not keep up. Our crew members long for certification to make their resumes look better: you have them certified and then they are off to another shipyard. I am also concerned about the relevance of the shipyard training providers. Many of their teachers were excellent ship builders years ago, but they have been training others for so long that they inevitably lose their relevance of where the new breed of ships is heading.
So every shipyard needs to find its very own newbies. We need to train them – not in theory – but with getting-your-hands-dirty on the job training. The planks of the new ships must make marks on their hands. They need to be seasoned builders. And to make things easier (not!) ship-ops is often forcing us to combine the roles of ship builders and ship testers.
So the clarion call goes out to the ship building community: we have to find ways to grow our crews. Do not think this is someone else’s problem – it is our problem. Do not just ship off this responsibility to a vendor ship builder. Yes, they may be able to offer some help and point you in the right direction. But we have to be the owners of this extraordinary journey. With the right mindset it will be an exciting adventure!