We think about automation a lot. Generally, our focus is on bringing automation to the accounting sphere, but we also try to find ways to automate other parts of our workflow.
We think about automation a lot. Generally, our focus is on bringing automation to the accounting sphere, but we also try to find ways to automate other parts of our workflow. GitHub’s Co-Pilot caught our attention in this regard because it automates software coding. It is an interesting proposition, so our team is testing Co-Pilot to see how we can use it at Stamped. Although it is too early to know the full scope of Co-Pilot’s impact, our team thought it would be interesting to share our early impressions. The excerpts below are comments from our team on Co-Pilot’s progress, application and potential.
The Co-Pilot tool is oddly like what we are doing here at Stamped. We’re developing software and AI tech to make the job of accountants easier and more seamless. Co-Pilot is doing the same but for developers by partly automating simply coding functions. Personally, with Co-pilot I am very excited to have a curated list of coding suggestions from developers, projects or organizations I consider as sources of inspiration in our tech domain for their quality of code, performance and testability. The quality of these suggestions can inspire us in our daily work, but we have to keep in mind the global picture of our project and think about how these suggestions can help us or force us to rethink multiple parts of our code to stay consistent. This tool could be a game-changer, but it still needs human validation. It will also be interesting to see how private businesses are able to utilize this well. It remains to be seen if GitHub will provide a separate enterprise format of Co-Pilot for private businesses.
I got lucky being one of the first beta-testers of Co-Pilot. What I like about Co-Pilot is the ease it brings by auto-completing tedious code blocks or repetitive methods. I’m aware that this might sound like I might allow the software to write code for me but simply put, it basically allows me to move through my processes much faster and focus on the more complex parts of my code. With Co-pilot being a new product, roughly 50% of its suggestions are useful and even within that 50%, it might not go in the direction you had in mind. As with any machine learning algorithm, as more people use it, more data is continually fed and consequently, its training improves. See a picture below of Co-Pilot’s coding suggestion in real-time application.
In the above picture, I am asking Co-Pilot to make a suggestion based on what’s already imported and written in my file.
Developers regularly google search even the most basic of coding functions and sentences. The Co-Pilot suggestions could allow us to stay within our editor more often thus saving us time. This comes with the assumption though that the co-pilot suggestions will be good enough to use a vast majority of the time, which is not the case yet. In the early days of its use, it is simply going to be a distraction to the coder but as more data (use) is fed into the algorithm it will become a more practical tool. Finally, my impression is that it won’t replace developers because it cannot take into context the globality of an application. Co-Pilot in my opinion will not reach a level of sophistication where it will comprehend what the developer is thinking of creating. Dominic Bilodeau, Back-end Developer One thing that comes to mind when thinking of Co-Pilot is its ability to tackle the smaller puzzles in my coding. Coding is like a puzzle. You’ve got the completed puzzle that you’re striving to put together. Before we can start putting together the small pieces, we need to build out the architecture of our system and outline all the small pieces that must come together. As Co-Pilot becomes more trustworthy, we will possibly be able to spend less time on the implementation of the smaller pieces. This will allow us to spend more time thinking about the design and architecture of the feature we are building.
I always keep an open mind for the use of new tools and novel technologies. It's important to stay up to date, especially in an area that moves as fast as software development and these new tools will often enable us to improve our workflow and make us more effective.
I believe there is indeed a slight risk of losing the ability to judge the code. Increased reliance on automation also means an increased oversight risk. Just because Co-Pilot suggests a piece of code does not mean the code end is necessarily correct. We must therefore make sure that we keep a critical mind and still take the time to read the code, understand it and evaluate whether it is suitable in the context where it has been added.
One of the benefits that comes to mind is how learning to code a different language may be facilitated. Co-Pilot becomes more useful in large-scale usage and is a driver of consistency when onboarding coders learning a new language in a project. The suggestions provided to the coder allow them to analyze and potentially understand the mechanics of a new language faster. This allows coders to expand their personal repository of languages they can use.
On the flip side, as a private company that must keep its code secure, how will co-pilot be useful to Stamped? How will it integrate with our own coding methodologies, standards and projects? Such a tool must be able to learn from the coding style, patterns and usage in force in a specific company. To do that, it must analyze the code and build models based on the way it’s been used in a given context. Where are these models built and stored is one question that arises. We need to confirm co-pilot is able to provide tailor-made suggestions that increase the velocity of coding our own applications in our own context.
What excites me the most about co-pilot is the possibility for someone like me who is transitioning between two professional fields to be able to progress quickly. Co-Pilot acts as a proposition tool, like a colleague who points you to possible solutions while writing code. Based on what I have seen so far I believe tools of this kind will make programing more accessible without devaluing the title of software engineer.
We can see Co-Pilot like the photo filter that made Instagram popular. Without necessarily making everyone a pro at photography, Instagram filters have enabled a large portion of the population to enjoy the hobby of photography. I believe that Co-pilot will allow this same change to eventually occur. Through its suggestion function, the automation of the "basic" methods will be done by accepting the suggestions until reaching the more complex portions of the code, where the experience of the software engineer is crucial.
As always, new frameworks are being developed with the goal of reducing programming-intensive areas of the AI development process. Tools like GitHub’s Co-Pilot are another development that, with time, will allow AI specialists like me to decrease the programming aspects of our jobs and focus more on analytics. Once Co-Pilot has developed sufficiently, it could reach a point where it helps us implement the architecture of our neural networks, a process that is done in the same manner most of the time. When working with neural networks, we usually have two options, either start from 0 or take an existing infrastructure that already functions. Co-Pilot could possibly aid in building the neural network from a description of the intended architecture, allowing us to decrease the time spent programming and testing an architecture.
Automation is expected to disrupt how businesses operate and how we interact with each other daily. GitHub's Co-Pilot, while still in beta testing, has the potential to significantly expand the efficiency of modern-day programmers. It could also make the entry into programming more accessible for programmers such as Julien. Co-Pilot has its drawbacks, but we like where it is taking the industry.
Let us handle your business' financials
in the simplest way.