AI in Action: Transforming Code Generation

The imperative to maximize efficiency and output from limited resources has never been more pressing. As companies navigate the necessity of modernizing their IT Operations to stay competitive in a digitally transformed landscape, many technology teams are grappling with resource constraints. This is especially pertinent when it comes to the development and maintenance of code. Coding is a perfect target to achieve greater efficiency because let’s face it, coding is extremely time consuming. Achieving greater efficiency in coding practices is thus not only desirable but essential in this context, as it directly impacts the speed and effectiveness of technological development and maintenance.

The Need to Modernize Code

Startups often have the advantage of beginning with a clean slate, free from the constraints of legacy code, a luxury that many established companies do not possess. Enterprises are increasingly gravitating towards modularized applications that leverage microservices and service-oriented architectures, allowing them to create applications that can perform specific functions that operate independently of one another. This approach enhances scalability, offers flexibility in development, promotes reusability, and streamlines integration and deployment processes. However, for businesses still dependent on applications built with coding languages and practices from decades past, transitioning to this modern, modular approach presents a significant challenge.

Even when fully modularizing a mainframe or legacy application isn’t feasible, there are still opportunities to optimize old code in some capacity to achieve improved efficiency and performance. This could involve translating COBOL to Java, containerizing a specific app component, or simply streamlining code to reduce the number of code lines to improve speed. While modernizing legacy code does entail initial investment, the long-term benefits can lead to significant operational cost savings. Optimized, contemporary code tends to be more cost-effective in terms of maintenance, exhibits higher reliability, and generally demands fewer resources to operate efficiently.

Enhancing Skillsets

Developer hours are expensive to begin with. For enterprises that have old code bases that are poorly understood by current personnel, modernizing code can be even more expensive. COBOL developers for instance are going to be more expensive due to their scarcity compared to more commonly used languages like Java. On the opposite side of the spectrum are organizations, where developers working in IaC environments to deploy multi-tier applications that demand code accuracy and faster time to market.

This is where generative AI is making a substantial difference. It can jumpstart and significantly advance projects beyond what might be achievable with the existing skill levels. Essentially, generative AI can amplify the productivity of your development team, enabling more to be accomplished in fewer hours. IT can also potentially reduce the need to hire additional, specialized developers. By utilizing generative AI solutions, companies can scale their development efforts more effectively and efficiently.

What Generative Model is Best

Nearly everyone has heard of ChatGPT. It might be the most famous example of a large language generative AI model. For many of its users, it may seem like there is nothing ChatGPT cannot do well. It can answer an email, summarize a Teams meeting, write a romance novel, or translate an article. It can even write a PowerShell script in mere seconds.

There is no doubt that ChatGPT and other generalized AI models can prove their worth in multiple ways for a business. Every business needs that person that is a jack of all trades, someone that can solve multiple types of problems, plug holes, or just get the ball running for a wide number of endeavors. But you also need highly trained specialists as well. You certainly would not want a general practitioner to perform heart surgery on you. In that instance, you want a highly trained specialist that has performed that type of operation repeatedly.

That is why you need generative AI solutions that are designed with a tailored purpose.

IBM watsonx Code Assistant

For coding instances as we have covered, IBM watsonx Code Assistant may be just what the doctor ordered. Think of it as a tool that can optimize code the way a Developer or IT Operator needs it to be. It isn’t a code generator or translator in which a prompter merely asks Watson to write some code that can do “X.” Watsonx Code Assistant is far more complex. It can understand context, take that context, and produce something useful that can be used as a standalone app or wrap up into a container.

Watsonx Code Assistant provides two core products that address very specific development and modernization needs. Watsonx Code Assistant for Red Hat® Ansible® Lightspeed is built to accelerate IT automation and accuracy with content recommendations for an enhanced Ansible experience. Watsonx Code Assistant for Z is an AI-assisted mainframe application modernization product built to increase developer productivity and agility throughout the application development lifecycle.

IBM WatsonX Code Assistant for IBM Z

There is a common phrase, “they don’t make them like they used to.” The IBM Z series has been known for years for its high levels of reliability, availability, and security. That’s why you can still find it running mission critical applications to this day. Keeping these applications maintained and updated is a challenge today because COBOL developers are in short supply. That is why companies are accelerating their mainframe modernization efforts and using watsonx to fill in the gaps of their understanding and get to the finish line. Whether the end goal is continuing to leverage the power of your existing Z systems or migrating that workload into cloud-native services where appropriate.

IBM watsonx Code Assistant for Z leverages IBM’s Granite foundation models for code. Using generative AI, it is designed to make it easier for developers to selectively modernize COBOL business services and translate COBOL into Java. Watson can perform an automated discovery of your application and its dependencies to map out a technical understanding that it can then use to decompose monolithic applications into modular COBOL services. Ultimately, watsonx Code Assistant for Z utilizes generative AI to either transform these COBOL services into object-oriented Java code or optimize them within their existing environment.

Watsonx Code Assistant for Ansible Lightspeed

Watsonx Code Assistant doesn’t just shine at modernizing older code. It is also highly adept in Ansible as well. While Ansible is an extraordinary resource for sharing and reusing automation content, there are also hundreds of thousands of Ansible modules available. Remembering the parameters available for each one and taking the time to look up documentation for each one is a daunting task. For those new to Ansible, there is often a sizable learning curve in understanding how to effectively search for, evaluate, and implement the roles and collections.

Ansible is another area that watsonx Code Assistant can add real value. Consider Ansible, the training area for Watson. Because it is so well integrated with Ansible, it understands how Ansible works and understands the context of how it is being used. Just the time it can save your developers from searching and reviewing documentation can be substantial. Watsonx can also in other facets as well.

  • Generate Ansible playbooks and roles based on specific requirements without having to write code from scratch
  • Suggest optimizations to improve the efficiency and performance of existing code and provide contextual help and recommendations
  • Automate the process of testing Ansible playbooks to ensure performance and compliance
  • Provide learning assistance to new Ansible developers and answer queries to accelerate any learning curves
Rich Legacy of AI

One of the driving reasons why Watson is so effective is due to the company that drives it. IBM has established a rich legacy in AI, spanning several decades, and a long history of investment in AI research and development. From the creation of Deep Blue, the supercomputer that defeated world chess champion Garry Kasparov in 1997, to Watson, which marked a pivotal moment in the integration of AI into complex decision-making processes, IBM has helped shaped the industry and given them a leg up on the competition.

Evolving Solutions & Keyva

Evolving Solutions and Keyva have a long tradition of working with AI in the field of IT operations. We are experts at data center and coding modernization and know how to fully leverage AI to get the results you need with the resources available to you.

Let’s Talk. Contact us to learn more about how our teams can discuss and evaluate your needs and then help you create a roadmap to get you where you need to be.

Michael Downs

Chief Technology Officer

Michael is the Chief Technology Officer at Evolving Solutions and joined the company in 2014. Connect with Michael on LinkedIn here.

Photo of Michael Downs

Related Blog Posts