Will we need software developers in the future?

We're now entering the age of artificial and augmented intelligence. Projects such as IBM's Watson are setting the foundations for a future where GPs, lawyers, accountants and even teachers may work hand-in-hand with intelligent expert systems.

These systems will have access to a vast body of knowledge. Couple them with natural language processing technology and it's easy to imagine a future where you'll have a conversation with an expert machine as opposed to an expert human.

But what does this mean for today's software developers? Can you see a future where intelligent software writes software?

Are we heading towards a future where the software industry itself is disrupted by AI?

Posted by Martin Leonard Cooper0 on 21st Dec 2016
Login to join the conversation

Vote cast

Strongly Agree : 0 %
Agree : 0 %
Disagree : 0 %
Strongly Disagree : 0 %

Comments (3)

Dave Shortstriders Donaghy

04 April 2017

I don't know the answer to the question "will we need software developers in the future?", since I don't know how we will even consider the term "software" in the future: will be draw pictures in crayon and have AI devices interpret those as problems and solve them? Will we still write COBOL?

I think we should rephrase the question: "will we need to change the skills that people have to be valuable creators of technological solutions?" In fact, we could shorthand that a little, and ask, "will the nature of engineering change?"

I think that with that rephrasing, the answer must be yes: since we've been able to identify human problems and form technological solutions, we have changed the way we provide solutions.

Brian Andrew Runciman

03 January 2017

Interesting idea. I can see how this could work when a system sees a specific short-term need - creating a patch automatically for example. But as software is produced with a goal in mind, we could even call it a purpose, wouldn't automatically writing creative require the automated system to understand the concept or 'purpose'? Or should we envisage an evolutionary model where an intelligent system writes almost at random and 'selects' useful features?

Christopher James Lawrence

02 January 2017

I guess this comes down to defining the starting point of writing software. We have had compilers for many years - a human writes the high level program and a piece of software translates it to executable code. I used to code in assembler with a one to one relationship with machine code, but even then it was processed by a piece of software to produce the executable. So the question we should be asking is can we move the start of automation further towards the statement of requirements.

I work for a telecommunications company managing software development by a supplier. Analysts working for me produce the Business Requirements Document (BRD) and then work with representatives of the supplier company to produce the Functional Requirements Specification (FRS) which is agreed by both parties. The FRS then feeds into detailed design and test case creation. Could the FRS be scanned by an AI system and it produce the detailed design. Possibly, but then I would still expect a technical architect to review that design before proceeding to coding, which as the design was largely produced by AI should be possible by AI, but I would want a walk-through by humans. Testing is already partially automated, but someone has to specify the new test cases.