Test, Code, Repeat: Mastering AI-Assisted Development

certificate
Recording and certification are available to Multipass and Full ticket holders only
Please login if you have one.
Bookmark
Rate this content

"Test, Code, Repeat: Master AI-Assisted Development" introduces developers to a transformative way of coding with AI as a collaborative partner. This workshop focuses on how iterative workflows, such as the ping pong pairing technique, enable an enhanced interaction between human creativity and AI efficiency. 

This workshop has been presented at Productivity Conf for Devs and Tech Leaders, check out the latest edition of this Tech Conference.

FAQ

Marco is a principal developer at ThoughtWorks with over 10 years of experience in IT. He is based in Spain and enjoys tinkering with hardware and software in his free time. He is also an animal rights activist.

GitHub Copilot is an AI tool used to enhance the development flow by providing coding suggestions and assistance within the IDE. It can generate code snippets, complete functions, and help with repetitive coding tasks, thus aiding developers in focusing on more complex problems.

ThoughtWorks has contributed to the tech industry by creating Cruise Control, the first CI server, and Selenium, a popular testing framework. They have also published over 100 books, including influential titles like 'Infrastructure as Code' and 'Building Microservices.'

AI tools like Copilot can assist in programming interviews by solving repetitive tasks such as data structure problems or algorithms, allowing candidates to focus on business problems. These tools can also influence the future format of technical interviews.

Best practices for using AI tools include using comments to provide context, being specific with naming conventions, ensuring relevant files are in context, narrowing the scope of questions, and reviewing AI-generated code thoroughly. It's also advised to use AI tools for repetitive tasks and avoid relying on them for complex problem-solving without oversight.

Challenges include AI tools' tendency to provide answers without context, potential for hallucinations (wrong answers), generating verbose or irrelevant code, and the need for human oversight to ensure code quality. Developers must also be cautious of biases and the quality of the codebase AI is trained on.

Test-Driven Development (TDD) is a software development process where tests are written before code. With AI tools, developers can use the Ping-Pong technique, where the AI suggests test cases (red), a developer writes code to pass the test (green), and then refactors the code. This method can help integrate AI into the development workflow effectively.

While AI tools can assist in development, they cannot fully replace the benefits of human pair programming, such as immediate code reviews, knowledge sharing, and collaborative problem-solving. AI can act as a supplementary tool, but human collaboration remains essential for effective software development.

ThoughtWorks views AI as a supplementary tool in development that can enhance productivity and assist with repetitive tasks. However, they emphasize the importance of human oversight and collaboration to ensure quality and innovation in software projects.

ThoughtWorks is a consultancy company with the purpose of creating an extraordinary impact by combining culture and technology. They aim to be excellent partners for their clients and help them shape and achieve their missions, with a main goal to revolutionize technology.

Marco Pierobon
Marco Pierobon
53 min
02 Apr, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Today's workshop focused on using AI tools in software development, particularly the AI tool Copilot. The session highlighted the benefits and limitations of AI tools, emphasizing the importance of context and specific test cases for optimal results. AI tools like Copilot can be useful for solving data structure and algorithmic problems, especially in job interviews. They are most effective when working in familiar languages or frameworks and can assist with boilerplate code and repeating patterns. However, it is essential to be mindful of code quality and tech debt and not overly rely on AI suggestions. Pair programming with AI and following TDD principles can enhance code quality and knowledge sharing. The session also covered refactoring and implementing the Fibonacci sequence, exploring AI model options, facilitating breakout rooms for collaboration, and using property testing to validate code. Overall, the workshop highlighted the potential of AI tools in software development while emphasizing the need for human guidance and review.
Video transcription and chapters available for users with access.

Watch more workshops on topic

How to Create a Web Application in an (Almost) Autonomous Way Using Clean Coder
Productivity Conf for Devs and Tech LeadersProductivity Conf for Devs and Tech Leaders
95 min
How to Create a Web Application in an (Almost) Autonomous Way Using Clean Coder
Workshop
Grigorij Dudnik
Grigorij Dudnik
Imagine replacing yourself with a multi-agent AI programmer to develop your production web application. That's exactly what we did at my startup takzyli.pl. To achieve this, we designed and used the Clean Coder - AI agent framework for autonomous code writing (https://github.com/GregorD1A1/Clean-Coder-AI), which is hopefully open-source project. If it worked for us, why shouldn't it work for you?In this workshop, I'll show you how to create an entire web application in an (almost) autonomous way and drastically reduce the time you or your employees spend on writing code.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

AI and Web Development: Hype or Reality
JSNation 2023JSNation 2023
24 min
AI and Web Development: Hype or Reality
Top Content
This talk explores the use of AI in web development, including tools like GitHub Copilot and Fig for CLI commands. AI can generate boilerplate code, provide context-aware solutions, and generate dummy data. It can also assist with CSS selectors and regexes, and be integrated into applications. AI is used to enhance the podcast experience by transcribing episodes and providing JSON data. The talk also discusses formatting AI output, crafting requests, and analyzing embeddings for similarity.
Forget Bad Code, Focus on the System
React Summit US 2023React Summit US 2023
27 min
Forget Bad Code, Focus on the System
Top Content
Watch video: Forget Bad Code, Focus on the System
Setting up the system and separating concerns are important in software development. Modular construction and prefab units are a new trend that makes construction quicker and easier. Architectural complexity can lead to a drop in productivity and an increase in defects. Measuring architectural complexity can help identify natural modules in the code. Best practices for avoiding architectural complexity include organizing code by business domain and using prop drilling. Atomic design and organizing a monorepo are recommended approaches for managing architectural complexity.
Confessions from an Impostor
JSNation 2022JSNation 2022
46 min
Confessions from an Impostor
Top Content
The Talk discusses imposter syndrome and reframes it as being a professional imposter. It emphasizes the importance of sharing and starting, embracing imposterism, and building inclusively for the web. The speaker shares personal experiences of being an imposter in various technical disciplines and highlights the significance of accessibility. The Talk concludes with the idea of building a collective RPG game to remove excuses for not making things accessible.
Improving Developer Happiness with AI
React Summit 2023React Summit 2023
29 min
Improving Developer Happiness with AI
Watch video: Improving Developer Happiness with AI
GitHub Copilot is an auto-completion tool that provides suggestions based on context. Research has shown that developers using Copilot feel less frustrated, spend less time searching externally, and experience less mental effort on repetitive tasks. Copilot can generate code for various tasks, including adding modals, testing, and refactoring. It is a useful tool for improving productivity and saving time, especially for junior developers and those working in unfamiliar domains. Security concerns have been addressed with optional data sharing and different versions for individuals and businesses.
Maximize Productivity with AI Agents
Productivity Conf for Devs and Tech LeadersProductivity Conf for Devs and Tech Leaders
25 min
Maximize Productivity with AI Agents
I'm Tejas Kumar, a software developer with over 20 years of experience. AI agents are defined as entities that act on behalf of users or groups to produce specific effects. Agents consist of an orchestration layer, a language model, and tools represented as JSON functions. Langflow is an open-source tool that allows users to build their own AI agents by connecting language models and tools. Composio is a tool that enhances agent capabilities by offering integrations and apps, such as Google Calendar integration. MCP (Model Context Protocol) is a way to share context with models and extend their capabilities. It allows functions to be made available to models over standard input/output or an HTTP endpoint. MCP can be used with GitHub to perform various tasks like searching and fixing code issues. The Talk covered the basics of AI agents, building agents with Langflow and enhancing them with Composio, and using MCP with GitHub. The speaker encouraged audience questions and exploration of these concepts.
VS Code Can Do That!
JSNation Live 2021JSNation Live 2021
28 min
VS Code Can Do That!
The Talk covers various tips and features of using VS Code, including the command palette, Zen mode, external terminals, and debugging. It also highlights advanced editing and refactoring features, Git integration, and the use of dev containers. The speaker demonstrates how to set up a dev container for a Python app, run code in a container, and create and configure dev containers. The benefits of using dev containers are also discussed, such as eliminating manual configuration, handling dependencies, and facilitating team-based development.