Remember when software was eating the world? The trendy observation these days is that artificial intelligence (AI) is eating software. Even Google CEO Sundar Pichai has talked about software that "automatically writes itself." And certainly if you consider software development to be little more than the creation of oftrepeated segments of code, then the rapid advances in AI would give software engineers pause.
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. That's Software 1.0. But Software 2.0 recognizes that--with advances in deep learning--we can build a neural network that learns which instructions or rules are needed for a desired outcome. The argument made by 2.0 proponents like Andrej Karpathy, director of AI at Tesla, is that we won't really write code anymore. We'll just be finding data and feeding it into machine learning systems. In this scenario, we can imagine the role of software engineer morphing into "data curator" or "data enabler." Whatever we call ourselves, we'll be people who are no longer writing code.
However, software engineering is not going away anytime soon. 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. In fact, it's not sure whether software engineering, in the near future at least, will be completely different from what we do now. Yes, we'll have help from deep learning neural network systems, but they'll help us do our current job better rather than replace us entirely.
How will machine learnUing shape software development?
It's a new world, sure, but we're 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. There are even Al-powered systems on the web that can generate a logo for your business and refine that logo based on your feedback.
Today, your phone automatically checks your spelling and suggests the next word. When you're writing code, a similar tool highlights possible errors. Someone who does pair programming for Pivotal, would be naturally drawn to think about Software 2.0's impact on the way they work. Considering the advances in machine learning and conversational interfaces, it's conceivable that a machine could one day be one half of a pair programming team.