Software is everywhere. Because yes, software impacts directly our daily life: uberization, digitalization… but let’s stop the “buzzword-ization” right here. We, developers, are the architects of a virtual world serving real life. Our work has an impact on companies and life. If we accept to be credited for the numerous benefits realized, then let’s be honest and also recognize the drawbacks.
Social exclusion, diverse impacts on the environment, digital gap… all of these are real effects caused by the software we produce.
But do we really have the choice when facing the clients, the demand and the typical constraints such as cost and deadline? Can we code any differently?
Well, the answer is yes! And this is the choice made by numerous companies and individual developers: volunteering project such as Code for America eco-design of public software… Being an ethical and green developer is possible but how can we do so, in a very practical way?
Monday: (Re)think software impact
Monday is usually planning poker day, we discuss past events and upcoming tasks. A sustainable software is above all an environment and man friendly software. The beginning of the week is the perfect time to rethink the functionalities you are about to develop. Are they all useful and necessary? Will your choice of ergonomics exclude part of the population? Are you going to integrate elements going against users’ interests (tracking…)? It is the right time to discuss it with your client or the product owner. But don’t you worry, ethics and responsibility are pretty contagious.
Tuesday: Switch to « slow connection » mode
Nope, sorry, you cannot stay in your ivory tower with a fiber and 4G connection. Many users don’t have access to a 4G coverage (rural places, developing countries…). Your application or web site might be completely unreadable with a 2G connection? It is super easy to check: switch your phone in 2G and browse through your website. Spend the day like this and you may have empathy for the nomad user located in Northern Montana.
Wednesday: Switch to low-tech
Happy to be back with a good connection? But did you realize your users don’t necessarily own the latest up to date smartphones, like a Galaxy S28 or the iPhone 15? You develop on a killer platform and emulator so, of course, it’s fast. Here’s another mini challenge: let’s switch to “low tech” mode for the day! Choose a smartphone that has less than 2 CPUs, borrow the intern’s PC to browse through your site… Chroma development tools are pretty helpful too. You can emulate a visit from a single CPU. If you lighten your app as a next step then, not only you will get furthermore potential users, but will also avoid nourishing the need of others to replace their hardware “just because” their equipment is too slow. Yup, obsolescence isn’t (only) created by manufacturers.
Thursday: Lose your senses
Chances are you are a super-developer with your 5 senses working in full force; so imagine losing one, or more, of those precious senses. Use a screen reader, close your eyes and listen to your site… Not easy, huh? Accessibility is very important, if you don’t pay attention to it you end up excluding part of the population. At the end of the day, you will probably want to implement a few additional accessibility rules. Here’s a useful reference: Accessiweb.
Friday: Don’t send to prod directly, measure energy consumption first
First off, never send to prod on a Friday (if you’re ever in doubt, check here. So you might as well just do some double checking. By now, your actions probably reduced your application’s overall impact on the environment. In order to be sure and avoid future mistakes, you need to M.E.A.S.U.R.E. Yes, measure! No matter if you think resources consumption aren’t a real issue and it’ll be just fine “‘cause you were careful”… well, guess what? Intuition isn’t enough in this case. Now, your users, know that they do watch very closely their battery percentage and data consumption. After all, as any good performance-addict would do, if you focus on display speed, you might miss the energy-reduction opportunity, that could be easily done… You could even increase the level of consumption which, really, isn’t a good idea. So, 1) Measure, then 2) Act.
Saturday: Git pull request – the good word
Coding is life, so on weekends you work on open source side projects. Why not trying to discuss implementation of improvements you would have learnt this week with the rest of the community? Open source being a favorable environment for these best practices.
Sunday: Be responsible – and a proud one!
Usually, in typical family dinners, you “that works in IT” are asked to solve Uncle Bob’s printer issues. Because, no, they still don’t get what you do as a job. For their defense though, when you tried to explain Aunt Lucy how awesome the newest Angular 2 features were, you kinda ruined the vibe.
But this time it’s different, we promise. This week that just went by changed something. Today, you can proudly tell what you did, what it changed, how beneficial it is and how good it will be for the environment and the society. This time, I can assure you your folks’ faces will light up and you might find in their approving looks the appearance of a true respect and understanding of your job of developer, that you now proudly practice and assume. The week after will be different though!