
Github Copilot, will It blend?
I was recently given the chance to assess how Gen AI tools could improve our developer experience at Mercedes-Benz.io, and as if that was not enough, I was later challenged to share my thoughts and experience with you, dear reader.
To keep with the times, rather than the obligatory “Webster’s dictionary defines … ” spiel, I will paste ChatGPT’s definition instead.
ChatGPT defines GitHub Copilot as an AI-powered code completion tool developed by GitHub in collaboration with OpenAI. It assists developers by suggesting entire lines or blocks of code as they write, using machine learning models trained on a diverse range of publicly available code.
First contact
So, there’s this interesting new tool for code completion, how can we put it to the test? As luck would have it, I was also assessing how to completely refactor one (and a very large one at that) of our codebases. Having a tool that could support delivering this migration quickly was too interesting to dismiss. The first attempts to leverage Copilot for automation were done before we even had access to Copilot chat – the results were already promising since the auto-completion feature could already retrieve context from the file and provide helpful suggestions.
The ability of Copilot to understand what I mean over what I say was nothing short of astounding. It would correctly interpret my instructions to “generate random list of words” and generate the list of objects containing these words that would work in that context.
Chat is a game-changer
The introduction of chat, however, brought a whole new arsenal of approaches. It was time to revisit the topic of code migration. Again, a welcome surprise was the ease of integrating it into VS Code, and as soon as we got the license, the helpful “chat” icon became available in the sidebar.
Keeping that in mind, due to my current role I haven’t had the chance to stay as involved in coding. What was once a codebase I could navigate with eyes closed, was now akin to returning to Dr. Who while having missed a couple of seasons – the main character is the same, but the leading actor is suddenly someone else. There was quite a bit of expectation as to what the “explain this” feature would reveal!
In truth, I would say this is likely not a substitute for well-written and semantic code, or well-written documentation. Nonetheless I believe this could provide very good input for writing said documentation, or even assist someone who is not proficient with the programming language in question, or the purpose of the codebase. I will say this though, it is super handy not to have to open a given tool’s documentation website and search for documentation when you can simply ask for the purpose of a specific configuration property.
Next, it was time to try to dive a bit deeper and work on refactoring some code. The first attempts were promising, but not quite there yet. Thankfully, with chat, I was no longer stuck to auto-completion, or comment hints, and it was now possible to iterate on the responses the tool was providing.
Prompt Engineering for best results
Enter “prompt engineering”! Turns out, like with people, when you speak clearly, the LLM can understand you better, and not have to infer a lot of stuff. Unlike with people though, asking “please” or saying “thank you” is not really a thing – or so they say. Use this bit of information at your own risk.
In the end, what the term means, is that you can, and should, provide the LLM with clear instructions as to what you need, providing hints like context, requirements and steps, and more and more, you will become proficient in the usage of LLMs as a tool. It also means that it pays to experiment a bit and check what prompts provide results in the direction of what you are looking for.
After tweaking prompts, and carefully planning my moves, I was successful in completely and quickly refactoring a couple of components, with the bonus of generating a non-regression test suite (lightweight, for demo purposes) without writing close to any code.
Final Considerations
Some words of caution though, in my personal experience, and even if it’s advertised differently, I never got Copilot to retrieve context from files other than the one being currently viewed. This would sometimes leave room for Copilot to do some guesswork, and here it was often wrong. When it did guess right, I’d say the real factor would be coding conventions, and the LLM’s ability to infer them.
So, what I initially described as Copilot correctly interpreting what I meant, rather than what I said, was now becoming a double-edged sword, where this interpretation would cause it to produce unnecessary code.
While I do not claim to be anywhere near close to an expert in the subject, from my experience with it, Copilot can act as a great accelerator in development, assisting in generating documentation, refactoring code, explaining bugs, etc. It can also be extremely helpful in enabling less proficient coders to understand code better, and in the end, become better coders.
Like with any other tool though, the outcome will always vary with how it’s used, and it should never be used blindly. Exercising oversight and applying critical thinking to the generated code is a must and the only way this tool can become an asset in our toolkit.
10/10, would prompt again!
Related articles

Pedro Reis, Simon Truckenmüller
Accessibility Isn’t a Barrier. It’s a Bridge.
At Mercedes-Benz.io, we often talk about building meaningful experiences. We pride ourselves on designing user journeys that feel intuitive, purposeful, and, most of all, human. But for those experiences to truly matter, they need to be\naccessible. To everyone.
Apr 22, 2025

Guilherme Santos
Unlocking the Power of Bidirectional Playwright for Test Automation
In the fast-paced world of test automation, staying ahead means leveraging the best tools and technologies. One such advancement is Bidirectional Communication in Playwright, a game-changer that enhances real-time browser interaction and opens new possibilities for automated testing.
Apr 11, 2025

Cláudia Turpin
Girls' Day: Inspiring the Next Generation of Women in STEM
Every year, Girls' Day serves as a powerful reminder of the importance of encouraging young women to pursue careers in science, technology, engineering, and mathematics (STEM). Originating in Germany over two decades ago, this initiative\nhas grown into an international movement, empowering girls to explore opportunities in traditionally male-dominated\nfields.
Apr 9, 2025