// Deploying Rails Book

Getting things done while staying sane

These are the guidelines I aim to follow with the goal of maintaining a high output while still enjoying life and avoiding burnout. I can't claim to be exceptionally good at sticking to them. As per usual, the "you" here is me, this isn't advice, it's just what's worked for me whenever I've managed to stick to it. It's definitely highly influenced by the dynamics of building technology companies and is very tailored to the quirks of my psyche, ymmv.

  1. Be nice to people. The number of situations where anger or aggression are either warranted or productive are so close to zero that it's not worth considering. The most productive way to respond to emotional or aggravating behaviour in others is generally calm empathy, it's usually a misunderstanding anyway. Getting irritated over minor misunderstandings sixteen times per day is a pretty solid recipe for burnout but if you want to guarantee it, just add coffee.

  2. Unless you really care about your point, consider not making it. Be ruthless about which things you chime in on. Maintain a very small surface area of identity and opinion. The exception to this is when debating for fun, but be very careful when doing this that you're not slipping into your point becoming confused with your identity.

  3. Look out for opinions which become part of your identity. Have you become a "ruby person," an "apple person" or a "liberal person". These are the things you're most likely to be wrong about in the face of overwhelming evidence. Being genuinely open minded / Bayesian in the way you form and revise opinions is truly a super-power. The exception is tabs v spaces, the answers is always spaces.

  4. Work out what your insecure about, this is where you decision making is likely to be irrational and where you're most likely to fall back to dogmatic, identity based opinions rather than Bayesian decision making.

  5. Anything in your life which you measure by the approval or opinion of others, will be a net source of unhappiness. Your only metric should be whether your actions were the best they could be in the circumstances based on your principles. And this metric should only be relevant insofar as it allows you to improve the quality of your actions in the future. Essentially the stoics got it right. This is really, really, really hard.

  6. For this to work you need principles. Think a lot about what you believe in, what you care about and what's genuinely important to you. It's amazingly easy to coast by without doing this.

  7. Watch for people who's approval you seek and work out why. Generally they will have an attribute you would like to have. Rebase your focus onto your success in completing actions which progress you in attaining that attribute (e.g. things within your control). If the attribute is not acquirable or you do not actually consider those actions a good use of time, re-base your focus onto success being recognising and halting behaviour which is motivated by that approval seeking.

  8. If you really believe something, the fact that others disagree should be something you learn to sit comfortably with. We are herd animals so it's OK this is difficult, you're fighting biology. Disagreement from somebody who's opinions you generally value should prompt a re-evaluation, but you shouldn't chase consensus. Disagreement by somebody who's opinion you don't value should be default ignored, see almost all internet arguments ever.

  9. Focus. Switching between tasks is at least an order of magnitude less efficient than focussing on one task at a time. It is not possible to multitask, be gracious to people who believe they can and support them when they burn out.

  10. When meetings are used as precision tools, they can be very productive, unfortunately many aren't and as a result are a waste of time. Try and time box meetings into specific parts of the day and the week and never go to meetings without an agenda. If you aren't adding or getting value from a meeting, don't sit their surreptiously looking at your phone, leave and do something productive with the time. This is not rude, it's efficient.

  11. Deal with your meeting FOMO. If the only way that information gets to you is via constant catch ups and review meetings then the communication structures you have in place are fundamentally broken. But it's more likely you're just scared of letting go. Ask people to summarise outputs from meetings and then ask clarifying questions.

  12. Recurring meetings are particularly questionable, if you must have them, make them cancelled by default and only keep them when an agenda exists in advance, even when there is an agenda, think carefully about whether there really needs to be a meeting for it or if it can be resolved via chat / email.

  13. Prioritise and pick one thing. Start ideally each week and without fail each day with one thing you want to get done. As other things come in, default to deferring or delegating them immediately. Constantly ask yourself if the thing that's interrupting you is really more impactful and urgent than the thing you're working on. Almost everything isn't as long as you're doing a good job of picking the "one thing" for the day.

  14. No, really one thing. If your goal is to build a prototype of x, then use technologies and a framework you know to build that thing. Building a new prototype and doing it in a new language or using a new framework for it is not doing one thing, it's doing two things. You may still do both, but be clear that you're doing two things and account for the resulting hit in efficiency.

  15. Have a plan. Ad-hoc decision making is very tiring. On at least a daily basis, have a plan for what you're going to do, generally this should be driven by a weekly and possibly monthly plan, which themselves should be tightly focussed. Be annoyingly stubborn about deviating from that plan. When you do deviate, make a new plan and then stick to that. Whatever you do, do not allow an interruption to push you into ad-hoc, unstructured time.

  16. Your plan should include switching off, time for friends and family and things outside of work. Be especially stubborn about deviating from this part of the plan. This doesn't mean agendas for date night, it means not skipping date night to focus on upgrading Gitlab or writing revision one thousand nine hundred and sixty three of that blog post.

  17. You will always encounter some people who believe it's a sign of weakness not to immediately cancel any personal plans for work. These people will always be a net negative both in life overall and in the success of a business venture. Be polite but unwavering in making your position on this clear and if necessary excluding them from anything you are involved with. If you aren't in a position to do this, consider leaving, "first in last out, nothing else matters" driven cultures are toxic and will eventually implode anyway.

  18. Your plan should be realistic, any plan which regularly requires you to; sleep less than 8 hours, skip meditation or exercise or heavily reduce time with family and loved ones will fail.

  19. Be aware of crunch time. Whether it's shipping a feature, raising money or managing a project which has gone off the rails, sometimes there will be a defined period where all energy and then some has to be diverted to one thing. Recognise that you're depleting a finite store during these periods due to lack of sleep, exercise and downtime and that the further you or anyone else gets into this period, the less rational decision making will become and the lower the return on each additional hour worked will be. Give yourself and others you're responsible for time to re-charge afterwards.

  20. Make lists, lots of lists. The worst place to keep everything except hats and sunglasses is your head.

  21. Drink lots of water, avoid caffeine and remember that cheap wine with awesome people will always taste better than a fancy vintage without them.