What do you want?

November 6, 2009

I was asked today what I wanted in a job.

It was surprisingly difficult to answer.

I like achievable challenges. That’s obvious. But—getting some CSS to display just right on Internet Explorer 6 is an achievable challenge, but it’s not work I’ll enjoy. Crushing a hard bug is fun, but debugging code that should never have made it through review is not. Writing efficient code is fun. Dealing with low-level memory management, not-so-much. Type errors in loosely typed languages feel preventable. Not fun. Designing a good API: Fun. Dealing with legacy constraints: Not fun.

These days it’s popular to filter software engineers: Front-end or back-end? Applications or systems?

But this isn’t a key distinction for me. It doesn’t capture the essence of what I care about. I could be happy working on front-end or back-end code. I could be unhappy working on front-end or back-end code.

Now, moments after my interview ended, I’ve managed to figure out the answer…

Accidental complexity: Not fun. Intrinsic complexity: Fun.

Advertisements

4 Responses to “What do you want?”

  1. Michael G...y Says:

    (this is not well-thought out)

    I think this is clearly about right as far as what people (well, CS people, at least) want from their jobs, but there’s a further distinction that maybe needs to be made.

    Crossword puzzles, for example, are inherently complex (crossword puzzles _could_ be accidentally complex if they were randomly generated somehow, but they aren’t; or imagine some interactive game), but most people probably wouldn’t want to solve crossword puzzles professionally.

    (Imagine if solving crossword puzzles would suck CO2 out of the atmosphere; the job doesn’t get _that_ much more appealing, I think)


  2. Hey Aran,

    Nice post.

    Whenever I think about this sort of thing I usually end up thinking about the people involved, which makes me wonder if I’m in the right field 🙂

    I’ve found that the coding work tends to be similar where I’ve been (some jobs involving more refactoring of other’s code than others), but when it’s come down to it, it was the co-workers, community developers, and the customers that mattered the most. If those are great, then everything’s great. If not, then life sucks.

    Intrinsic complexity sure is good though.

  3. Ian Says:

    I think it is also about a number of other important factors I’ve either seen myself or seen friends/family suffer through:
    – the culture of the organization – some are very supportive, others not so much so
    – management and management style – I have seen some great workers clash with their manager(s)
    – team and team dynamics (although culture plays a big role in this too)
    – personal attitude

    In the end, for me at least, the work has been what you make of it … it has ups and downs, fun times and not so fun times, challenging times and boring times. So long as you are given some say on what you get to do (either input into the project design, implementation, etc), it is usually pretty good.

  4. Robert Says:

    I like your post, Aran. As others have pointed out, accidental vs intrinsic complexity is only one thing out of a couple that matter, but you have described this one thing pretty well. And this distinction might be more important to you than others… which I think is consistent with you being a grad student. 😉


Comments are closed.

%d bloggers like this: