software developer books 2021