How Generative AI is Changing Software Development