We can argue for hours and still not agree on a definition of meaningful work. You are paid for your work, so it matters. People spend money on the product or service you provide, so it must be important to them. Maybe you tackle real problems and create new and innovative solutions, which surely have meaning. To describe what I mean, I refer to Alf Rehn's presentation about How To Save Innovation From Itself, given during Craft Conference this year. It is the most important presentation I have seen in 2015. I will not summarise it, just watch it now. (I definitely recommend watching it. Besides talking about important topics, Alf's sarcasm is hilarious. I laughed and cried at the same time.) Kasia Mrowca shared her summary of his presentation and Linda Saukko-Rauta published her sketch notes from the same talk given in 2013.
I am still not sure of my definition of "meaning / importance / it matters", but it includes social factors and much responsibility, maybe a personal social responsibility similar to Corporate social responsibility. I will not talk about your personal responsibilities, which are your own decision, but I believe that we as software delivery professionals have a professional responsibility because our software is everywhere and heavily impacts society.
A similar opinion was expressed by Martin Fowler during his lightning talk Not Just Code Monkeys at Agile 2014 and OOP. Martin emphasised three points for us developers: Sustainable Business, Professional Software Excellence and Social Justice. While we (developers) are concerned with software excellence a lot, I have hardly seen people touching the other two areas. Even articles discussing ethics, e.g. Mike Cavaliere's Ethics for Freelance Programmers mainly talk about customer relationship and avoid the real issue of social responsibility.
So why did they do it? Maybe they were afraid to lose their job. While getting fired is not appealing, I believe it is not a real problem. The demand for our skills is huge and there are always more offers than we can take. But I agree that changing jobs may be inconvenient. Then there is thought of replaceability which might be not as important as we think. I guess that they did not care. There was a problem and the engineers found a solution. The technical challenge of cheating the test was interesting and possible. So it was done. I know developers who are more interested in the solving of problems, the technical challenge and the tools than in the implications of their work. I do not blame them. I do not know if I had acted differently.
I find the whole topic difficult. Structuring my thoughts (by writing this post) helped but I still have many questions. Obviously there are many things we need to care for, e.g. the environment, extreme poverty, waste of resources, Human Rights, cruelty to animals and much more. What should we actually care for? What can we do about it and which impact could we have as software professionals? I plan to explore these questions in a series of future articles. Let's see what comes up during these discussions.