IEEE Computer Society Real-World Software Engineering Problems: A Self-Study Guide for Today's Software Professional