Instead of competing with humans, AI developers may attempt to use algorithms to augment programmers' work and make them more productive: in the software development context, we're clearly seeing AI both performing human tasks and augmenting programmers' work.
Based on our research, programmers spend 35% of their time on understanding code, 5% on writing code, 10% on other coding-related activities, and 50% on other non-coding activities — even with the advanced computers, we don't expect such tools to redefine the profession of a programmer any time soon.
Helping programmers perform small tasks more efficiently is a vast area for AI usage: AI can help to complete the code, to teach the user to utilize new features, and to search in the code and beyond.
Obstacles on the way to flawless AI include training data unavailability, resource requirements, and the interface between the AI and the user.
The companies working on software development tools are quickly developing the ability to productize AI-powered solutions for small tasks, so we expect more such solutions to emerge in the near future.