Ninja, i think you have the right concept there. What you learn in school is only like the basic theory. In the real world, your end users/customers and business processes, compatibility in hardware and software, and other factors come into play and it is just a whole new playing field. If you are in programming, understanding logic is all you need everything else is from experience. Web design, you need creativities and vision (i think).