Switching Jobs

Over the past four years, I haven’t (ever) considered changing jobs. I’m still at my first job outside of college; my planning was constrained to one degree of freedom: “how many more years do I have to work at my current job, before retirement is feasible” rather than “what would be best for my career/sanity – and also lead to financial independence?” I earn quite a bit of money; I naively assumed that it was probably more than I would make elsewhere. Furthermore, I recognize that I have terrible interview skills; I don’t have a good memory for algorithms/data structures and my knowledge of languages is mostly restricted to a proprietary language where I work.

But things have changed, due to the following:

  • I’m increasingly unhappy at my job. I’m under a ton of stress, I’m working 10+ hours every day and 12+ hours two days per week. I’m no longer learning as much as I was a year or two ago, and although over the coming months I might pick up a little bit of java knowledge I’m certain that it’s not as much as I’d learn in a new job. And java is hardly the sexiest programming language! (Scala or Python look like fun).
  • I had a frank conversation after work, with a few co-workers who felt that staying at my job another year would hurt my career. They said “whatever raise you get this year is probably not going to be as good as switching jobs,” and “you’re reaching a point (4.5 years) where switching becomes increasingly difficult.” And I think they’re right.
  • I don’t really know my value on the market. Without interviewing, I can’t establish how much I’m “worth,” or understand whether I’m over/under paid.
  • At this point, I think I can find another job where I’m happier. Ideally, in such a job I would: be learning more broadly applicable and marketable skills, in a more socially useful profession, while working fewer hours and earning more money. Is it optimistic to assume all of the above would be true? Yeah, but I know jobs which fulfill these criteria are out there, so why not try to find them? I’d consider switching for the same salary if I knew the other three things would be fulfilled.
  • Although I think that it’s unlikely that I’d be laid off, my known weakness in interviewing is something I’d feel more comfortable remediating.
  • I’ve been programming professionally for 5 years but sadly, my knowledge is so narrow I can’t do cool projects I want to. I’m no longer thinking outside the box.

In the end, the fundamental problem is that I don’t have enough information: I don’t know my value on the market. I’m also intimidated by an obvious weakness: although I think I’m an excellent employee, my skillset is almost entirely disjoint from the skillset required to interview well.

So, the first thing I need to do is practice my interview skills, and go out and interview as much as possible. There’s no reason not to do so. I build up important skills, might get a good offer, and start to get a better intuition for whether I’m underpaid. My plan right now is to start working on code katas and little interview-style puzzles to learn a new language, and then start exploring other options in January/February.

Previous Post
Next Post
Leave a comment


  1. bigato

     /  October 11, 2012

    Start right away! You have nothing to loose. A decent interviewer would look not so much on how much you can remember, but rather on the kind of person you are and in your logical and learning skills. Programming is a field where you may find some interesting interviewers out there. If they ask too much bullshit or have unreal expectations, maybe you don’t want to work there after all. Start sparring first, do the katas after the second interview, but still keep interviewing.

    • m741

       /  October 11, 2012

      That’s good advice. If someone is asking strange API-related questions, that type of thing – that’s definitely a warning sign.

  2. LiquidSapphire

     /  October 11, 2012

    Definitely start now – just to get practice interviewing if for nothing else. Those opportunities are not going to be there 2-3 months from now when you are “ready” so not much to lose. Nothing like really going to interviews for practice; I found that pretty much everyone asks the same ol’ boring lame questions and so you can refine and practice your answers.

    • m741

       /  October 11, 2012

      I don’t have any firm opportunities at this point (well, one former co-worker asked if I was interested in switching to his new company), the 2-3 months timeline is so I can get the end-of-year bonus.

      • bigato

         /  October 11, 2012

        Listen to her, she knows what she’s talking about! Go for it for the practice, if nothing else.

  3. jennypenny

     /  October 20, 2012

    Contact a tech-oriented head hunter. They should be able to assess your market value and tell you what the current job trends are (especially language trends). Many techies don’t have great people skills so I wouldn’t worry about that too much. A good head hunter will be able to work with you and help you practice your interview skiils.

    • m741

       /  October 20, 2012

      I might well do that. I think I’ve actually got pretty good people skills – at least as far as people skills at work go. My weak point is that I don’t really have too much formal technical knowledge and my experience is limited to things that can’t be accurately assessed in a 1-2 hour interview. For instance, the one programming language I know really well is a language that is only used at my current company.

  4. Hi M471,

    I have feen following your progress on the ERE forum and I’m impressed what you did, especially at your age (when I was your age, I’m now 37, I was in 35.000 euro’s in debt on a college loan).

    Just like you I’m also a developer; mostly Java and sometimes a bit of Groovy/Scala. And perhaps I can give you some tips. If you really want to start to learn another language, you just need to start. I would really watch out with proprietary languages, even though it brought you a lot financially, it also makes you very vulnerable since it is hard to find a new job. Luckily you are young and don’t really depend on your job anymore.

    I know from experience that a lot of interesting companies also look at the Open Source projects you have been working on; so either have started yourself or just contributing to. Working on Open Source also is an excellent way to get on the radar of companies (a lot of open source projects are backed up by companies.. and when the need to scale up.. the first place to look is the list of committers). Also other companies look at the committers of Open Source projects. In such cases it isn’t that important how good your interviewing skills are since they already know your abilities. Another advantage is that you meet new it-professionals; increasing the opportunity to find interesting work.

    Also make sure you have an up to date linkedin page. Since that is another way people are found.

    If you really want to continue in software development, you could see it as a second life. You don’t need to be worried about financials and accept crummy jobs. And you are young enough to begin again. I lot of people would kill for such a future.


    • m741

       /  February 17, 2013

      Peter, thanks for the kind response. Never again will I work with proprietary languages. It’s particularly toxic for me as I don’t have other professional experience.

      As you say, open source is a great solution. I’d like to contribute to open source, and amateur open source projects are a decent way to build up experience in a language, as well.

      I’m optimistic about the future but taking it a day at a time.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: