Technology Thanksgiving

As Thanksgiving rapidly approaches I’ve been contemplating what I’m thankful for.  Of course there’s the most important things such as a lovely wife and family, and good health.

But there are other things to be thankful for.  At the risk of being labeled odd, I continue to be excited about being involved in technology.  And, believe it or not, there are things technology related that I am thankful for.

My professional list:

  • Cloud computing:  this will enable an entire wave of entrepreneurial activity as the need for complex and expensive infrastructure moves to the pay as you go model.  That is, rather than buying $100K worth of servers and database software you can rent it for cents per MIP.
  • Open Source Software:  it raises everyone’s game.  For those with little money, you now have options.  For commercial software vendors, it puts pressure on them to innovate and provide greater value for products that justify their license costs.  And of course it provides a starting point for so many development efforts that gets you to business value faster (frameworks like Ruby on Rails, Struts, Hibernate, etc.).
  • Podcasts via iTunes:  I love the ease with which you can download podcasts turning commute and queue time into learning time.  My favorites include TWIT, HBR, McKinsey on High Tech, and Slashdot Review.

And on a  more personal technology thanks list:

  •  I love music, and Pandora’s internet radio lets you find more of the stuff you like, much more.
  • MacBook Pro:  it just works better, nuff said.
  • Blog Comments:  I’m thankful for those who take the time to comment on my blog – gives me some hope that people actually read it.

I’ve solicited feedback from my more tech-ish colleagues at Centric, here’s some of their comments:

From Michael Collier:

  • The widespread proliferation of broadband – it’s just about everywhere.  This enables so many great things – streaming TV content to my TV or computer; fast downloads of large applications/tools; cloud computing; etc.
  • Technical blogs – you can quickly find great, reliable information online about virtually any tech/dev topic.  If you have the desire to learn, there is a wealth of blogs to help you along the way.
  • Microsoft vs. Apple vs. Google – The competition between these tech heavyweights is great for consumers.  They’re pushing each other to continue to innovate, which will only lead to great choices and tools for us (consumers, developers, companies, etc.)

From Dan (“I need my own blog”) Souk:

  • The iPhone, as a device. Pure genius – simple to use, simple to understand. No lengthy user guide to slog through, just basic intuition and common sense. I doubt I’ll seriously consider another smart phone for a very long time, after having both a Windows Mobile phone and a Blackberry Pearl. It’s far from perfect, but it’s so far ahead of the competition it’s amazing.
  • The iPhone, as a development platform.  You don’t have to hire a small army of consultants to build a useful and usable app. Now that the developer NDA has been lifted, we should start to see (more?) technical publications from the trailblazers to help the next wave of developers build apps.
  • Apple’s adoption of Intel CPUs. Never thought I’d see the day.
  • .Net and its ecosystem. The pace of new technology is amazing, and Microsoft is creating new stuff at a blistering pace. Plus, there is a very large set of open source .Net components free for the asking (NUnit, Enterprise Library, NHibernate and other N* ports, etc., etc.). We’ve barely begun to utilize and fully appreciate Windows Communication Framework, Windows Work Flow, and Windows Presentation Framework.  And yet .Net 4.0 is not that far away.  .Net has proven to be a huge success for Microsoft, and should continue to grow market share for the foreseeable future. I’m thankful that I should be able to maintain my employment, at least in part thanks to my .Net skills!
  • Code Generation.  There is no outsourcing strategy in the world that can compete with a compiler in terms of cost or productivity. Code generation (one type of automation for software design and construction) is still in its infancy but is already an enormous productivity boost.
  • Model Driven Architecture.  MDA is also immature but I really think that this will be a key to realizing the potential of software. Plus, it is agile friendly. Once you have a good model, changing requirements can often be dealt with by tweaking the model and simply regenerating code.  There is much more to it, (example: you need to anticipate where changes are likely to occur and incorporate that into your model, etc., etc.), and changing macro-requirements can cause you to have to rebuild model entirely, but as these tools become more capable there is hope for real innovation.
  • Cloud computing. I’d echo your thoughts Mike, and add that many companies already have a cloud within their organization that is just sitting there waiting to be utilized. A key roadblock here will be resistance to giving up control of critical enterprise data to an external cloud, and I think someone has to come up with a feasible and cost effective security framework to really make this work. Still, it has great promise, especially if an internal cloud can be created, which would hopefully address security concerns.
  • Virtualization. Closely related to cloud computing, and no doubt powering much of the commercial cloud offerings. Being able to spin up new servers and workstations at a moment’s notice, as well as create entire development/test environments on commodity hardware is another arrow in the quiver of the little guy, or anyone for that matter.
  • Multi-core CPUs. Yes, it will make software development even harder, but tools and frameworks are already under way (the Parallel Fx for .Net, for example). Aside from the development headaches, the amount of computing power available as a commodity is just amazing. Current day software is barely pushing the envelope (ignoring programming mistakes like requesting every row in a million-row table at once in a UI widget) and leaves huge amounts of processing capacity sitting idle.
  • Storage. Capacity continues to rise and the cost per gigabyte continues to decline rapidly. Simple 4TB RAID storage arrays can be had for about $1,500 – $2,000, 4TB pure capacity (no RAID) for under $500. As a consumer, I’m not completely thankful for this – what a hassle to manage that much data. But if I were a systems manager, I’d be very thankful for how cheap it is to add capacity, locally or off-site, to handle backup and disaster recovery (SarBox audit trails for that matter).
  • Broadband. Comcast is ramping up speeds to 50MB in a couple of test markets. Seems to be a direct response to Verizon’s FiOS. Again, huge capacities, low costs, low barrier to entry.

And last but not least, from Sheila Huhes:

  • I’m thankful for the new Blackberry Storm – as a faithful Verizon Wireless customer, I no longer have to envy those iPhone owners with all that spiffy technology at their fingertips.

Count your blessings, Happy Thanksgiving; let me know if you have anything you’d like to add to the list.

I welcome you comments.
Mike Brannan