It's often forgot that it takes in-depth domain knowledge to build a good product. Many highly paid products require arcane knowledge about a niche.
Many software people are good generalists but lack domain knowledge. The good news is that it's not hard to learn domain knowledge. Comparing to dealing with complex abstract CS concepts, domain knowledge learning is often a cakewalk. I would encourage people to look into different non-CS areas from time to time, just to learn about their nuts and bolts.
Edit: I have great admiration for Patrick. I've followed him since the BOS days.
It's often forgot that it takes in-depth domain knowledge to build a good product. Many highly paid products require arcane knowledge about a niche.
Many software people are good generalists but lack domain knowledge. The good news is that it's not hard to learn domain knowledge. Comparing to dealing with complex abstract CS concepts, domain knowledge learning is often a cakewalk. I would encourage people to look into different non-CS areas from time to time, just to learn about their nuts and bolts.
Edit: I have great admiration for Patrick. I've followed him since the BOS days.