“AI assistants are already here, so work that before required 10 devs will require 9, then 8, and so on…” – is the answer of one of the Redditors at r/artificial
Indeed, there are AI models developed by OpenAI and DeepMind that are capable of coding in many languages. However, many would argue that the job of programmers is too complex and too versatile to let machines automate all of the tasks within software development. However, AI already takes part in software development in a form of automatic code writing assistants, automatic bug fixing, or project delivery estimation. Thanks to the gigantic amount of code available online via platforms like GitHub, researchers can develop Deep Learning models for writing code. Such AI solutions generate code based on the programming task description provided by a user:
- OpenAI Codex – A general-purpose programming model with natural language understanding which makes it capable of writing code based on problem description as well as explaining code in natural language. It’s proficient in more than a dozen programming languages, Codex can interpret simple commands in natural language and execute them on the user’s behalf.
- DeepMind AlphaCode – DL model trained on over 700 gigabytes of code from GitHub repositories and tuned by creators for understanding problem statements, test cases, and submissions – correct and incorrect – from coding contests. When AlhpaCode is provided with a programming challenge, it generates thousands of possible solutions and filters the most efficiently working ones. When tested while Google’s coding contest, it achieved better results than 46% of participants.
Taking this into the account, I believe that solutions like the two above are just the beginning of AI in programming and will evolve into systems capable of creating end-to-end code for users. It will drastically influence the labor market of programmers and their everyday tasks. Researchers and practitioners claim that the work of programmers does not only consists of writing code, but also understanding the needs of stakeholders and adjusting code to them, working iteratively, etc. — that’s why AI will not completely replace programmers, but boost their effectiveness and let focus on most “human” aspects of programming.
In my opinion, the development of such solutions will slowly decrease the need for programmers in companies while most of the repetitive code tasks will be automated. However, creativity and innovativeness will be even more valued in programmers and the ones able to prove these two traits will be even more demanded.