Document the Difference

There are a bunch of ways to describe the quality of a product you want to sell; here's three of them.

  1. Are most of the engineers who worked on it proud of their work?
  2. Are people likely to pay for it?
  3. Are people who paid for it likely to recommend it to others?
If you can get the last one, you're golden; you have a product that virally markets itself.  If you've got a product that everyone wants to pay money for, you've got enough popularity and resources to pay for growth, and it doesn't get much better than that.

But I'd argue these three are a hierarchy; you can't have one, sustainably, without accomplishing the others before it.  If people don't use your product, you're not going to get them to recommend it.  And if your engineers aren't proud of the work... that's a bad, bad sign, and unless you know all the reasons, it's dangerous to move forward blindly.

If your engineers aren't proud of their work, they won't work as hard, they won't work at the same quality, and they'll leave the team sooner instead of later, all other things equal.  If your product has any complexity - almost all do! - higher-than-normal attrition of engineers is just about the worst thing you can have happen; after long enough on any product, engineers have knowledge in their heads that's more costly to replace than their actual paychecks.

Most of the reasons an engineer lacks pride in their work fall into:

  1. They don't really understand the product.  ("Who buys this?  Reality show contestants?")
  2. They don't think the product is good for the users.  ("This is a hot mess, and I don't want my name on it.")
  3. They're afraid of the technical debt that was accrued.  (It's hard to fix bugs, it's hard to add functionality, and/or it's hard to scale.)
Those are things any lead can fix... if they know which one's the problem.  

For the first, there's a reason you built the thing; someone understands the product.  Having them communicate why this is a good idea is a great plan, on day one, and anyone new entering the group needs to hear it as well.  That said, this isn't usually the failure, as they wouldn't have *joined* the team if they thought this was the case.  For the latter two?  There's a common strategy that can work here.  

Document the difference, and have an open and funded plan for going from here to there.  

If an engineer feels the product isn't good for the users, ask them to write out what changes would be needed to get to the best possible point; ask them what the minimum number of changes would be to get to a point where the product would be salable.  Without saying the words, ask them to be the product manager, and ask them to define the milestones for success.  

If an engineer is afraid of the technical debt that was accrued, ask them to write out what changes need to be taken on and accomplished to reduce that debt to healthy levels.

Take either or both lists, prioritize them, and build a plan forward.  Set honest expectations on the plan: it will be staffed, the staffing will not be arbitrarily removed, and people staffed to it can be rewarded for strong work.  Also set the expectation that the lowest priorities may *never* be started; other high-priority work will always come up, and it's usually more important to address that than it is to address the bottom-of-the-bucket in technical debt.  

The team should be able to see the plan forward; which pieces of debt get addressed in which order.  They should be able to see the commitment by management; that fixing the debt has some (small) amount of protected staffing, so that it's always getting better, albeit slowly.  Finally, they should see that people making strong contributions there are rewarded similarly to people making strong contributions elsewhere; paying down debt makes the entire team faster, so rewarding some of your best people for doing this work accelerates everything else you do.  

If you have that?  Engineers will set down perfectionism if they see a viable path *to* that perfect world.  You'll have their confidence - and substantially lower attrition - while  pushing product updates to users at a frequency that's optimal, not favoring short term money or causing longer term stagnation.  You'll have a better team for the same time and money invested, and if you liked them to start with, that's a win across the board.

Randy and the Seven Habits

Randy Pausch came up at work, and he wound up giving me good advice years ago, so I added that to the discussion; while it's on my mind, here goes.

His advice boiled down to:

  • look at how you spend your time, and list it out.
  • prioritize that list, based on how much you and your society gets out of it.
  • start at the bottom, and start cutting.
  • actively choose replacements that make future-you a better human being.
  • include a balance of physical, emotional, and intellectual improvements.

It's project management of yourself, your skills, your happiness and your life.  You should be doing things that make you better, instead of things that simply pass the time, with the explicit bit that passing the time is occasionally the best thing you can do for yourself.

Randy religiously recommended Covey's "7 Habits of Highly Effective People", and had hundreds of copies in his office to give away to anyone willing to read it.  That said, it's a medium-length read, and the two minute summary might give you a good bit of insight.  Paraphrasing:

  1. Be proactive about what you do with your time, and who you spend your time with.
  2. Know your goals before you start working on them.
  3. Take care of yourself before others; put first things first.
  4. Always try to create situations where everyone wins.
  5. Listen and understand before moving to action.
  6. Good teams are more than the sum of their parts.
  7. "Sharpen the saw".  This was the advice he gave me; actively manage your life.

I'm not a rabid fan of self help books, but as far as doing more with your life?  It was good advice; it let Randy accomplish quite a bit more, and I'd like to think it helped a ton of folks he shared it with.  On my end, it got me to actively recognize time-wasting activities that could be swapped with more productive things that made me at least equally happy; thanks, man.

Work Life Balance, and Taking Vacations

It's important to take vacation; human psychology is setup to benefit across the board from detaching from work, and vacation is one of the biggest/easiest ways to do so.  

Some folks have trouble taking vacation, or aren't sure how to work it in.  Here are eight strategies that I've seen work, enable easier leaves, and hopefully get more benefit from the same days off.

Strategy 1: Ample Lead Time
I fit in longer vacations - 1-3 weeks - by planning well in advance.  I'll likely be OOO/Hawaii in March, and plan to book the trip by the end of January.    If my teams aren't able to lose me to vacation with that much advance planning?  Time to fix and/or escalate; we're supposed to be taking those vacation days.

Strategy 2: The Two Week Break
Past a certain point, the longer the leave... the less work you'll come back to.  If you're gone for a week, work piles up.  If you're gone for two weeks, people assume you died, and residual work decreases.  (Pro tip: you can also request to take more vacation than you have stored up; your manager can loan you vacation days.)

Strategy 3: Regular Scheduling
Once you have 5 weeks/year... it can feel harder to fit leave in.  One easy approach is to make leaves more regular events.
  • One coworker took every July off, and after two years, everyone on the team knew well ahead of time that they weren't coming in in July.
  • Another coworker realized every even-numbered month has a 3-day weekend.  They stretched those 3-day weekends into six weeks of leave per year, and everyone on the team knew without guessing which weeks that teammate would be OOO.
Strategy 4: Email Bankruptcy
Especially for longer leaves, please don't check mail while on vacation. 

It can help to have an autoresponder that explains you're on leave, declaring "email bankruptcy", and will not be checking mail received while you're on leave even once you're back.

The autoresponder should also give the typical points of contact if someone needs to escalate, and should include the date you intend to return (when bankruptcy expires, and you'll be reading incoming emails again.)

When you do this, set a filter to auto-archive everything; this helps remove the urge to cheat and read things anyways.

Strategy 5: Catchup Meetings
You schedule 2+ weeks of vacation.  Next, book a half-hour on your own calendar the day before you leave.  Use this time to book catch-up meetings on the day you come back, so you can just go ask people "what did I miss?" 

You can also email them ahead of time, and ask for an email summary or meeting (their choice) on the day you're back, to get you back into context faster.  This should be little work on their end, enormously useful on your end.... and also pairs very well with email bankruptcy, above.

Plan to spend the entire first day back from a long leave just catching up, and it strongly helps to disconnect while you're gone.

Strategy 6: Notifications are the Enemy
If you read work email on your phone?  Turn it off while on leave.  Turn off automatic syncs.  Turn off notifications.  These will suck you in, and you will lose.  Just don't do it.

Strategy 7: Regular Short Leaves
Another coworker took every second or third Friday as vacation; they loved long weekends.  To each their own; just don't work while on vacation!  (When on vacation, stay on vacation!)

Strategy 8: Experiences Over Stuff
Once a human being's basic needs are met (food, shelter, sleep)... we're wired to benefit from spending more resources on experiences and fewer resources on stuff.  

Vacations are one way to pursue new and memorable experiences, and while it's not relaxing to do crazy stuff on every vacation...  there's a lot of world out there, and vacations give us a chance to go see some it.

So, Saying It Again
1. Make sure to take your vacations (assuming you like 'em.)
2. If they seem hard to schedule, planning often helps.
3. I'm super curious to hear other work/life balance hacks, on any topic!