I recently met an old college friend, after many years. After the usual catching up about life, the conversation shifted to work. He now works as a machine learning scientist, and as we all know, ML is one of the biggest tech trends driving digital disruption today. We spoke a lot about the digital age, and the conversation delved more into how ML is now a perceived threat to traditional developer roles. In fact, he even went on to say that some computers are already working better than humans, and the possibility of me being out of a job, owing this automated success is very real. I don’t know if what got me thinking was the fact that this came from a friend, or the stats and figures he presented, but I thought long and hard about the impact technology has on our work today.
There was a time when there were no computers. The fastest thinking person in a room was the best computer organizations could ask for!
Think back to the first moon landing. They made it there on the back of log tables, for complex mathematical equations. In year 1961, NASA introduced the first digital (non-human) computers to the center, the IBM 7090 HAS. It was insanely fast then, with 24000 multiplications per second, and no human could compete with that. That did lead to many jobs lost, but every coin has a flip side. This also opened avenues for new employment opportunities as a FORTRAN developer.
Fast forward to today, when an average developer cannot think of a life without their laptops. Compilers and interpreters have seen massive improvements, the syntax and semantics have shifted from machine code to human readable formats and tech forums have grown magnanimously to aiding common developer problems. Workstacks that earlier took months to finish, have now gone down to a few hours! From a business perspective, this has also optimized costs for resource hiring and retention, and significantly improved the quality of end products. Win-win for both, the enterprise, as well as the consumer!
But is it time for us developers to worry? Are these changes really going to eradicate our need altogether? I don’t think so. Not for a long time to come, anyway. The resilience that emerging tech offers to the product development process combined with the increased computation power has answered many pressing questions. In fact, digital transformation, all across the globe, has led to organizations collaborating with each other much more in the last few years than in the last decade, thereby providing additional employment to people in need.
The way I see it, digital transformation is aiding developer efficiency and productivity. Umpteen platforms hosted on the cloud save so much deployment time, as automation eases out the creases in software development. We can now even rent infrastructure as a service, saving valuable financial and human capital resources. Setting up hardware is almost a thing of the past! The DevOps philosophy is nothing short of a boon for developers, as it automates the phases of deployment and release. Many mundane, reduntant tasks, are thus taken care of, and developers can dedicate more time to creating custom, creative business solutions.
The field is set, the game is evolving, so are the players. What we do with this tech, depends entirely on us. Where traditional software development mostly focused on the end solution, modern day software needs to focus more on solutions that are user centric. Merging design with development has become imperative! A great user experience stems from understanding their needs, and here’s where the emotion comes into bit. Something that machines do not have, and something that we thrive upon. Knowing how to build is one thing, knowing what to build is quite another. As long as we know the ‘what’, the humble developer will always need to be around!
Abhinav Bakshi is a full stack engineer at iauro Systems