Software engineering in the era of LLM

hero image Photo by Luca Bravo on Unsplash

In the fast-paced world of software engineering, adapting to the dynamic changes of the tech industry, rapid learning, and facilitating the adoption of new technologies among your team members are just a few of the challenges to face in our daily life.

A game-changer in this landscape has been the emergence of Large Language Models (LLMs) powered tools like GitHub Copilot. While these tools are lauded for enhancing productivity, concerns loom about their potential to replace human software engineers. Let’s dive into the reality and explore how, as a TypeScript developer, you can seamlessly collaborate with LLMs to amplify your development prowess.

Tools powered by Large Language Models(LLM), exemplified by the likes of Copilot, have undoubtedly streamlined coding tasks for many developers. But the notion that they might render human developers obsolete is a misconception. These tools helps developers on the code-writing process, but we still needs to choose whether the solution they provided can suit the problem we are solving, Which means every piece of code generated by an LLM should be review by human for accuracy, comprehensibility, and alignment with the project’s goals.

As a software engineer entrenched in the era of Large Language Models, I admit that I feel feeling lost with these innovative tools sometimes. However, I’ve recently discovered how to harness their potential to maximize my productivity and elevate my role in this LLM-dominated landscape.

Collaborating Effectively with LLM powered tools

Working with LLM powered tools is no different than working with a real human. You can treat the LLM tools as a colleague who always sits next to you, ready to assist. Here, I present some strategies for productive collaboration, and demonstrate them with TypeScript:

1. Document your code - Make LLM understand you code:

Robust documentation is key to enable LLM tools to analyze your code more deeply. This not only empowers the LLM to better understand your code but also facilitates seamless integration with tools like VSCode. With GitHub Copilot and other VSCode plugin can automate JSDoc and comment generation.

Below screenshots are the demonstration of the documentation written in the interface, and how it can integrate with VSCode.

documentation for interface method hint with documentation

2. Craft Expressive and Consistent Naming Conventions

A uniform coding style is imperative to ensure LLM-generated code aligns with the coding style you want. These are the rules to achieve this:

In a Nutshell

Beyond adhering to these guidelines, encapsulate logic within functions or class methods is also important. Make sure team members can use the code you wrote easily. Thinking as you are developing a SDK or an API for other people and take more attention about how they will use code.

In the era of LLM, our value as a human is to make more decision on how to make the code more “User-friendly”, and how can it boost up the productivity of the team and bring us towards success.