What can you do to improve your life as a programmer?
Software developers, engineers and programmers can often fall into particular habits or ways of working life that can be detrimental to their health. Long hours at a desk to computer is extremely common. In this article I present some common problems programmers face along with some solutions I have tried to improve my life as a software developer.
These solutions won’t make you a better software developer, engineer or programmer, but it will improve your life and health during your journey over the years!
Although the following list of things will not actually make you a better programmer, if you plan a long career 20, 30, 40 years ahead of you, then these things will certain help you have a healthy and happier life as a programmer.
Wrist Strain
To improve your life as a programmer, you have to think 20-30 years ahead. The keyboard is the main tool you use to interactive with your computer on a minute-by-minute basis. It is often the case programmers use external keyboards with laptops. For about $100/£100 I would strongly suggest a good mechanical keyboard with programmable buttons.
A good mechanical keyboard with easy to push button with solid feedback can only be explained by trying it for yourself. You will never go back to low quality keyboards.
There is a major added benefit which is to reduce strain and stress on fingers and wrists. Joint pain can be common if using a sub standard inadequate keyboard. This maybe not be apparent at first, but after a prolonged number years, this can cause problems.
Let’s face it, normal keyboard layouts are not designed for programming. Far from it!
If you have a keyboard with programmable buttons it can also have the added benefit that it can improve efficiency and your speed, while at the same time reducing the stress on your joints.
I have found that keyboards aimed at gamers are actually quite good for programmers and coders. I have the Logitech G413 Mechanical Gaming Keyboard, in carbon black. It also has USB pass through which is a nice helpful feature.
Hydration
Use an timer/alarm system to remind you to drink fluids at regular periods thought the day. I personally try to drink 500ml of water in between each coffee.
You might find using a schedule of focused coffee fuelled work followed by a short break to stretch and hydrate, a workable routine/technique. If so, the pomodoro technique can be very helpful to try, here is a useful online timer to help out.
Eye Strain
Late night coding sessions or looking at a screen for prolonged number of hours can cause problems with your vision in the long run.
There are three solutions I have tried out to reduced this.
The first is blue light blocking glasses. This helps by filtering any harmful blue light from screens and devices from your eyes. Reflecting the blue light reduces eye strain, watery or irritated eyes. Blue light is also known to affect your circadian rhythm and mess with your sleep patterns.
The second is to use an ambient backlit computer monitor. I basically used an LED light strip which I put behind my computer monitors. This provides a light hue which help reduce the intensity of monitor/ laptop screen light.
The LED light strip that I opted for has a protective gel layer over the top of the led strip. It also has the advantage that I can change the colour using a remote control, or using my Amazon Alexa (or Google Home or mobile app).
The third is to take a regular break from the screen and focus on an object in the distance. In order to be more efficient with your time, you can combine this activity with you hydration and stretch break.
Improve Work Environment
Get into the ‘zone’
In order to get into the zone I use noise cancelling headphones. I don’t even work in a particular noisy environment, I work in a room by myself with very few interruptions most of the time. But the use of noise cancelling headphones to provide an extremely quiet space with some music really helps set up my environment to zone out (in?) and concentrate.
I make sure to only use my headphone when I want to concentrate on a specific task. This has the additional benefit of associating blocks of concentrated time to focus. Repeating this reinforces the positive habit, that headphone and music means concentrated work task time, and this help increase my productivity.
I must admit, I did splash out on a really good quality pair of noise cancelling headphones. I got the Sony M3 which are noise cancelling wireless bluetooth headphones with a microphone. They are extremely comfortable and battery life is excellent. I have always been sceptical of the battery life of wireless devices, but these headphone really changed my mind. The battery seems to last a long time, maybe a week or more. This might be because I use them in time blocked segments, turning them off in-between use. Even if the battery does run low, the nice lady pauses my music, tells me 10% battery, and I can charge them back up again during my next coffee break, which only takes 10 min (using USB-C).
Using the headphones for ms teams/zoom calls is not great when in noise cancelling mode is enabled. I find the effect of the noise cancelling element of the headphones is such that I cant actually hear my own voice, and makes talking a bit strange, as I can’t hear my own voice properly. So I avoid using these headphones for voice calls.
Desk space
I use a raised laptop stand to provide maximum desk space. A clean space and desk tidy desk makes for an enjoyable place to get work done. This elevated laptop stand provides more space on the desk and helps to keep things (some-what) more clean and tidy.
Convenience (Laziness…)
One thing that I have found quite helpful is to voice control lots of the on/off switching of various electrical plugs, sockets and switches. I use these smart plugs which can be voice controlled by my Amazon Alexa (or Google Home Assistant or mobile app).
I have commonly used electrical plug sockets wired using these smart plugs. For example, my laptop power plug. This mean I can say “Mac book on” or “Mac book off” to switch power on or off.
I have also extended this set up to my computer monitors, lights and heating and cooling. This means I can use pre-defined routines like “start my day” to turn on my laptop, monitors, heating etc.
Life away from the computer (MOST IMPORTANT!)
One of the less obvious thing to invest in to improve your life as a programmer is a life away from the computer and tech in general. This can be quite difficult, as, typically, if you are a programmer, then you may tend to have hobbies that are also computer based.
But you should invest time and effort in thing things listed below. They will not only improve your life in general, but also improve your as a coder by teaching different perspectives, increasing your horizon, and thus improving your approach to problems.
Some things you might like to try:
- intellectually stimulating activities (board games, puzzles etc)
- hobbies that keep you curious (travel, exploring)
- a regular does of creative activities (artistic writing or drawing)
- some aspect that is unpredictable (random sporadic activities)
Wish list
I have a few things I would like to get my hands on and try out, but have not purchased and tried out yet. I have listed them below.
Standing desk
I want an electric standing desk. I would make sure to use this to as a means to break up my day, and try standing for my meetings, by raising the desk height. I would then drop it back down and sit for longer coding sessions.
I also want to purchase Alexa controlled switches, which means I can voice control desk up and desk down.
Office Chair
Maybe a Herman Miller or a Secret lab office chair.
Others?
…
Hopefully these things will help your life during the many years ahead in your career.