Meaningful Work in Software Development
Software is everywhere, running more in this society than people realize. It is not all about web apps and social media. Which means there are opportunities to make sure that your work is meaningful.
The exact definition of meaningful work depends on your personal philosophies, but I work from a simple definition. The result of my work has to have some net positive in the world. It doesn't have to change the world, or fix major problems. But it does need to make some kind of improvement.
In my particular case, I've been working on SaaS apps for public government for most of the last decade. We moved paper processes to online processes, saving money for the organizations we work for, while doing some environmental good. We work mostly with school districts, and the cost of our software is less than the printing costs they used to spend, so the net positive result is more efficient school distircts, with some extra money available to put towards the students.
I'm comfortable with that positive impact. It is enough that my work feels meaningful. There are jobs out there that do more for the world. But there are jobs that do less. And some jobs that actively hurt our society.
If you are a software professional, or are thinking about becoming one, I would encourage you to think about the impact your work has on society. It should not be too hard to rationalize some way you help the world. If you cannot rationalize something, and the only purpose of your job is to make money for the owners of your company... you might want to consider switching jobs.