I was lucky to be able to attend CodeMash for the first time earlier this month and it was a fantastic experience. In my five years as a professional developer, this was hands down the best conference I’ve been to.
Hosted at Kalahari Resort in Sandusky, Ohio, CodeMash draws industry professionals from all over the Midwest. Networking, swag, an indoor waterpark, and a ton of quality learning opportunities give CodeMash everything you could want in a conference experience.
Here are my three biggest takeaways from the event:
View the Source, Luke
While the real-world code examples provided a lot of insight, Joe’s approach to learning new languages and technologies was more impactful. He encouraged us to prefer real-world code examples rather than tutorials that use “code to teach,” which often lack substance. Take a look at Joe’s latest blog post to see this type of learning in action.
Ultimately though, Joe’s biggest lesson for us was to think of code as a type of literature, which has its own unique artistic value. That idea really resonated with me and left a lasting impression long after the talk was over.
In 2016 we brought React.js into a couple of client projects, so I wanted to get a better idea of what maintaining a large-scale React app looked like. Luckily for me, Jeremy Miller gave a talk on exactly that: “An Experience Report from Building a Large ReactJS/Redux Application.”
He and his team built a product called Storyteller, which is described as being “for creating robust, human readable acceptance tests for your .Net system and a means to create 'living’technical documentation” Essentially, it’s a browser-based environment to maintain and run acceptance tests against a .Net project. It’s fairly complicated user interface with lots of data flowing from server to browser.
Jeremy’s team made the switch to React in 2014, making Storyteller one of the longest tenured React production apps. They’ve since been able to take advantage of new libraries and methodologies as they’ve come out over the life of the product.
HTTP/2 is Here
The protocol that drives the Internet as we know it, Hypertext Transfer Protocol (HTTP), has gone essentially unchanged since 1997. For some quick context, that was before Chrome, Safari, or Firefox were even invented and years before the worst browser of all time, IE6, became a thorn in every web developer’s side.
During the two decades since HTTP/1.1 was released, hacks to get around the protocol’s limitations have become industry best practices. Things like file concatenation, image sprites, domain sharding, and inlining CSS for “above the fold” content are all practices trying to squeeze the best performance out of protocol that was conceived when websites looked this:
Pre-Y2K websites were bad.
However, as Byron Delpinal told us, the days of using that 20-year-old protocol are numbered. HTTP has reached version 2 and, surprisingly, already has great support and resources on browsers and servers alike.
While all this sounds cool–because it really is–there are steps that we as developers need to take in order to reap the full benefits of HTTP/2. I’m excited to fit those new steps into the WillowTree (formerly Dynamit) workflow moving forward.
Overall, CodeMash 2017 was an awesome experience. It helped reinvigorate me as a developer, and I’ve already seen improvements in my code from the lessons I learned.