The Future of Software Development

With most modern web frameworks it is possible to develop simple CRUD applications without much effort. In doing so, we as developers can make use of code generation and scaffolding to develop handsome applications. Also, for people who are not so tech-savvy or simply like to use interfaces to assemble applications, there are already enough solutions on the market.

But what if we don't just want simple management of data, but need to implement complex logics?

Currently, in this case, a lot of code has to be written and tested. Faster feedback cycles allow us to correct wrong assumptions or misunderstandings faster, but still we are limited in our work. If we scale the team size, there is increased effort in communication and management of the teams. This is a problem that many companies face and will continue to face in the future.

But what could a solution to this look like?

Let's imagine that we could automate parts of the implementation of logic!

Even relatively simple AlphaGo-like AIs could quickly examine billions of possible complex architectures using a combination of evolutionary design, adaptive pattern matching, and growing libraries of established software building blocks. AIs may have the ability to learn from past and hypothetical failures: once an approach has a flaw or vulnerability, the system will then not try again down the road.

So what will the future look like?

I think the way we develop will change very quickly. We will no longer be poring over algorithms, finding optimizations, fixing bugs, and doing code reviews. Instead, we'll focus more and more on specifying the problem and letting the computer search the solution space.

First published on LinkedIn (https://www.linkedin.com/pulse/die-zukunft-der-softwareentwicklung-cubicl-gmbh/).