Just a quick thought this week…
In the tech world, it seems very common to hear about something “revolutionary” or “paradigm- shifting”; something “disruptive”; something that will “change the way we think about <insert a range of generalized or technical terms here>”, or will unequivocally “help to change the world”. These bold statements seem to have become a requirement for a product or idea to garner attention, while at the same time becoming cliché.
Let’s put aside the fact that, technically, each one of these things does in fact change the world. I mean, whether its a new security protocol, a new mobile app, a new algorithm… Literally anything that happens in the world changes it in some way. But what about the bigger changes that seem to need to take place? What about things like environmental justice, food shortage, lack of basic health care access, global poverty, war over resources, extreme income/political inequality and its consequences (which, at this point in the list, is both reiteration and redundancy)?
Aside from the seemingly traditional engineering of solutions that can provide favorable “tweaks” to the system or steps forward in efficiency, there does seem to be a large role that programmers can play in addressing such large-scale issues. Not to generalize too much, but as renewable energy continues to be developed, programmers will be able to create more flexible grids for the generation and distribution of electricity. They can (and already are) creating tools that assist people in their struggles for social justice. Programmers can even contribute to good governance through the modeling and optimization of existing systems or even alternative systems (a couple of examples that come to my mind are environmental regulation, resource extraction policy, economic policy, and growth of socially/environmentally responsible businesses). There are probably many more opportunities out there for programmers to participate than I am aware of!
This may be obvious, but at the same time it really doesn’t seem well- known. In many fields, the ability to code is commonly acknowledged as a very useful skill – an important tool to have in one’s tool box. However, it seems like we don’t spend enough time talking about all the different ways that tool can be used. As our world becomes increasingly digitized, I think it would be great for us, both programmers and non-programmers alike, to think more (and talk more, especially to young programmers) about how coding can be used to shape this “new” world in truly meaningful ways – for common good.
Just a thought.