I still don’t really know what I want in terms of a job, a company, or coworkers. But I’m starting to get some good ideas (all of which are apt to change).

I like working on a team. Not a team where there’s 10 people and each one of them does some unique thing, but a team where it’s me and one or more others that all work together solving the same problem. I’ve recently started working closely with another engineer at work on some microcontroller code and it’s awesome to be able to troubleshoot, plan, implement, and code, together. We both have some similar skills, yet we both also have different skills. Putting us together makes us both more productive and produces better results.

I like the concept of a results driven method of evaluating employees. I’ve never worked somewhere where evaluations were completely based on results alone, but basing more than a tiny fraction of an evaluation on “butt in seat time” is not conducive to getting high quality results. It’s pretty good at building resentment, though.

I want to work on embedded or server side products. I like *nix. These all fit together nicely to solve problems.

I want to be less risk averse, less negative, and less pessimistic. I feel I’m risk averse, negative, and pessimistic because I’d rather reduce risk of failure rather than reduce other outcomes (cost, schedule, etc). Often, I’m the one that’s going to say, “Doing that is a bad idea because of risk X and risk X means possibly encountering problem Y.” If problem Y is quite bad, it’s going to convince me that risk X isn’t worth it. The downside of how I do this today is that I often don’t have good numbers to justify why I’m being risk averse, negative, and pessimistic. So really, either I want to be less of these things or simply learn how to come up with the numbers.

I want to work in an office with a door. I like being social, just not all the time, like when I’m trying to get things done. So far, the environments I’ve worked in, having headphones on doesn’t mean anything. Closing a door does. I’ve never worked somewhere with a door that closes but right now it’s after 9 pm and everyone in the house is asleep. I’m getting writing done uninterrupted (plus I just closed a github ticket, pushed a branch, and did some email).

I like older software that’s well documented, even if it’s slow and lacks features. For example, I’m hesitant about systemd and I enjoy running Debian stable. Yes, there’s things I can’t do with my older software, but the things I can do have been around long enough that when I run into issues I can find solutions quite quickly and get things done.

I don’t want to be the smartest person in the room or on the team. Give me a topic related to any job I’ve done and I can name you someone who knows more about that topic than I do. I want to work with those people, closely and on a regular basis. I want to suck up wisdom from them. I also don’t want to be the dumbest person in the room or on the team. Now, sometimes, I might be the smartest and sometimes I might be the dumbest, but I don’t want to be in either camp too often. I want a normal distribution for this, if that makes any sense.

I want to learn Python and get much better at programming in C (I’m maybe 5000 of the 10000 hours needed for mastery into learning C, I’m maybe 10 hours into Python). I’d bet 90% of the problems out there can be solved quite well with just Python or C. I’ve learned a little Ruby and I fail to see how it’s significantly different from Python. I’ve done some Java, C#, and C++ but I fail to see how any are significantly better than a well evaluated choice between Python or C. Sure, Python and C both have failings, but often those failings are small in comparison to the pros / successes.

I want to be stressed less. My job is my job, it needs to not impact my family life.

I’m not far from my goals, I’m continually moving closer to achieving them. I am however not yet to any of these fully. That’s why I want them.


17 April 2013