Hi, I'm David Crawford.
« Home

Smite the sounding furrows

Software engineers can do anything we want. We command a high salary, flexibility at work, can freelance easily, and can start a small business with almost no up front cost. We’re not alone in this, but we’re on the high end or our ability to choose any detail of our lives.

Even if we can’t control the way we work, we don’t really have to work that much. If we haven’t locked ourselves into a mortgage, car payments, or taken on the wonderful but expensive task of raising a child, we can live very comfortably on a fraction of our income. According to glassdoor.com, the average salary for a software engineer in San Francisco is $90k, which we’ll say is $70k post tax. I’m currently living just outside the city on about $50k per year. So if you’re just an average software engineer, you can work one year and then take the next four and a half months off and do whatever you want with your time! If you take your $20k in savings and fly to Vietnam, you can probably live on it for a year. If you’re an above average engineer and make closer to 120-150k, you have even more freedom.

It’s easy to forget this. I try really hard not to. With all this freedom, I try to make sure that I make my life an amazing adventure. There’s no excuse to be bored or frustrated or trapped at work, at least not for more than a few months. I’m lucky to have started my career with an amazing job that made me excited to come to work every day. So I have a very low pain threshold when it comes to career, and I try to keep it that way. This doesn’t mean I jump from job to job. It means that if I’m not happy I notice and I act to correct it. Here’s one measure I use to determine if I’m doing the right kind of job: I see how sincere I can be when I say the phrase “this is my life’s work.” When I feel that I’m way off, I invoke “Ulysses” and move on:

How dull it is to pause, to make an end,
To rust unburnished, not to shine in use!
As though to breathe were life.

For me, discovering the kind of work I want to do has been a long process. It’s taken me four years and I’m probably about halfway there. And I think compared to others I’m moving quickly. Here are some of the things I’ve learned about what makes me happy in my job.


This is, I think, one of the easiest things to find in a job. If you’re trying to do anything well, it will be challenging. The only way to land in a job that’s not challenging is if the company you work for doesn’t value your department, and therefore won’t put effort into being good at it. This is why there’s such a substantial difference between working at a tech company and working in the tech department of a non-tech company. But mostly if you’re a software engineer and your work isn’t challenging, you’re not trying hard enough.


Working with great people is important, but I’ve learned that it’s not straightforward. A group of people is not necessarily a team, and if you don’t feel like a team then you’ll only be happy about working with great people during coffee breaks and after-work beers. Teams have a common purpose. It’s important for me to be working with smart and energetic people, towards a goal we all believe is important.


My most recent discovery about job satisfaction is how important it is that I love my customers. The end-goal of any work done in a company is making customers happy so they will pay you money. This means you’re going to be getting inside the head of your customers, learning how they think, how they work, what are their hopes and dreams. If you don’t like your customers, you will not like catering to their whims. Truly loving my customers will mean that I am inspired by the things they do with my products, or the way they react to them. Personally, this means that I want my products to help people create things. This was a big part of why I created Metrica, and it shapes the product direction substantially. I am looking for people who are doing cool things, and trying to help them do them better.

Lean Life

The Lean Startup movement is predicated on the fact that a new startup is an exercise in uncertainty. An individual life is much more complex and much less understood than a startup. I’ve often found myself paralyzed by options when I realize how open the world is in front of me. When I feel this way, I start moving in whatever direction seems most promising, and I quickly learn a lot more about my options. I’ll take the job interview, spend a few weeks in a new city, have a beer with a potential coworker, try starting a new project. Build, measure, learn. It applies just as much to discovering a career as to discovering a business model.

Come, my friends,
‘Tis not too late to seek a newer world.
Push off, and sitting well in order smite
The sounding furrows; for my purpose holds
To sail beyond the sunset, and the baths
Of all the western stars, until I die.