Tuesday, April 7, 2015

What's important to me, career-wise

(Continuing on from "What's important to you, career-wise?", here's my personal list of top 5 needs from a job, ranked from most important to least)

1 - Interesting people

It's important to me to work with interesting people who are more experienced/skilled/intelligent than I am. As Chad Fowler said in The Passionate Programmer: Always be the worst guy in every band you’re in. - so you can learn. The people around you affect your performance. Choose your crowd wisely. It is NOT a good idea to surround yourself with people who think identically or have had the same life experiences. Just because everyone around you hates node.js doesn't mean there aren't good ideas in it, but if there's no one championing it then it's easy to get mired in your (mis-)conceptions. Different viewpoints can challenge your perceptions and make you grow. Learn from their experiences and challenge dogma wherever you go.
In the almost 6 yrs I've been here, there's only been one person I've disliked working with; that's almost unheard of. It lends credence to the idea that hiring decisions based on culture can result in a better working environment. Unfortunately, niceness doesn't help you grow. There are people here I would love to work on projects with, but the reality is that there are no projects big or complex enough to justify us working together. Those people are a scarce resource that gets spread out to make the most use of their time - 1/5

2 - Challenge

You grow from experience and from solving problems, not just putting in time. I think you can find something to challenge you in most projects/situations, whether that's solving scaling, latency, algorithm selection or just plain figuring out how to meet the business needs. But there's a corollary to that, it has to be something meaningful. Sure, "reduced latency from 1,023ms to 45ms" looks great on a resume, but if it's an operation that gets called once a day from a cron job, did you achieve anything? If you spent the last 6 months "configuring" a system owned by your parent company or fighting with byzantine build tools, but don't have any means to improve that process, did you grow?
I can't remember the last project that involved an actual technical challenge. A true craftsman doesn't blame their tools, but trying to build a skyscraper with a plastic hammer isn't a challenge, it's foolish. Most of the "challenges" here are self-inflicted. - 0/5

3 - Growth

I'm huge on growth and learning. This is third on my list but there are aspects of it in pretty much everything I choose to do (or not do). I attend a lot of conferences, I find it's a great way to keep up with the industry, see what's hot and upcoming and get new ideas or inspiration. I read a ton of books and articles. I also take advantage of MOOCs (Coursera/Udacity/etc) - I'm taking some courses on R right now. Elasticsearch? Docker? Kafka? TDD? Continuous delivery? Sign me up!! I'm happy learning new languages and being a polyglot (java/ruby/go/perl/whatever) programmer. It helps me to select the best language for the job at hand and team situation. That being said, there's a vast difference between HelloWorld and the invaluable experience of running something in production. If you don't have anywhere to apply all these ideas, concepts and languages to something real, you won't grow nearly as much.
Zappos funds one conference a year and lets you expense work-related books. 'Pursue growth and learning' is actually a core value. There's a quarterly hackathon to explore and try to solve any problem you want. Ultimately though, it boils down to "Do I have somewhere to apply what I'm learning?" and the answer has been almost uniformly no. All the time and effort I invest in outside learning barely offsets the complete lack of mental stimulation offered from the projects available. - 2/5

4 - Balance

Work hard, play hard. I love thinking about tough problems, and like the fable of Archimedes, having that Eureka moment. But those moments don't necessarily occur at work. They occur at the gym or lounging by the pool. They happen at a bar with friends or coworkers or on a trip to an exotic beach with crystal clear water. What's important is that I have the challenging problem to puzzle over in the first place. I don't enjoy purely remote work, I like being in contact with other human beings and coworkers. Some of the best times in my life have been during grueling projects with a small group of awesome people, doing something that mattered.
You definitely have the freedom to play hard here, and the freedom to joust at windmills if you choose. But work hard? Not doing something that matters. 2/5

5 - Money

Last on the list is salary, for a reason. This is more of an enabler than an end goal. As Henry David Thoreau said, Wealth is the ability to fully experience life. Once I have enough to live the way I want, and to do the things I want, then it stops being a motivating factor.
I feel more than fairly compensated for this market, which is all I ask. - 5/5

I heard the Arctic Monkeys playing 'U R Mine' on the way to work this morning:

And I go crazy cause here isn't where I wanna be
And satisfaction feels like a distant memory

No comments: