Should you go to JSConf? Yes. 

Inspiration is a precious resource.

Software development is undoubtedly one of the most creative occupations in the world, but its naturally rapid cadence all but forces a laser-focus on current assignments. Inspiration is hard to come by while six breakpoints deep, trying desperately to reproduce an intermittent bug. It is a tall order to learn new things and grow as a developer while simultaneously executing on daily tasks. There just isn’t time for it.

The best remedy for this problem that I have found is to attend a technical conference. And in my experience, there are few (if any) better than JSConf.

I recently had the privilege of attending JSConf US 2013. I’ve historically followed the goings-on of JSConf through Twitter and posted slide-decks, but I had not participated in person until this year. What makes JSConf so good? For one, there is always a jaw-dropping demo or two. This time around, JavaScript creator Brendan Eich demonstrated an asm.js version of Unreal Tournament 3 running in the browser at an impressive frame-rate. (Brendan is ‘Just Ok’ at Unreal, by the way :) But mind-blowing announcements of the latest and greatest in the JavaScript world is really the sideshow. The truly valuable experience in attending a conference like JSConf is that it forces its attendees to step out of their individual JavaScript bubbles, and get a glimpse into dozens of others.

The highlight of my JSConf experience was Peter Flynn’s talk on performance tuning secrets. I am not good at JavaScript performance profiling. I wish that weren’t the case. I can get the Timeline tab of Chrome’s Developer Tools to show me some pretty graphs, but I’m still struggling with how to use those graphs to find the bottlenecks in our app. I’ve tried a few times to dig deeper, but have thus far been discouraged with the complexity of the tools and the lack of resources available on the web.

I left Peter’s talk believing that I should give it another go. He pointed out areas of the tooling that have recently improved, and also introduced a few browser APIs that interact with the Timeline that I had not yet discovered. Then, he took a detour into Crazy Town. Peter explained that it was possible to do performance profiling prior to the advancements in Chrome’s Developer Tools. How? Well, measuring the responsiveness of a text editor is as simple as using a high-speed camera to record the time delta between the press of a key and when that character is painted on the screen! This exercise in lunacy really hammered home the point that if it is extremely important (as typing speed is in a text editor) it is OK to get a little nutty in pursuit of a development goal. Now, I don’t think that I will be mounting one of these to my laptop anytime soon, but I will definitely be opening the Timeline tab this week to see if I can turn the corner on profiling our app. Peter’s slides should be enough to get me started, and I can’t wait.

This feeling of inspiration is the mark of a good conference. Probably by design, JSConf seems engineered to make its participants leave feeling this way. It’s partially about the format: short talks, long parties, etc. But moreover, JSConf succeeds because it provides a comfortable place for a bunch of JavaScript programmers to get together and share.

If you have the opportunity to attend a JSConf, you should do it.