Working with Github Copilot as coding agent
Some time ago I’ve thinking about creating an mvp for a personal endeavor. But just thinking about how much time it could actually consume building all the features that I’ve got in mind was a big overhead before even get started. But something changed in the past months, I lost my job for the second time in less than a year and AI is more than just a buzzword day by day as developers. It is now a tool that can enhance your work. But if it is used out of control, our project would get into a work slop, creating a feature factory. These are my thoughts about how I’ve been using it and the impact it is having in my development workflow.
When to use AI in a project
Now it is viable to start adding coding per programming and in best cases coding agents, for greenfield projects, feature development and project modernisation. I’ve been based on these case scenarios.
Main considerations
Context
It is mentioned that the LLM model should have enough context to generate content accurately to our prompts.
But it is not viable to force the model analysing the whole project each time we request content or information. So, it makes sense to centralise project information to give enough resources to help these tools work with us. These options can help you get up to speed at the moment of building context:
Recommended by LinkedIn
Project documentation
It places double purpose to our work
Any loose threads could cost. Our expertise plays a big role at this phase, because each time we ask coding agent to develop something, it could generate something that is not what we actually needed and could be too difficult to fix or would be an unaccurated feature. Forcing us to rerun coding agent assuming a new cost.
Formal practices like discipline agile delivery or any other agile practice, can help us give structure to our project.
Sizing the scope of our project and improving the outcome, make it closer to out actual needs.
It could work as documentation and memory tool for our projects.
AI is good at identifying patterns to generate content, but could make assumptions when there is something that is not specified.
Technical considerations
Developing tasks with Github Copilot
Conclussions