A New Definition of Work Ethic

When I was in college I was proud of how hard I worked.

I started at 6 AM just as the coffeeshop opened, spending most of the day studying, then attending class before working a part-time job until late at night. People told me I had a great “work ethic” when I got into the workforce, which I took as a compliment. In hindsight, what they meant was “that new person is here a lot and looks busy as hell”. In school when I was told I had a good work ethic it simply meant that I studied for long hours in the library and took a long time making my papers just so.

Now I am a professional “knowledge worker” in software development, a field in which you can work hard for 10 hours and then figure out a better solution ten minutes after waking up from a nap. Working as a manager is similar: not doing something smart now can cause months of work later. The rules have changed: how I work matters more now than how much I work. What matters is getting the right answers, not the total of questions answered.

Working long hours is not always a bad sign, earlier in your career it can be a great boost to spend extra time learning and building professional experiences. And when you are starting something you have to work harder to build momentum.

But I don’t want to work with people that will burn themselves out or paint themselves into corner after corner by just grinding away without changing tactics. Not everybody feels this way. I used to work with someone who asked this question near the end of every job interview:

If you were asked to estimate some work and you concluded that it would take between a week and two weeks, and were then told it needed to be done three days from now or the world would end, what would you do?

The first time I heard it I remember thinking that it probably created the impression that they were interviewing at a company that required long hours. The tone of the question, to me, sounded like “how many punches to the face can you take?”. But once I started hearing the answers I realized that you can learn a lot by how people respond to this question. It is an unexpected maturity reading.

I’ve heard the standard not great answers:

I would brew some coffee and just work until it was done. I once worked for 26 hours in a row.

I would get it done no matter what or who stood in my way, including you.

No matter what, I would get the job done – you can count on me.

I would bring my sleeping bag to work, it is always in my car for this reason.

Here are some better answers:

I would ask what was three days away – what is the driver of the deadline?

I would see if we could hire people – my brother in law might be able to help, he is a good man.

I would ask why I was asked to estimate the work if there was a hard deadline that had to be met.

I would sit down with the requestor and brainstorm ideas for how to speed up the effort by cutting out inessential work.

I would sit down with the customer and make sure I understood the problem they were trying to solve – maybe I had estimated a solution to the wrong problem.

I’d let them get away with that once, and then avoid that manager if possible, especially late in the week.

I’d probably ragequit.

If we couldn’t solve it, and it was a real do-or-die situation, I would try my best to get it done within reason, and then in the post-mortem discuss how we got into this situation. If the pattern continued I’d keep pushing for the team to improve, but if I found it was just a cultural issue in which every deadline had extra false pressure I’d have to reassess whether this company was the best place for me.

My version of this question is basically: Do you default to thinking first then working or working first then thinking? Do you understand the downsides of just working a lot of hours under pressure?

When I hear the term work ethic now it means something completely different:

  • When they show up to work, they will show up as a professional ready to work:
    • Well fed
    • Caught up on sleep
    • Excited about their work
  • They will take the right amount of time to figure out what needs to be done; they will ask a lot of questions to understand the proper context where the work exists so they can make smart micro-decisions.
  • Once their path is agreed upon, they will work quickly and efficiently to complete the work, communicating clearly and honestly along the way about how it is progressing
  • After the work is done, they will seek feedback and provide honest and tough feedback on the process itself with the aim of making everything easier the next time.

Work ethic is much more results-focused in my mind now, and means working smart and not just working hard. It speaks to long-term efficiency and effectiveness and not to anything else like how-much-you-want-it and how-much-you-will-give-up. You care enough about the work to give some of your best energy to it, want to get better at it, care about waste during it, work hard when required, and think-then-work smart by default.

I’m writing a book about successfully working from home; click here if you want to know when it is complete.

Bring Your Own Team

Now here is an interesting idea: front-loading an aquihire by hiring a functioning team rather that a single person. As many of us know developers travel in packs anyway (I have worked with many former colleagues at new places) so bringing on a pre-existing team is an interesting idea.

Some immediate thoughts:

  • Developers might travel in packs, but it is usually over time and not all at once.  If you imagine an entire team leaving a company this seems very disruptive; the entire idea makes more sense for people that have shifted to consulting but tend to still work with a core group.
  • Navigating the waters of interviewing people individually vs. as a group: do you do traditional “tell me about your resume” interviews (ugh) or have them do a pilot project as a team?
  • What do you do when you like half of the team? Once it is time to make the hire / no-hire you might find that one person doesn’t fit your expectations but is crucial to the overall team’s output.
  • On that subject the post mentions engineering being the main focus, but what non-code-writing roles will they end up hiring for?  Would the person to lead the team be a pre-existing Stripe team member?
  • Hiring an entire team means you could need work carved out for them already (this is hard apart from greenfield projects)
  • Maintaining your culture would be harder as they would have a stronger pull towards whatever team culture they have already built.

Interesting idea; and some interesting feedback on the Hacker New comments.