Technology, careers, life and being happy

Do I need to learn Microsoft technologies?

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.

17 Comments

Terrible advice. People have bills to pay, families they need to take care of, and retirement to think about. This whole “I gotta love my job attitude” is unrealistic and selfish. Everybody has to pay their dues. If learning an unexciting technology or one that you aren’t particularly fond of makes you more marketable, then you should do it. The last thing I want to hear is a bunch of selfish unemployed schmucks complain that we don’t have socialized health care because they’re too picky to get a job. I bust my ass, pay my dues, and will not subsidize your selfishness. When you are first starting out, you are going to do crap work. If you work hard, eventually you’ll get to a much happier place. This sense of entitlement that people have is sickening, especially considering how relatively luxurious these jobs are in comparison to the rest of the world. You don’t just “get” a job you love, you have to EARN IT.

It greatly depends on your field.
For certain careers yes; for most, no.
Like many job questions, the best resource is the employers.
I have a job search feed that sends me about 10 jobs in my field per day, not because I’m looking for a job (mine is awesome) but because my field changes so fast I need to know what knowledge and experience I need to acquire to stay employable.
My advise for people looking to change careers or start their first one is the same. Read the ads for a job you would like, and see if you have the knowledge and related experience they are looking for.
You can even go on some interviews for purely reconnaissance purposes to get a better feel for what people are looking for.
All pundit opinions are only that, the employers have the answers you’re looking for…

For me it is exactly about the amount of joy I get out of my job and I’d accept a lower salary right away if I could work on something more fun, something with more new and interesting stuff to learn – as long as I can cover my bills, that’s right. But I’d try to cut my expenses and get a more enjoyable job before I work for 40y on something I really don’t like.
And you can’t get really good in fields you’re not interested in. So if I’m into Linux device driver development, I’d better take a job where I can work on that instead of building Windows GUI apps. Even if they pay more.

@brian,
I’m sorry you worked so hard at something you didn’t like, but just because you did it doesn’t mean that’s the advice that we should be giving the next generation. When I was coming out of college applying for my first job I had a couple of offers. Job A paid better than job B but job B was in something I was more interested in. I almost took A until my dad gave me advice to do what would make me the happiest, so I took B. I’m so thankful I did.
Now it seems that for some reason you equate people being happy and satisfied with laziness. I’m not sure why because that wasn’t the advice that Andy was giving. His advice was to work at a job you like. Not be lazy doing nothing (which never leads to happiness anyway).

I’m going to agree with Andy on this for sure, for all career paths. Period. You have the divine right of self-determination. You picked your degree, didn’t you, why can’t you also work toward your niche within career? Your career choices are certainly influenced by the markets and you should take them into consideration along with your capabilities and what you desire to do. Ultimately, it is up to you to do whatever you need to secure a job and take care of your needs.
That said, there’s no reason, even in this market, that you have no choices and have to learn the most popular technologies to succeed. I don’t know very much at all about Microsoft products and I’m doing pretty well for myself. I pay my bills and I’m currently doing better today than last year and the year before that despite problems in the economy.
I don’t see any point where Andy suggested that loving your job was mandatory. I think he said, “Life is too short to work in a job you don’t love.” That means (to me) you work toward a job you love. Obviously, you can’t just seize it. Besides, this is ancient wisdom. I believe old King Solomon put it “There is nothing better for a person than that he should eat and drink and find enjoyment in his work.”
You should have to earn the job you want, but that starts with focusing on becoming good at the thing you want to do within your career. That may mean learning some technologies you don’t care for on the way, but it doesn’t mean you have to focus extensively on those things you don’t want to do.

I think this is bad advice. I might like kayaking much more than driving a car. Elegant, quiet, inspiring. But I better know how to drive a smelly old car if I want to be able to take care of day-to-day business.
Likewise with MS technologies. You might focus my career on linux/perl/java/ruby, but if you don’t know how to deal with Outlook or Word you’re going to end up struggling over day-to-day housekeeping tasks that will end up detracting from your enjoyment of work. Like it or not, corporations run their infrastructures on MS tech.

Its hard to give a decent answer to this kind of question without knowing what kind of work is being applied for. I started out on ms tech doing asp classic for about 2 years. Since then I havent used Microsoft technologies much at all, and those I was lumped with I learned as I went, past experience was not a problem. In the last 4 years I have used absolutely none, apart from website testing under i.e. That said I am doing web development, primarily working with small start ups, thats a very unix world from my experience, I rarely come accross a company with any kind of significant MS tech in that world. On the other hand, I am sure there are many areas in the Industry where the reverse is true. That said, if you like working with something, and you become good at it, its not that hard to find well paying work. I have been working exclusively with python for the last 3 years, and have had no problem finding work.

Wow. Just: Wow.
While corporate America may “run their infrastructure on MS tech” — most seem to, but some don’t — that doesn’t mean that you have to use it.
For example, I’ve never used Visual Studio, only touched Java a little, and have done pretty well with a career that is a good mix of System Administration and Programming. There are even corporations (like Google) where someone with my skill-set would fit perfectly.
But most places that need my skill-set are not larger corporations. If you need a SharePoint server maintained, I’m not your guy. However, in the smaller companies where I tend to thrive, I’ve helped produce Open Source products, set up servers for custom search engines, and customize software like KnowledgeTree for governments. This might not be *your* dream job, but I love it.
I didn’t get this job by worrying about learning Microsoft technology. Sure, I can fill out an expense report in Excel, but that isn’t my core skill-set. I got here (doing something I love) by looking for work in the place I want to be, doing the things I want to do.
Each job I took was a step closer to that goal. Even if it meant a pay-cut (some pretty substantial).
But I understand that some people are far more risk-averse than me.
So look at your own requirements: do you want job stability? Choose Microsoft tech and go work for some in-house development team writing accounting apps. Or is what you do more important than stability? Then follow your dream.
There isn’t a one-size-fits-all solution. You have to figure out what you want. And for some people, that may take a few years.

The whole blog post boils down to “You don’t need to learn Microsoft technologies because you could get a lower paying job doing something else.” Well no shit! This isn’t advice, it’s common knowledge. I doubt the question would have been asked in the first place if they knew they’d be offered such a cliche response. And to be honest, it’s not the technology that makes the work boring or unbearable (unless you are working with something antiquated), it’s *what* you’re working on. You should never make yourself *less* marketable for any reason, whatsoever. And I’m not sure exactly what all “Microsoft Technology” encapsulates, although I assume you would be referring to .NET. As a CS undergrad, I would assume you have a solid grasp of Object-Oriented design at which point learning “Microsoft Technologies” would be largely trivial and could be done on the fly. Sorry my post is so inflammatory, but I get sick of rosy “advice” like this. The best, fastest and most effective way to get where you want in life is to bust your ass and make it happen, even if it means you have to do things you don’t like along the way. In a bit of a paradox, it’s those who think they will get what they want by just sitting around and waiting for it to fall in their lap are the ones who spend their whole lives doing something that makes them miserable.

Woah there…
A embedded systems programmer will make much more then your average MS admin, and almost certainly not have to deal with MS technologies.
There are just as many if not more non-MS related web programming gigs out there.
Yes, if you want to do desktop or admin work for most companies you need to know MS.
There are many niches out there still outside of MS’s clutches however, and many of them pay better then the MS world.

Incredibly stupid. My favorite job? Writing programs that please only me with no employer requesting that I work towards their goals. Salary? $0. Your advice is to take this job. Brilliant.
You shouldn’t settle for a job with a salary that will make your life miserable any more than you should settle for a one that will make your occupation miserable. It’s not rocket science – out of all the jobs that have a salary that will get you by with the occasional nice extravagance, pick the one you like the most. I would far rather work on C# in VS, unlike the snide blogger, but if you have a different idea, by all means go that route.
Regardless, learn all you can about whatever you happen to enjoy and that makes your life worthwhile. Regardless of all the techno-bigots out there, there are really great and rewarding careers no matter what platform you’re working on – Mac, PC or *nix. Anyone who really thinks that every Visual Studio programmer is an oppressed lackey who is only chasing the almighty $ while every mac programmer is a sandal wearing hippy blissed out as he pursues his own personal life plan is not somebody worth listening to. That includes the original blogger.

I have to agree with Andy. Choosing a job or career is about making compromises. In addition to choice of technologies, you will have to make many other choices: which area of the country? travel? startup or established company? commuting factors (time, highway vs city driving, work from home)? etc, etc.
Andy’s and my recommendation is to pay special attention to picking technologies and jobs you enjoy. We in the tech industry are blessed in this economic climate to be able to not have to compromise on technologies in order to find a well-paying job in the location of our choice. Other industries are not nearly so lucky. If you don’t know or don’t have a preference, then try different things to find what you like. But if you have a clear preference, then there’s no need to compromise in this area.

I don’t see that Microsoft vs. anything else is the issue. Chasing money out of fear vs. living a life is closer to the issue. Whenever someone starts ranting and foaming at the mouth you know you’ve got a problem. Let’s back off.
One rule everyone forgets is that there is no profit in life. Ever, for anyone, anywhere. There is no such thing as being a success. You can be successful at a thing, or not, and you are the only one who can make that decision, but in the end everything you do and are will vanish. Cemeteries are full of forgotten, indispensable people.
It seems that the best thing to do is what is meaningful. Whatever that is. I worked for many years where Microsoft was the only game, simply because no one could be bothered to think. Computing = Microsoft is easy. No one could be fired for choosing Microsoft. So that was it. Results were poor. People were unskilled and didn’t care. Projects failed consistently. Not because of the technology but because no one wanted to solve problems.
In the town where I live there is a man who makes knives. He has more work than he can handle. People pay him up to $2000 a piece for his knives. He doesn’t use software. I met someone who stopped being a school teacher and now cleans houses. She has more clients than she can handle. She doesn’t use software. She doesn’t care. She loves her life.
There are many situations like this. Life does not begin or end with software or career paths. Bells do not ring and lights do not flash when you get it right because there is no such thing as right. Do what suits you. Or not, if that suits you. Your choice.
You can get mad, get even, or get what you want. All of them work. But whatever you do, remember that you have only a few years to do it and you can live well or not, but then it’s over.

“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.”

How insulting. So you’re comparing working as a MS tech to being no better than a burger flipper? Wow what a snob. I bet you have a full suite of overpriced Apple gadgets to go with that 90′s attitude or have some self satisfied smug pride that you don’t use any MS products – big deal.

I work as a cross platform developer/engineer. Probably 70% of my time is spent as a MS developer/engineer and I love the work that I do (on both MS and Linux) with both commercial and f/oss tooling.

Your book certainly won’t be added to my reading list just for wringing out the same tired old platform war crap.

I bet you’re one of these trendy open source types that bang on about software development being a “craft” as well.

Man, those insanely MS-motivated people still exists? Okay, you got a lot of MS infrastructure on the world, but are you all living in the same world as i?! Aren’t you all seeing the uprise of mobile technology, and cross-platform?!

I’m not at all saying MS programming and burger flipping are the same because they both suck.

However, I AM saying that MS programming and burger flipping are the same to my employment situation, because both are jobs that are always in high demand, and because I am interested in doing neither.

The key to the whole article is that there is more to one’s work life than being employable. If you are employable, but your employability is based on doing something you don’t want to do, then what good is it?

I suspect that the comment that I “bang on about software development being a craft” is supposed to be an insult, but I can’t figure why anyone would take it as one.