This year marked the seventh year I’ve attended CodeStock, a two-day software developer conference in Knoxville, TN. Getting engaged, inspired, informed, and the having an opportunity to reconnect with others is what makes attending such conferences worth it for me.
I submitted a talk and was accepted, so I was able to take part in the speaker dinner the day before the conference. The venue (World’s Fair Sunsphere) was quite nice; I’ve lived in Knoxville for 14 years and never took the time to visit this landmark.
The atmosphere was very chill and I was able to meet some new folks and reconnect with others I haven’t spoken to for some time. I even bumped into someone that was a student in one of the classes I TA’d for several years ago. The food and conversations were wonderful.
An added perk of going to the dinner is that I could pick up my badge and conference swag allowing me to bypass registration lines and not have extra stuff to tote around for 8 hours.
My first CodeStock was at Pellissippi State Community College (between Knoxville and Oak Ridge). For the past several years, the conference was at the UT Conference Center in downtown Knoxville. This year, we had the entire third floor of the Knoxville Convention Center.
The larger venue afforded more attendees — over 900. Several ballrooms were available for the keynote, popular talks, and having lunch. There were eight presentation rooms that seated around 100 people.
Although there was quite a bit of walking because of the larger space, there were more opportunities to have hallway conversations without interrupting traffic. Instead of one food line, there were four. There was free Wi-Fi as well.
The speakers were well taken care of: podium with Ethernet, HDMI and VGA connections to a decent projector, wireless lapel mics, access to an A/V tech person if needed, and a speaker’s lounge.
What was great
Because information about technology is so easy to find these days, tech conferences excel at providing information about leading-edge tech and faciliating face-to-face networking. Given the tech I work with is not leading-edge, I try to make the most out of meeting and interacting with other people.
Pretty much every topic one would expect to see was covered — domain-driven design, Web development, testing, functional programming, entrepreneurship.
What was missing
With eight sessions going on simultaneously, it’s always a tradeoff to figure out which session to attend (and which room it’s in). In previous years, there was a printed guidebook with the talks (and abstracts) listed along side the room and time. CodeStock has also used the guidebook app to let people build out their schedule and get alerts about next sessions. This year, they had a single web page with all the talks listed. On a mobile device, that made for lots of scrolling; at times, I clicked on a talk to get the abstract, and that information would display all the way at the bottom.
This is the second year they’ve stopped doing open spaces. (These have been replaced by lightning talks.) I’m kicking myself for not spending more time in the open space sessions in previous years, as they are a great way of having small-group discussions with really smart people. (Again, networking opportunities abound.)
These notes aren’t exhaustive; I just wanted to share some of the things I jotted down during the talks.
Reducing Developer Friction: A Developer’s Journey from OO to FP (by Reid Evans)
- The model you use to view the world shapes the thoughts you are able to think. (via @TheBurningMonk)
- Procedural -> design patterns -> SOLID -> functional programming
Staying Relevant without Going Insane (by Eric Terpstra)
- This was a short presentation, where most of the time was filled by the audience discussing concepts (fireside chat)
- There are tons of tools to help you do stuff, but does a carpenter call himself a “hammer and nails” expert? Think bigger-picture.
- Learn to learn — filter, just-in-time vs. just-in-case, get your employer to pay for it
- Communicate — listen, share
- Solve problems — code katas, find people’s “pain points” and aim to solve them
Can Doesn’t Mean Should – The Power of Simplicity (by Ken Dale)
- FizzBuzz – Enterprise Edition
- With so many options, who wins? Usually the simplest approach.
- Having these options was supposed to make things easier; does it really?
- Single != easy
- Beware of cargo cult programming; just because Netflix does X doesn’t mean you should
- Consider your future self extending, debugging, and fixing the code
- Complexity isn’t bad; go into it knowingly
Fun with Mind Reading (by Jennifer Marsman)
- This was a session about using the Emotiv headset to measure EEG signals from the brain and combining it with Azure Machine Learning
- The premise was to see if EEG could be used for lie detection using these two technologies
- For about $850, you can get the headset, access to the API, and access to the raw data streams
- Azure Machine learning provides drag-and-drop configurations for dealing with data and inferring things from it — this has a great deal of potential in my opinion
- Check out this cheat sheet for deciding which algorithm to use for your unique problem
Getting Users with Magic and Design (by Victor Agreda)
- “Any sufficiently advanced technology is indistinguishable from magic.” — Arthur C. Clarke
- Techniques used by magicians can be used by sales (think astonishment and amazement)
- Will your apps make people smile?
- As with magic, we need to be masters of attention management — grab me quickly and don’t distract me
- What’s the story for your app? Who’s the hero, and who’s the villain?
I had a really good experience this year, and I hope the trend continues. Although the Knoxville developer scene isn’t as hip as Chattanooga or as large as Nashville or Atlanta, there are some good minds here. Now I just need to balance the feelings of being energized and overstuffed!