Rafe Colburn posted some good thoughts about career planning
for programmers (like me), and whether to go broad or deep with your skillset. He says, "Aside from my specific knowledge of HTML, Perl, Java, SQL and other things like that, I have general knowledge of what makes sense for developing applications, how to get projects finished on time, and how to evaluate and make decisions on technology." For many jobs I've applied for, these general knowledge skills like application design and user experience design rarely come up. In fact, I've often had to fill out a grid of numbers: years of experience with given technologies. I imagine they take these grids and input them into a computer, calculating scores for all applicants. I know it's not that cut and dried in reality, but when programmers are hiring programmers it makes sense that they'd come up with an algorithm so they don't personally have to focus on the task. I wonder if there's a way to hack this standard hiring algorithm, and which method (breadth or depth) works best for scoring.
I'm at a similar decision point. I've always worked with Microsoft technologies: SQL Server, Visual Basic, IIS, ASP. Do I dive completely into .NET? Or do I widen my non-general skillset to include more open source technologies? Based on my experience with applying for jobs, I should stick with Microsoft so the numbers on my application can keep climbing. That's frustrating.