It's easy to forget sometimes, but the world relies on great software. Software operates the cars we drive, the planes in which we fly, the cell phones we can't live without, and the tools we use every day to get our jobs done. Software is everywhere. As a software professional, you know all too well that software development isn't easy. A software product is never completed. There's always an opportunity to improve functionality and there's no shortage of challenges to overcome along the way.