Tag Archives: career

Uncategorized

Re: Do I Need To Learn Microsoft Technologies

A long time ago, in a galaxy far, far away (Stackoverflow.com, November 2008), a university junior posted this question:

Most jobs speak of C#, Visual C++, .NET, Java, etc etc Where as I am mainly using Java, C++, Perl, Python and programming to the standard Unix standards, would I be better off ditching Linux and spending my last year of University brushing up on Windows based technologies, languages and API’s, would this increase my chance of getting into the industry?

A fellow named Andy Lester responded with this:

I suspect that your “most jobs” observation is from looking in the wrong places.

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.

There are not hundreds of jobs out there available for you that are a good match for you, and for which you are a good match. Don’t worry about the broad playing field of the job market, but instead focus on the jobs that DO interest you.

I responded:

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. Of course, the real answer is…focus on what you’re learning in school first.

Now recently, I was busy doing something else and I had long forgotten all about this exchange, and Andy has replied back:

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.

He then spends the rest of his post regurgitating his original point: focus on the jobs that interest you.

Firstly, to Andy: I don’t think your point is a bad one, but I still think it was a bad answer to a 21-year-old kid trying to figure out how to make himself marketable.  Of course you should be brilliant at the things that interest you – but it’s also wise to be familiar with tools and techniques that don’t, because they may very well allow you to sustain a situation in which you are allowed to do things that interest you.

My college situation was very similar to the OP’s: I went to a good computer science school, but all the tools totally revolved around Java, C, and Unix.  I never learned any of the Win32 API, and only after my Junior year did I really get a chance to learn anything about Microsoft developer technologies.  That was a huge deal.  It helped broaden my horizons a bit, even if my first job out of school turned out to be a realtime embedded systems job.  But you know what?  After a few years I decided that I wasn’t terribly interested in what I was doing at that job any more, so because I was familiar with tools that I didn’t typically use, I had the flexibility to quit that job and find another one pretty quickly.

Another reason why it would have been smart for the OP to bone up a bit on .NET development or the Windows APIs is simply that he may not really know what he is interested in.  If all you’ve ever done is Java on Linux, how could you?  It could also be that what he’s really interested in is distributed algorithms (or any technology-agnostic application domain), in which case the particular platform or toolchain involved is immaterial.  If that were the case, then it’s a no-brainer: get familiar with new stuff before you graduate, and you’ll be more attractive to potential employers.

So, simply put: my point wasn’t that you shouldn’t pursue the things that interest you, but that it’s wise (particularly for a new grad) to round out your skill set to increase the odds that you’ll get to do the things that interest you.

Just ask a Lisp programmer.

Uncategorized

My Hiatus

Dear readers (all none of you), I’ve been away from my blog for a while now because of life circumstances that required my attention to be invested elsewhere. Hopefully, I will now be able to post something on a semi-regular basis. To explain somewhat:

I worked at a rather large defense contractor as a software engineer. I shan’t mention the name for a number of reasons; one being for my own protection; another being to make at least a nominal effort to not burn bridges.

The work was mostly rewarding. The technology there is quite interesting; in it is an intersection between technology that the commercial sector left behind, technology they’ll never have (with a few exceptions, like some of the more interesting telecoms). Even when compared to the telecoms, there is a segment of the tech there that will never see the light of day. As you might expect, there are both frustrations and excitement involved. For the second half of my tenure there, I began to be seriously frustrated with the corporate culture there; part of it was simply the reality of working for a giant company, and part of it was simply the reality of working for a defense contractor (which makes it like working for two giant companies simultaneously). But there was a third major part of it that was really starting to bother me: I was never going to be deeply involved in the essential business there, and thus my ability to do things I want to do in my career would be artificially limited. That company was a systems integrator, not a software company. To be sure, there were lots of interesting software projects, but that wasn’t the company’s essential business; more like a value-added service that went along with the main business.

There were other secondary issues as well. Most of that didn’t have to do with other people, except as it related to the environment and corporate culture. There were financial incentives to leave as well.

So I stuck to my work, and didn’t talk about leaving and kept it a secret that I was looking. I wasn’t looking hard, though. I was passively observing the local tech market, looking for a landing pad. I interviewed a couple of times, including once with a premier Valley firm. Ultimately though, I decided I didn’t want to become a Californicator. There were a couple of potential openings that I found through personal contacts, including one with my brother at his trading firm in New York. I pursued that option for a couple months and had it all settled out, and the credit market problems ended up closing that door for me. I went back to my contacts again, and it turned out that the timing was just right for me to join up with a small .NET/SharePoint consulting firm in Dallas, called Cogent, with whom I now work.

One of the benefits of working for Cogent is that they encourage the developers to write blogs and articles, because it increases their exposure, so I hope to be able to post at least a few times a month on topics of interest to me.