AI and the future of software engineering