Hide-a-Geek Desk | Flickr - Photo Sharing!

I have to pay the bills to be able to pursue what I like, so I work. Preferably I like to work at a place where I actually like working. This is taken from my LinkedIn profile, it’s there too. But it can’ t hurt to post it here as well.

Imagine, for a moment, that you could create your own job with ideal conditions for you to work in. What would it be? This question I get asked sometimes during job interviews. My answer is usually the same, but I thought it would be worthwhile to share this and expound on it a bit. This way I could also elaborate on why this would be ideal for me, and hopefully, some enterprising person has this exact job for me (unlikely, but I like to be surprised).

I will start with soundbite-like sentences and I will elaborate on these. First, a little background on myself and how I like to work. First of all, I am a creative and curious person, and this has been the greatest contributing factor in myself being quite a generalist when it comes to skills. When someone asks me if I know anything about a certain thing (be it operating systems, technology, products, protocol, APIs, frameworks or what have you) I haven’t encountered before, I usually respond with “not yet”. If it tickles a certain fancy, I will dive into it in my free time. This also makes my work seem chaotic, but there is a certain method to my madness. When I have to come from an unknown angle, the work takes longer, but I will learn a lot in the process. This enriches my tool chest of tricks I can later employ. Needless to say, I have built up quite a war chest of knowledge that way in my career.

So, what would my ideal work environment look like? Well, the job itself would be a combination of system administration, engineering, slacking and playing with new technology (preferably open source). Inspiration was gleaned from the things I liked when I worked at several companies. More after the jump.

No time tracking, just deadlines, projects and day-to-day things.

I touched on this before in another blog post here on LinkedIn. The short version is that I have a big disdain for having to account for every hour that I work. Goal oriented work is much more suitable for me, since I can tack on a flexible deadline and work towards that. Keeping track of progress can be done with agile methods and ticketing.

Flexible hours and working from home (or anywhere else)

Sometimes I just need a change of scenery. Or I need to walk away for a bit for a solution to mature. I would like it very much if I could come and go as I liked. If a meeting is needed it can be scheduled in a calendar and I can just show up. I would probably be in the office the most (since I am a people person), but sometimes I do need to escape the office for a bit to be able to focus on something. I can handle hectic environments and pressure, but being able to tap out for a bit would be better for my health and sanity.

Good management.

I wrote a post about this. Short version is that I would like to work with managers that work with me, and not against me. I don’t want to hear that I can’t do something, I would rather have that a manager asked “ok, why would you want this (justification), how would you do this (method), and what would you need (resources)?”, and that we would work out the feasibility together with some other colleagues, instead of getting an outright “no”. I can take no for an answer, but I would also like to know why. “This is not the way we usually do things” is a bad answer.

Constant (honest!) feedback and colleagues with thick skin.

I love feedback. The more I get, the better. And it would be nice if it were honest too. If I don’t get informed that I am doing something wrong, I won’t know and I will assume that all is okay. I am a bit autistic in that regard. I hate ambiguity. Don’t hint or infer, just outright say it. I have thick skin and I am almost impossible to offend, so out with it.

Also, I can be quite blunt and direct. It’s never personal, but somethings things can come out of my mouth that will upset people of a political correct persuasion. Colleagues with thick skin would mean I won’t have to mince words and tiptoe around someone’s feelings. The last thing I would want to hear would be “You can’t say that!”. I can, and I will. If I expect my coworkers to be able to dish out criticism, I would expect that they can take it as well.

Small teams, flat organisation

I like working with a small group of people and preferably in the same office. This keeps communication lines short and the team can move quickly. Also, the flatter the organisation, the better. I don’t particularly like ivory towers with unreachable upper management. Open door policy everywhere, please. Oh, and please knock before you shamble in.

Freedom to slack, freedom to hack, freedom to fail.

You could say slacking is bad, but actually it isn’t. Sometimes I need to unwind and just do something else. Or I am futzing around with some technology or code that is unrelated to my work. Or I am taking apart some new gadget that I acquired. If something urgent needs to be done, you can always interrupt me and I will context switch.

Making mistakes should also never be punished (the failure itself is punishment enough). Sucking at something is how you grow. One always sucks at first, and then you get better. Being allowed to suck for a time should not be a problem. Also, nobody is on their peak all the time. Fuck up, clean up the mess and learn.

Minimal meetings, minimal interruptions

The less pointless meetings, the better. I’m not a fan of meetings. If I must have them, I prefer them to be as short as possible. At one place where I worked as my short stint as a manager, I used to have the “30 second rule”. If you could explain to me in clear language and without hampering, pausing and uhh-sounds in 30 seconds why I needed to attend, I would be there. Otherwise I have better and more useful things to do, send me the minutes via e-mail.

Getting interrupted and having to context switch is also something I would like to avoid as much as possible. Nothing is more frustrating as getting back into the flow of things when you just had to drop everything to do something completely unrelated. I sometimes have to maintain a lot of state in my head when I am building something, and having to swap that out for something else is very counterproductive. I prefer not to multitask, because I know I am not good at that. I tend to serialize my tasks so I can work on them in sequence. Any disruption from this sequence will take me time to reorder my queue.

In summary

I know the above sounds very utopic, but hey, it can’t hurt to get it out there. If you have a position that entails the above, I would be very interested in working for you. 🙂