I've always been a problem solver and a thinker. When I discovered software engineering, it was a perfect fit. I could learn a new language, learn about how and why computers work the way they do, and I could change it, fix it, and improve it. Every time I learn a new tool, pattern or skill, I can't wait to find the perfect project to use it. However, while writing great code is a skill, designing great software is a skill-set.