Making today the software of tomorrow