In a thread on Stack Overflow, a reader named Andrew finishing his undergrad degree asked:

I notice that the vast majority of companies I’m looking at are strictly Microsoft users, from windows to visual studio. Am I going to be at a disadvantage as most of my experience is unix/linux
development based?

My response included:

Whether or not “most jobs” are using MS technologies, would you WANT to work with MS technologies? If you went and boned up on your .NET and Visual C++ and had to use Windows all day, would that be the kind of job you wanted? If not, then it doesn’t matter if that’s what “most jobs” call for, because those aren’t the jobs for you.

I was taken to task by a reader named Ben Collins (not Ben Collins-Sussman of Google) who said:

I think this is stupendously bad advice. Of course you should bone up on Microsoft technologies. The chances of you making it through a 40-year career in technology without having to work with MS stuff is slim to none.

Ben’s right, you’re likely to have to use Microsoft technologies, if that’s how you want your career to take you. What I think we’re seeing here is the difference in viewpoints between someone like Ben who seems to think primarily in terms of maximum salary and maximum employability, and someone who thinks about the importance of loving what it is that you do for a job.
There’s nothing wrong with wanting to be employable. Nobody who knows Visual Studio or Java is going to have too much of a hard time finding jobs that need those skills. Then again, I flipped burgers at McDonald’s for three years, and McDonald’s is always looking for people, so I’m pretty employable there, too.
To those of us who look at our jobs as more than just a way to make money, it makes little sense to ask about what “most companies” do. We’re more concerned with the joy of working in our chosen part of the tech industry. I’d learn Visual C++ and try to find some joy in working in Windows if it was the only way to support my family, but that’s not the case.
To the fresh college graduates out there, I ask you to not put yourself in the situation where you’re concerned with what is going to give you the maximum salary, or the maximum number of potential job openings. Instead, look at what you want to do, what sparks the excitement in your heart. Optimize for the maximum amount of love for your job, especially as you’re just starting out.
For those grizzled veterans out there who slog through the trenches, working on projects that don’t bring them joy, I ask you to reconsider your career choices. Imagine you’re fresh out of school. What would you love to be doing? Figure out what that is, and work toward it, if only in small steps.
You spend more waking hours on your job than with your spouse. Optimize your career to bring you as much happiness as possible. Life is too short to work in a job you don’t love.