Let’s say you do not know how to program in Rust but you do know programming itself. You will need to install rust, create a project etc. After that, you can just start programming in Rust.
While I am writing some things, most of the code is actually written by Github copilot. I just need to tell github copilot what to do and it just does the job for me. This makes it really easy to learn a new language. Typically, my workflow when encountering an unknown during coding is as follows:
- Google for the problem and typically find an answer in stackoverflow
- Try to understand the solutions and pick the best one
- Use the solution in my code
The above process is time consuming and it happens multiple times in a day. For most software developers that I know, searching is a huge component of a work day. However, github copilot has the potential to change that. I used it for a 5 days continuously and my workflow adapted as follows:
- Try telling github copilot what needs to be done
- Get a few lines of code immediately
- Understand if it makes sense (else check the other suggestions too)
- If not, try telling AI in a better way and get more suggestions
- Modify the code manually if there are still issues
This is a completely different workflow and after 1-2 days, I was writing code twice as fast as before. So, why wouldn’t companies start adopting this and save on development time? The bigger companies will probably be slow in adopting these practices due to various concerns such as “uploading data to microsoft server”, license issues etc. However, the smaller and agile companies will become faster and efficient. It is no wonder that github realizes this and is already monetizing this. Amazon is jumping in as well with its codewhisperer.
There are some who think this could take away software development jobs. I do not believe that as I think it is nowhere close to general artificial intelligence. It is similar to getting an assistant coder whose code would always need to be reviewed. Copilot can make coding faster and improve the efficiency of a company but it still needs experienced developers to guide it towards right code. However, as companies like OpenAI and Deepmind continue to train billions of data points into their language models, these tools will only get better. Who knows what the future holds!