All posts

Programming for success

NB: This post has been republished from my defunkt newsletter. Enjoy 🙏

Hey there,

Going by the title alone, you’d expect this to be about software development. If you do, you’d be kind of right, but mostly wrong.

Let me set the seen:

In recent times, I’ve started trying to get into better shape. I decided to try my hand at CrossFit[1], going to my local gym, The Yard. I’ve been working at it since the turn of the year and have started to understand the finer details of what it takes to succeed.

Why is this relevant? Well, a common topic I’ve mused on over my career is that of over working and burnout. Having now seen the state of the fitness industry and their approach to peak performance, it’s clear: startup culture is lightyears behind.

Maybe you’ve encountered the terms “programming”, “rest days” and “recovery”. What I’m sure of, is it’s never been in relation to mental exercise. Always working out, lifting weights and running marathons.

These terms are staight forward enough. Programming is the plan you follow for your workouts. Programmes have rest days built in, to allow your body to fully recover. This means bigger gains and less chance of injury.

Before any of this matters, you need to address your basic needs. Work on these and they’ll give you a foundation to build upon:

  1. Sleep
  2. Nutrition
  3. Health
  4. Stress reduction

It would be easy to write thousands and thousands of words on each of these topics. Let’s assume you’re able to figure it out… and with the foundation set, we can begin to focus our efforts on the “work” itself. In the fitness world, thats your training. In my domain, that’s software development or product design.

You’ll find most software or product teams operate in some variation of a “sprint”. Originating from scrum, but never following scrum’s practices. The problem here is sprints are never ending. The closest you get to a break between them is a short session of planning and a retrospective. It’s like you’re running a marathon at a 100 metre pace. It’s madness. No wonder people in software burn out so frequently.

It’s time this changed.

How? Simple. Build in recovery time into the workout regime.

Brett Jones at StrongFirst talks in length about cultivating recovery. His answer? Proper programming. In other words, being proactive in building in “down time” into plans. It’ll ensure everyone has a chance to recover between intense work.

Realistically, this doesn’t have to mean stopping. It can mean changing your focus, and working a different part of your mind.

Ran out of steam programming? It’s the perfect time to clear out your inbox. Stuck on a design problem? Open that book on accessibility and get reading. It’s the subtle change in tasks that’ll keep you fresh for longer, and still productive.

Of course, I’m not suggesting you should always continue working your mind. Proper rest will always beat more work whatever that work is. But it’s one way I find it possible to get more done without feeling overwhelmed. Doing so proactively, before you reach the wall, is even more beneficial.

I’d love to see more emphasis placed on recovery by organisations. Ensuring sprints are not 5 days a week, 52 weeks a year. By building “rest” between projects more. It doesn’t have to mean zero work done but can mean prioritising different work.

Let me know your thoughts,

Richard

[1] The irony of talking about CrossFit is not lost on me