One of the most satisfying parts of being a software engineer is that the role can challenge you and change – without you having to switch jobs. There are always new languages to learn, platforms to understand, and business problems for technology to solve. Many...