Generative AI to unleash developers’ productivity

Mid-June, I wrote about “Leveraging Artificial Intelligence in Software Development.” McKinsey & Company just published a study that “shows that software developers can complete coding tasks up to twice as fast with generative AI.” Not surprisingly, generative AI can be used for code generation, code refactoring, and code documentation, speeding up these activities by 20 to 50 percent.

The purpose of Generative AI is to assist developers rather than replace them. It is important for developers to have solid coding skills and to dedicate time to learning how to use Generative AI effectively. Generative AI won’t replace developers in integrating some organizational context (e.g., integration with other processes and applications), examining code for bugs and errors, and navigating tricky coding requirements.

As per McKinsey’s research, generative AI shined and enabled tremendous productivity gains in four key areas: expediting manual and repetitive work, jump-starting the first draft of new code, accelerating updates to existing code, and increasing developers’ ability to tackle new challenges.

The transition to coding with Generative AI will take time to happen. Technology leaders must train and upskill their development teams, start experimenting early, and deploy risk control measures. Risk control must cover many topics, including but not limited to security, data privacy, legal and regulatory requirements, and AI behavior.

Improving developer productivity through generative AI is a journey that will take some time. It is crucial for companies, particularly regulated ones such as asset and wealth managers, to begin experimenting with it. So that they can also better understand regulatory and security constraints and understand how to best address them.

Leveraging Artificial Intelligence in Software Development

Artificial Intelligence (AI) offers diverse applications in software development that will drastically change how firms develop software. It can:

  • Support developers by accelerating coding tasks, leading to faster and higher-quality code.
  • Document existing codes that have no documentation.
  • Help developers to appropriate codes that are not theirs.
  • Debug codes.
  • Accelerate or even automate the migration of legacy stacks to more modern technologies.

Within the next 6 to 18 months, most software development tools will integrate some artificial intelligence to support developers. On the one hand, there are traditional players like Microsoft with its Copilot. But competition is building up with solutions from Tabnine, Codeium, and CodeComplete, to name a few. And you can expect all products for data science like Databricks, Hex, and data iku to integrate some “copilot” to support users and developers.

There are big questions on the intellectual property of the code generated by artificial intelligence, and the code firms share with these solutions. Everybody knows the horror story of Samsung using ChatGPT to debug some proprietary and confidential code. ChatGPT eagerly consumed the data, using it as training material for future public responses.

The rise of artificial intelligence will not render developers obsolete. Instead, it offers a unique chance to establish a harmonious collaboration between humans and computers. Developers should see Artificial Intelligence as a new colleague with superpowers. By delegating repetitive and mundane tasks to AI, developers can devote more time to creative problem-solving and embark on a journey of enhanced productivity and innovation.

Another interesting topic, not linked to artificial intelligence, is how financial institutions recruit and deploy developers. The traditional way has been to hire and locate them in internal facilities. But the war for talent has made it very difficult to hire outstanding developers, not to mention that they often don’t want to be employees or don’t want to be in a specific location. They want more freedom. An ecosystem of secure software development solutions is becoming available in the public cloud and from specialized providers like StrongNewtork (www.strong.network)— time for financial institutions to start looking into this.

Back to building monolith applications?

Most experienced engineers would likely recommend implementing microservices, APIs, and serverless architectures in the current technology landscape. And not dare to talk about building a monolith solution. But this is what one Amazon Prime Video team did because of too high infrastructure costs and scaling bottlenecks. By ditching serverless, microservices, and AWS Lambda, they saved 90% of their infrastructure costs and solved their performance issues. Read the full story here.

Implementing the latest infrastructure and development concepts for the sake of it does not necessarily bring the best solutions. It’s like pushing database normalization to the extreme, to the detriment of performance. Denormalization is often necessary.

Every case is different when building an [new] IT solution and comes with other requirements. Different IT architectures will have various pros and cons, and no solutions will be perfect. You must challenge your team to think out of the box, assessing “modern” ways of doing things while not excluding traditional ones.You must also recognize the existing IT landscape and technical debt because it’s not like you can erase everything and start from scratch. If necessary, build a minimum viable product to prove your proposed architecture is scalable and delivers the required performance.

Who will pick up the bill when your smart contract is buggy and everything is lost?

I always thought people underestimated the challenge of blockchain and smart contracts. While smart contracts have many benefits, like information security, no third-party required to verify authenticity, efficiency in execution, and much more, smart contracts can be complicated code, buggy, and lead to disasters. Chasing bugs on the blockchain (MIT Technology Review) provides examples of such disasters, where tens of millions of dollars have been lost and cannot be recovered.

That opens the door to a new business opportunity that will attract many players over the coming years: auditing blockchains and the code of smart contracts. Not making them bulletproof and guaranteeing that there will be no bugs, but ensuring the code is robust and that smart contracts will behave as expected. Challenge: finding the right talents to staff these “audit teams” with top-notch engineers who can make a difference.

I am not saying you should not push blockchain and smart contracts. But make sure you have an experienced team building them, and consider having a second pair of eyes looking at the code. Because once they are out there, it might be too late to make any changes and avoid a disaster. It will often be too late when you know about the tragedy.

Think like a software company

Software is eating the world (“Why software is eating the world“, Marc Andreessen, Wall Street Journal, August 20, 2011) and many companies see the importance of becoming (like) a software company. It starts with committing to a software culture through leadership, communication, and investment. Leadership: Bring tech and software experts and visionaries on board, measure specific software KPIs, get software leaders to join your board (or advisory board, or technology board, just pick one), and join some of theirs. Communication: Communicate constantly about the strategy, value proposition, and progress of software, internally and externally. Investment: Sustained investments in software are required over many years. Management must also measure employees’ satisfaction.

JPMorgan started its journey with culture and mindset, talking about business outcomes, obsession over customer experience, and delivering value faster.

Invest in empowered product managers, while driving engineering excellence through autonomous teams and flexible architecture. The quality of the product managers and their ability to steer is critical to the success of this endeavor. Build on the ecosystem, leveraging others’ platforms and offering your own platform. Bring in “citizen developers”.

Last but not least, understand how to leverage software and data, where it can make a major difference.

Two key sources:
1) “Every company is a software company: Six “must dos” to succeed“, McKinsey Quarterly, December 2022.
2) “Inside JPMorgan’s appointment of 25 “mini-CEOs” and new strategy to operate more like a startup <…>“, Business Insider, April 2022.