“Have you found a way to write software that has a real, tangible, positive net effect on society?”
Yes. Everything I do.
I (along with many others) write lots of software to help small and midsize businesses compete more effectively. They, in turn, provide value to their customers, jobs for their employees, and pay taxes to their communities. If that’s not a “real, tangible, positive net effect on society”, I don’t know what is. Not everyone has to find a cure for disease or discover how to provide clean air and water for the masses. You don’t have to change the whole world, just a little piece of it.
A mentor once suggested I think of it like a football team. Some pass, some catch, some run, some block, and some tackle. All you have to do is “your job” well, for the team “the rest of us” to succeed. Please don’t be such an “idealist” that you never find your calling. Just pick something close enough and go for it.
The real heroes are in the pits every day, helping others do their thing. You oughta join them.