This article was first published on Dev.to. Thanks to the team for choosing it as a Top 7 weekly!
π Productivity and well-being: a summary of what works.
I've been working for a very long time in remote-only positions by now, while mentoring remote-working students.
This article will summarize what I found worked for me and most of my students. Most of this should work for you too, and it will work particularly well in a remote work setting.
Introduction
Some people think more productivity means less well-being. Those people are wrong. They might be victims of management structures that do not understand the fundamental truth of intellectual work:
Your productivity is a direct byproduct of your well-being;
Your well-being tend to increase when you're productive (up to a point).
By taking care of yourself, you are fulfilling your duties both to yourself and to your employer.
Step One: Setting your priorities straight
Do a quick categorization of what are the most important things in your life right now. Here's mine:
1/ Health 2/ Family and closest friends 3/ Work
If your health and close relationships aren't on top, please ask yourself why that is, and what the consequences of such a choice could mean for your future.
Now that we agreed about your priorities, we can start the process.
Step Two: Life Hygiene
We're stating the obvious in that one, but the obvious often bears repeating.
Physical exercise
This is NOT optional.
Not only does your health need it, it will increase your mood and your focus.
Sleep
This is literally how your brain learns things. If you don't have a good sleep schedule, absolutely prioritize working on that issue.
Posture
Back pains suck. They really do. And let's be clear: if you want a career in programming, you WILL have back pain issues if you don't work on it. If you don't already know the 101 of correct posture, google it right after reading this article (or better, ask ChatGPT).
So you should maintain a correct posture while sitting, right? Well, yes, but it won't be enough for most people. You will probably still end up with bad back pains.
A standing desk can be life-changing. It will also not be enough; you will want a solution where you can alternate between sitting and standing, for two reasons:
- Standing all day can be very hard when you first start.
- Standing all day can bring about as many issues as sitting all day.
Before anything, take regular breaks and move around. Alternate postures as much as possible. The best posture is your next posture.
Finally, if all of this is not enough (and I suspect for many of you it won't be), learn Yoga. A daily deep yogi muscle relaxation is the most powerful tool there is against back pain.
Bonus: Yoga Crash Course
Lay down on the floor on your back. Inhale 5 to 7 seconds in, hold for 2, exhale for 9 seconds. Try to relax your body as much as possible. Do this 10 mins everyday. Congratulations, you're doing Yoga.
Food
Please don't underestimate how much what you're eating can make you feel like shit.
Before devoting my life to code, I used to work as a food scientist. I can sum up years of research about what you should probably be eating, in the form of a haiku:
Bit of everything,
But mostly vegetables.
Yes. Vegetables.
Taking care of your Circadian rhythm
Most people with sleep issues just have a fucked-up circadian rhythm, or "internal clock". Do take care of that.
The single most important advice I have on this topic is to get outside, first thing in the morning, for about 10 minutes. The morning light entering your eyes will tune your internal clock to the "morning" setting.
For more tips on this topic, and as a general amazing resource for science-based tools for your well-being, I recommend the entirety of The Huberman Podcast.
Step Three: Focusing
Noise-cancelling headphones
They will be of tremendous help to you if you can't focus with sounds around you (or without music). If you work in an open space, that might even be mandatory.
Choose a model that you can wear for long hours without any pain (you're not working hard to avoid back pains just to end up with head pains). Sony's WH-1000 XM4 are a solid choice if you can afford them.
Be by yourself. Or don't
Some people work better alone in a room. Some people work better when other people are present. If you can afford a choice here, try and see what works for you.
The Pomodoro technique
Many guides exist on that topic, so I won't go into details. The gist of it is to work in cycles of 50 minutes + 10 minute breaks.
During those 50 minutes of work, you should practice Deep work. Absolutely no distraction, work on your focus.
During those 10 minute breaks, I highly recommend that you stretch.
I am not kidding when I say that the Pomodoro technique is the most important productivity tool for remote work.
Although the pomodoro technique works extremely very well for some people, many of them end up not using it anyway. Knowing something works and not doing it anyway is a classic problem. Don't be like this: if something works for you, persevere.
Sidenote: the opposite is also true. If something doesn't work for you, absolutely do not persevere as it, but change something.
Stimulants
Coffee works great if you use it with moderation, as long as it's not disrupting your sleep.
A Big Screen Or two
Many companies researched how to boost productivity for their employees. Apparently, the only two things that they found worked were: Coffee, and bigger screens.
If you're working on a small laptop screen, consider investing in at least one bigger screen.
Step Four: Making Space
Cleaning your environment
<< A clean space is a clean mind >>. When your head is a mess, your environment is a mess. When your environment is a mess, your head is a mess.
This applies both to real life and to your virtual environment: files everywhere on your computer are increasing your mental load as well. Clean your spaces, including your desktop, including the one inside your computer.
Cleaning your head
If you're not managing your stress, you're not managing your head.
A regular meditation practice will not only help you focus better by directly training your focus skills, but will also clear your head of the unnecessary clutter.
Cleaning your code
Having technical debt is really bad for your productivity, but also for your well-being. Here's an article explaining why.. So work on your technical debt. Keep it as small as possible
A great method to clean your space - virtual, mental, and code - is the Marie Kondo philosophy. Throw things away. For more informations on this, read the Marie Kondo guide for the Clean Developer.
Step Five: Work methodologies
Being able to focus is great, but if you don't have a good workflow, it will be useless.
TDD
Test-driven development is a cult. And I'm in it. We keep preaching this methodology for a good reason: it works.
It's actually extremely hard to practice TDD well; just like the game of Go, you can know the rules yet still suck at it. It takes years and years of practice to actually do well.
When you suck at TDD, it still saves you time on the middle and long-term. When you're good at TDD, it also saves you time on the short term.
Atomic Git Commits
Please refer to my article on the topic.
AI is your friend
Artificial Intelligence will probably not replace us in the near future, but using AI will definitely boost your productivity by an order of magnitude. I'm not sponsored by Github but I'll say it anyway: 10 dollars a month for Copilot is more than worth it.
And don't be afraid to ask ChatGPT immediately when you don't know something. AI is the new Google.
And while this article was not written by ChatGPT, most of my automated tests at work mostly are. Just copy-paste your class, ask for some tests, and 80% of the work is done.
Step Six: Don't Overdo It
The problem with an increased productivity is that you'll be able to work a lot.
The problem with working a lot is that you might end up working too much.
The problem with working too much is that you'll end up harming your well-being, hence your productivity.
A note about deep work: deep work is much, much more intense than non-deep work. You probably cannot produce 8 hours of your best code every day without burning out real fast.
Manage yourself, respect yourself, this is a marathon not a sprint.
Conclusion
If you implement everything we discussed here, not only will you be a more productive person, you'll also be significantly happier. I promise you as much.
Also, if I forgot anything that works for you, please tell me in the comments!
Happy life, happy coding.