Dreaming the Same Dream

No job is perfect. That seems like an obvious thing to write. But if you read tech job postings, you’d believe that every job is one where you build a product that is dramatically changing the world, the work environment is better than all others and your coworkers are all smarter than everyone else (echoes of Lake Wobegon where all the children are above average). Oh, also they pay you better than everyone else and the stock might make you rich!

The reality is a lot of tech work is incremental change. You’ll be doing many small and sometimes boring things. Many products and business plans are awful. And no one talks honestly about culture or the people who support bad ones. But many tech jobs are good enough depending on who you are, when you’re looking, what you need and what you can tolerate. But if you can find one where you believe in the product it’s pretty great.

I was at Amazon for just over six years on three different teams. It was good for me, professionally and personally. I learned about scale, orchestration, software maintenance, working with people, coaching people, controlling my own behavior, being more deliberate and more. The last team I was on was especially great. My manager was awesome (and is - if you’re looking for a developer role and want to work at a big company, she’d be a great choice). She gave me space to learn and grow, both technically and professionally. The one downside of the role is that I was not incredibly enthusiastic about the team’s product. I loved its technical goals and even liked the product goals. But fundamentally “retail” has never been something that is that important to me.

That’s funny because the entire time I worked at Amazon, I worked in Retail, either services used to make the website run or actual frontend features as with my last team. But jobs compensate you with more than some product you’ll walk up hill barefoot in the snow to help build.

I realize to some this may sound completely uncontroversial and melodramatic. But to read discussions in tech circles we expect people to be completely devoted to a company’s product. In reality there are many compensations for a job and I’m not even talking about money yet! Companies with huge legacy, both in terms of software and products, are not always going to find people exactly excited about the full and complete “mission” of every team. For one, it’s hard for a candidate coming in to even understand what the job might be about. For another, it’s okay to not love every last thing about the job or the team’s goals or the org’s goals.

Let’s repeat that: it’s okay to not be 100% super excited, committed and believe in your job or the company’s product.

But I do recommend not hating the product and having other reasons that the job is good enough. It helps for getting up in the morning. You might even make a list of what’s important to you and arbitrarily rate what a job brings in those areas. A big company can compensate for a product you don’t love by having:

  • Money, benefits, duh.
  • Working hours or oncall responsibilities that fit your life right now.
  • A team you work with well.
  • A manager that supports your career goals.
  • The opportunity to learn how to solve problems at scale.
  • A larger internal technical community. You’re less “on your own”.
  • The ability to change teams when yours isn’t working out.

Obviously many of those a small company can offer. A startup might additionally offer a product that you are excited about such that you’ll compromise on some of those. When I started thinking about changing jobs and specifically Glowforge, I got excited about an actual product more than I’d ever been. I’ve been working professionally for over 15 years and this is the first place I’ve been really excited about the product. Not just technically interesting or a thing that I think is worth existing but actually something I want to see in the world. It’s a version 0.1 of the matter compiler from The Diamond Age or replicators from Star Trek. I get up in the morning many days and remind myself I’m literally helping to create science fiction.

When you join a company or any group endeavor, you’re fundamentally working together to build something bigger. Entrepreneurs (and artists and writers and so on) all start something new because they have a dream of something they want to exist in the world. When you then ask someone else to join your company, and especially when you’re selling a vision of changing the world, you’re asking them to dream your dream for a while. Let’s be honest about what that dream is and that maybe the parts that get you up in the morning aren’t always what gets everyone else up. So despite my raving about how awesome my job is now, I wish we were more honest that a lot of work, even in “tech”, is pretty routine. That’s okay. The “boring” stuff keeps society working and is worth doing too.