Boston I/O

Around 200 college students from the  greater Boston area attended the Boston I/O conference today. It was a rapidfire series of presentations. Starting with a talk on the local entrepreneurial environment (which, I found out, is comparable to NYC and SF), it was a parade of techniques and technologies. Each was promised by its presenter to solve all our problems. Some, like special design considerations for mobile and test-driven development were actually informative and had good ideas. Other presentation topics, like providing and using APIs and object-oriented programming, were touted as innovative when they are already part and parcel of the CS curriculum. Software like Ruby on Rails, PostGreSQL, the Bourbon CSS library, or jQuery Mobile are even worse. They are transient tools that have come and will go. They are old wine in new bottles, and even newer bottles are being made all the time.

I exempt the text editor Vim from this fate for three reasons. One, I use Vim myself and enjoy the power it gives me, even if I only use a small fraction of it. Two, text editing has more staying power than the current web fad. Three, presenter Ben Orenstein did an excellent job of making a text editor look exciting and fun. (“This is like a video game you play at work.”)

Someone in the crowd mentioned Ajax, and I asked if I needed to know what it was. I was assured every major company used it to provide asynchronous experiences to their users. But seriously. Clojure? Django? Drupal? JSON? PhoneGap? Do all web and mobile developers have ADD? No wonder startups are starved for talent – no matter how many technologies you learn, someone else wants you to learn another. There’s always something you don’t know. Or is there?

As I said above, many of these techniques have been and will continue to be recycled. The are only so many ideas out there; only the names they go by are infinite. If I learn MVC architecture from building an iPhone app, write a game in Python, and study the HTTP protocol, do I really need to learn Rails? Programming isn’t about having a Home Depot’s worth of tools; it’s about having a toolbelt’s worth that have been carefully selected for power, precision, and speed. Oh, and a brain’s worth of knowledge on when and how to use them.

Kate Rutter, a user experience (UX) guru who skyped in, made some important points of lasting value. Design, said Rutter, is about empathy. The UX comes before a single line of code is written, because before we “build things right”, we need to “build the right things”. Users don’t want features; they want uses. I believe that computers exist to serve humans, not the other way around, but Rutter makes a very practical point. No amount of aesthetic design, testing, code refactoring, or mobile hardware matters if the features serve no purpose; all that work is wasted.

I wonder how many of my fellow programmers, in the hectic startup culture and development cycle, ever pause to reflect. Are you working on a fad that will inevitably give way to The Next Big Thing? Are you working on a dead-end project that no one will want to use? Are you so caught up in buzzwords you fail to see the history of ideas trailing behind them? I’m not.

Don’t get me wrong, Boston I/O was a worthwhile event. But I can’t help but wonder how many of the technologies we heard about will still exist in ten years, and how many will be piled on the unforgiving junkheap of history.

Advertisements

3 responses to this post.

  1. Posted by Dan Croak on February 5, 2012 at 12:43 am

    Max, “how many of these things will be around in 10 years?” is an interesting question. Thanks for posing it. I bet all of them will be but their relevance is another question.

    Object-Oriented Programming is already 50+ years old now. Unix is 43 years old. HTML is 32 years old. Postgres is 30 years old. Vim is 21. Ruby is 17. CSS is 16. Test-Driven Development is 13. Ruby on Rails is 8. Git is 7. etc.

    Many open source projects and web standards tend to have incredible staying power. I hope you write a follow up post in 2022 to let us know how we did!

    Reply

  2. Posted by Cynthia Andre on February 5, 2012 at 10:42 am

    Max,

    The strength of a technology tends to correlate with the strength of its community and its applications (on the surface, at least). Some of these technologies, such as, Ruby and Python, have strong communities who I think will propel them into the future. You’re right that things will change, and there’s no way to predict in what way. But, at the core, I think the ideas that these practices and software spur will have long-lasting influence.

    Nice meeting you yesterday. I hope we stay in touch.

    Reply

  3. Although it’s five years old, this naysaying blog post showed up in my Twitter feed this morning. The author cynically talks about how “knowledge capital” deteriorates extremely quickly for programmers. So I’m hardly the most negative blogger out there on the tech parade. (H/T Gary McGraw, who spoke at Tufts recently at talked disdainfully about the “bug parade” in security.)

    I’m not being completely negative. Some of the newest and likely most transient tools Rails and Bourbon are the most useful in the short term. These are great technologies to get a startup off the ground, and as Brendan Schwartz said, you can’t build the perfect system in one big step.

    Yes, it’s possible that these things will be around a lot longer than I thought, but remember the pace of progress is accelerating; it’s an exponential curve. The number of technologies out there – even if Boston I/O didn’t touch on them – is exploding. It is becoming absolutely crucial to see past the concrete syntax (what you type) and into what is really going on conceptually. What developers need is X-ray vision to see the wine inside the bottle. That only comes with time and experience, and the academic study of programming language features.

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: