One of the key ingredients to software development is problem solving. Knowing all the technology buzzwords is great, but if you don't have problem solving skills it is a waste. Solving these problems is also what makes software development fun. At a recent Maker Faire, Adam Savage of MythBusters fame gave a great presentation on Problem Solving. It is an excellent view. He also mixes in some "behind the scenes" stories about his MythBuster experience as an added bonus.