Lecture sylabus PV260

Week 10 - GitHub Copilot and its impact on Software Quality. (L. Ďurovský)

Lecturer:  Lukáš Ďurovský, Thermo Fisher Scientific
Activity sheet: enter your lecture activity here (till 14:30 the same day)

About the lecturer: Lukáš is a Staff Software Engineer at Thermo Fisher Scientific with 10 years of experience crafting clean, efficient, and secure software solutions. His passion lies in building robust and scalable systems, particularly within the realm of distributed systems architecture. He is a strong advocate for clear and maintainable code, believing that well-written code is essential for long-term project success. His focus on efficiency extends beyond code optimization, encompassing the entire software development lifecycle, from design and implementation to deployment and maintenance.

Beyond technical expertise, he values the importance of secure APIs in today's interconnected world. He actively seeks to stay abreast of emerging security threats and best practices to ensure the integrity and protection of sensitive data. He is constantly learning and experimenting with new technologies and methodologies, always eager to share his knowledge and collaborate with others within the software development community.

Content

GitHub Copilot is an AI-powered tool that can significantly boost developer productivity by suggesting code completions and entire lines of code. However, its impact on software quality remains a topic of debate. This talk will delve into both the potential benefits and drawbacks of Copilot for code quality.

We'll explore how Copilot can improve quality by reducing boilerplate code, providing code review feedback, and even catching common errors. However, we'll also discuss potential downsides such as the risk of introducing bugs through blindly accepting suggestions and a potential decrease in code ownership among developers who rely too heavily on Copilot's output.

Finally, the lecture will explore best practices for using GitHub Copilot effectively to maximize its benefits for developer productivity while mitigating the risks to software quality.

                    Lecture Material