Supercharged Coding with GenAI aims to train software developers to achieve increased productivity throughout the software development life cycle (SDLC). It covers not only the programming aspect but also how to write tests, documentation, and other aspects required for putting software into production using GenAI methods. The book introduces the five S’s framework, a standardized approach for consistently producing high-quality output that many GenAI users face.
It guides you on how and when to use the three most common GenAI software tools that currently dominate the marketplace: ChatGPT, OpenAI API, and GitHub Copilot. Each of these tools offers a different interface for generating code, each with different strengths and weaknesses. Learning how to effectively use these tools is an empowering skill set in the quickly evolving field of software engineering.
This book is a hands-on approach, with many labs introduced throughout the different chapters, since GenAI coding tools require practice. The labs provide the necessary practice to challenge the knowledge and explore the key skills introduced. The book also dives deeper into the concepts behind how to use instructions, making sure that you not only learn how to do something but also understand why the GenAI is producing particular outputs.
The book is structured into three parts:
- Part 1, Foundations for Coding with GenAI, provides a quick start tutorial for the three different GenAI tools you can use for code completion and surrounding tasks. We will start with OpenAI API framework to harness the large language models (LLMs) as a software developer. We built a program for code completion so we can better understand the design of GenAI tools. Next, we will get started with GitHub Copilot and ChatGPT using three different interaction modes: chat, completion, and analysis. By then, we will also understand the design differences among the different interaction modes. Finally, we will introduce the five S’s framework, a structured approach to crafting precise prompts that lead to predictable and more desirable outputs.
- Part 2, Basics to Advanced LLM Prompting for GenAI Coding, takes the next step toward becoming supercharged coders. We will dive deeper into the foundations of LLMs. The goal is to gain a better understanding of why these models work so much better than the many tools that came before them. We will then start developing the mindset of a supercharged coder by learning which tasks are native to the models, which require advanced prompting techniques, and which tasks are better handled without the assistance of GenAI altogether. We will also learn about applying advanced prompting techniques to coding-related tasks, how to evaluate the goodness of our output with evaluation techniques, and how to fine-tune a model to specialize it for a specific task.
- Part 3, From Code to Production with GenAI, is dedicated to the advanced SDLC approach, where we will be able to use our newly obtained skillset and mindset to work with GenAI tools. We will talk about logging, monitoring, debugging, unit testing, and documenting our code efficiently and quickly with GenAI tools. We will also apply prompt engineering techniques to both space and memory optimizations. We will close this chapter with talks about design, architecture, and the future.