Future of Software

I stumbled upon Programming Bits and Atoms by Neil Gershenfeld which I found both eye opening and a little inspirational. The premise of the talk is that computer science is founded upon an abstraction of the physical world which is beginning to break down and that in the future computer science and physics will converge.

Particularly compelling was an example of the unacceptable cost not of creating smart building technology but of deploying (and supporting and troubleshooting) the network topology required for such technology using our current IP stack. Internet 0 is solution that changes the game.

I took this video as a subtle reminder that we as software developers must continue to hone our craft. Microsoft.NET, Java, Ruby; these are tools that we use to solve problems today but they will not be the tools we use tomorrow. Sometimes I catch myself thinking; how can I solve this problem with a Microsoft.NET application?. I should be thinking; how can I *best* solve this problem? Maybe that means spending a little less time becoming an expert in a particular tool and a little more time becoming an expert in delivering solutions that provide tangible value to customers.

The future looks incredibly promising for our industry; there is so much interesting work to be done that we can’t afford to stop learning for even one day.

Leave a comment