Remember when software was eating the world?

The trendy observation these days is thatartificial intelligence (AI)is eating software.

Even Google CEO Sundar Pichai has talked about software that automatically writes itself.

Developers: Meet your new AI intern

Traditionally, developers have written software as a series of hard-coded rules: If X happens then do Y.

The human instructs the machine, line by line.

Well just be finding data and feeding it into machine learning systems.

Article image

In this scenario, we can imagine the role of software engineer morphing into data curator or data enabler.

Whatever we call ourselves, well be people who are no longer writing code.

However, software engineering is not going away anytime soon.

Robot human hands touching

Even if a new role evolves be it Software 2.0 engineer, data scientist 2.0, etc.

there are ways in which this technology shift will empower the practitioner of Software 1.0.

How will machine learning shape software development?

Its a new world, sure, but were not planning to live in an episode of Black Mirror.

In fact, general office assistants are already scheduling your day and starting your conference calls.

Today, your phone automatically checks your spelling and suggests the next word.

When youre writing code, a similar tool highlights possible errors.

It’s free, every week, in your inbox.

For years, weve been using automated helpers to refactor and save time writing boilerplate code.

And were now welcoming the emergence of AI-driven assistants in more complex software development as well.

Essentially the machine writes the rest of the code for you, then you approve it.

Another area an AI assistant could help with is test-driven development.

That would be helpful.

Youd spend less time on implementation code and more time on understanding and solving business problems.

Lets imagine the marketing people go to the development team and say they want such and such functionality.

Rebuff, not replace

This raises the ultimate concern: will machines just replace software engineers altogether?

The reality is more likely that at best well get to that more than 90 percent competence.

But that still means failure 1 percent of the time, which results in unpredictability.

And that means you need a monitoring system to ensure that the code which is written actually works.

Google, for one, is using deep learning throughout its product suite.

But those systems are only as good as the training data.

Final thoughts

The reality is thatneural networks are not a silver bullet.

Rather, we need to design neural networks to work with other solutions.

Software development is a process of constant collaboration with other colleagues.

The more pairs you bring together, the more solutions you get.

With Software 2.0, were adding a new partner to help developers do their job better.

And thats good for everyone.

Like them onFacebookhere and follow them onTwitter.

Also tagged with