Every startup talks about changing the world, but most aren’t talking about the world itself or physical things in it. Most simply want to swap data packets and place entries in databases -- potentially important bags of bits, but bags of bits nonetheless. The world, though, is made up of atoms.
The barrier between bits and atoms is disappearing, with programmers no longer confined to the virtual realm, in part thanks to the Internet of things becoming more real. Now we can do more than write ones and zeros to a disk: We can actually write code that tells a machine how to extrude, cut, bend, or morph atoms. Now our software can turn on lights, change the look of a room, steer a car, move a wall, or more.
Today, many of the new markets and opportunities for developers live in the real world. Rapidly developing domains such as autonomous cars, smart homes, intelligent office spaces, and mass customization require programmers to be savvy about how changes in data structures can lead to changes in objects. If the term “object-oriented programming” weren’t already taken, it would be perfect.
These jobs require new languages or, if they’re not officially new languages, new protocols that work with older languages. Changing the world means learning how these languages and protocols work and how to deploy them. If you’re looking to really change the world, here is a partial list of languages and protocols to master. Once you start flipping bits that change the world, it’s hard to go back to mere databases.