Our challenge is to continue to care, to understand that we have a duty to contribute...
As we celebrate Madiba's centenary, we reflect on his words, desires and wishes for Africa. To me and many of my peers, he represented hope, inspired trust, triggering and nurturing a collective caring and belonging that gave South Africans like me an identity, says Anujah Bosman CEO of Chillisoft.
So, although there is an urgency of the fourth industrial revolution and a challenge of technology, technology itself is not a threat. Our inadequate preparation in developing a skilled workforce that can solve complex problems, in a manner that benefits our society, is the threat.
Why is our preparation inadequate? What is needed to solve complex problems? How do we solve problems to benefit society? These are the fundamental questions that every leader and manager should be reflecting on? We are facing an uncertain future, an inadequate supply of good software skills, yet we continue to adopt training methods that we know are unsustainable and that don't work.
Somewhere along the way, the shortage of good software development skills has become synonymous with job creation. This is a fallacy as they are two fundamentally different issues. The creation and nurturing of good software development skills requires a paradigm shift in the way we view software developers and our accountabilities for written software.
The continued focus on a technology approach alone propagates a silo mentality that is experienced in software development. This approach is largely devoid of context and impact and is usually driven by an urgency to increase profit. Skills development that only focuses on technology is dangerous, given the power, capability and susceptibility to misuse technology. Typical examples of software, with impressive technology that has gone wrong, includes racist chatbots, self-driving cars running red robots, cyber attacks, invasive data collection, etc.
It is absolutely critical that we understand that software developers are not coders. Business and the world has changed from the engineering mindset that demanded predictability and upfront design. These days, software developers are the individuals who are tasked with solving wicked problems creatively using very powerful technology.
Software developers already know how to code, and they know how to make complex code reliable. However, Nancy Leveson stated that "software engineers don't understand the problem they are trying to solve, and don't care to". She also stated that "virtually all systems contain humans, but engineers are often not taught much about human factors and draw convenient boundaries around the technical components, focusing their attention inside these artificial boundaries".
These statements remain true today. This lack of caring about the impact we make on society is deeply ingrained in our society and in business. However, now with the adoption of CSI, triple bottom line reporting and shared value, it makes good business sense to care about our ecosystem. In the knowledge work ecosystem, this means caring about the supply of good software development skills and the untapped opportunities of markets that are now accessible.
In order to prepare for the future, businesses must, at a minimum, start instilling a software developer mindset and professionalism to equip individuals to solve complex problems. Technical training for software developers includes soft skills, an understanding of the development environment and DevOps, technical skills and practices. Some of the essential soft skills that are already required in business require an understanding of ethics, IP, privacy and social context. Other critical skills that are needed consist of problem-solving, teamwork, adaptability and the ability to learn.
Upskilling software developers to be equipped for the future requires on-the-job practice and embedding practices and behaviour that builds thinking frameworks for a software developer. Training in these areas, furthers professionalism and, more importantly, starts creating meaning and the need to contribute to a purpose that is greater than themselves.
Training software developers to be software professionals means creating a self-awareness of their cognitive abilities, the views they hold and their people skills they exhibit under varying degrees of stress. It is these traits that shape software professionalism that is required to create utilitarian value to benefit society.
Don't get lost in the hype of the fourth industrial revolution and leading-edge technology such as block chain. Don't write off the hype and believe you have time and the advancing technology, and that shifts in society are a long way away. As pragmatic businesses, we currently have the ability to start the upskilling process by re-orienting software training from technology specific to being solution focused.
Contact Chillisoft today so we can assist your team in understanding and practising software professionalism.
Chillisoft believes software professionalism is about making a contribution to society. We strive to promote a sense of meaning so that the individuals who craft the code are imbued with a sense of ethics and caring.