We spend our days building scalable and performant applications, so why are we not doing the same to our mind and body? Staying fit and active is important to our well-being and I'd like to remind us to take care of ourselves while we code away.
Water is your body's battery to keep you going throughout day. I remind myself to drink water by keeping the water bottle near my monitor. Keep it in view so you take regular sips while working.
Get yourself 2L of water a day.
We get reminded of this so often but we ignore it because we tend to be in the "zone". Take your breaks. It will help you stay focus in the long run.
Don't spend more than 15min on a problem. Take a break, leave it for the next day, or ask someone to help. If you have spend more than that on a problem, chances are you have gone down the wrong path. We have all been there - we spend hours on a problem, and after sleeping it off, we find a solution first thing in the morning because we started over.
Aim for 10 sets of stairs a day. This will also help achieve the recommended 10,000 steps a day. I know this is easier said than done. Start with one set, build a habit. You'll start doing 10 naturally without too much thought.
Prolonged hours sitting down has a hugh impact on your posture and health. Get yourself a standing desk, or ask your office to supply one for you. Stand up while taking a call. Even yet, go for a walk while talking. Not only will it help you with your health, it will help shorten the duration of the call.
Very common I see engineering desks packed with towers of snacks and sugars (I'm so guilty of supplying these snacks!) to keep engineers going for long hours. I've learnt to avoid this at all costs. Replace with fruits or nuts. The sugar hit is only temporary and fil the stomach for a short time, but it has a long term effect on your health that is not worth it.
Lunch is your break away from work, take advantage of it. Go for a walk, stretch your legs and have lunch outside. Get some sunlight and walk off your meal afterwards. Otherwise you'll get distracted and get back to work, or even be interrupted by a colleague.
Cannot stress this one enough. I've picked up many injuries because of my laziness to warm up before a work out. While at work, 3pm would hit and I would close my laptop. I then rush to the office gym, change into my active wear and get straight on the treadmill without warming up. You can imagine what happened next. Because we have been sitting down for long hours coding, our muscles are not prepared for the surprise they face when we rush to the gym. This is where stretching is important and I talk about it later below.
It not too important how much you workout, as long as you are consistent with your schedule. Book your week in advance and block out your calendar so you are not interrupted by work activities. Add some buffer for warming up and stretching. I suggest having a training program that you can follow.
(Recommendation: Team Grit OCR have a 4-week home workout suitable for all fitness levels. Does not require equipment and can be done at home.)
Think of it as pair programming. Find other like-minded engineers who want to join the fun and stay active together by joining a club. For your colleagues, you can start a private group chat to share your schedules or tips. It's easier to start an activity with others. And it goes two ways - let them know you're willing to keep them company in the gym.
Connect with them on Strava to track and stay in touch with each other.
Strava turns every iPhone and Android into a sophisticated running and cycling computer (and we work with your GPS watches and head units, too). Start Strava before an activity and you can track your favorite performance stats, and afterwards, dive deep into your data. - Strava.com
(Connect with me on Strava - I would love to virtually run with other engineers!)
Just like we execute performance tests against our applications, we should also be measuring our physical activites and use the results as benchmarks. Track your activities in your favourite notes editor, or use an app to automatically track the activites for you. I personally use Notes on my iPhone + Garmin Connect.
Prior to knowing the importance of stretching, I would spend a lot of long hours on my desk coding away and over time, picked up poor posture which led to a few nasty injuries in my shoulders and hips.
Common scenarios I see engineers (and myself!) faced without awareness:
- Hunched Shoulders - Because the desk and chair are not aligned, so the shoulders become tensed for a long period of time while typing at the wrong height.
- Tensed Hips Caused by long hours sitting down, the hips don't get any movement. Over time, the muscles tighten up and will cause injury when you need to partipate in an activity.
Some stretches I have picked over time to help with common tighteness from an extended period of sitting down in front of a computer:
- Child's Pose to release tensions on your back.
- External Shoulder Rotations to stretch out your shoulders.
- Place a tennis ball under your hamstrings while sitting down to help release tightness while working.
Without going into too much detail on how to stretch - My message here is to bring awareness of the importance of stretching for anyone who is sitting down for a prolonged period of time.
(Recommendation: Living in Singapore? Visit The Stretch Clinic. I regularly visit them for a good stretch and they have been very helpful with taking care of my body from any injuries I have faced from long hours at work or while working out.)