Last Saturday (November 17, 2012) I attended 1DevDay, a developers conference in Detroit, MI. It was a multi-track conference, with up to 9 sessions going on during any given time. With so many sessions, it was hard to select which talks to attend. Only once did I feel like I made an incorrect choice. The variety of sessions made for plenty of options to choose from, which attracted a very large crowd of developers to the event.
It was held at Cobo in downtown Detroit, and while Cobo isn’t the fanciest place for a conference, it was definitely functional and everyone involved (staff and volunteers) did a wonderful job making sure the conference ran with no significant glitches (Except maybe the fire alarm going off during one of the sessions, which the developers all promptly ignored. For the record, it was a false alarm and we were informed quickly that was the case.)
While it started a little late, the initial keynote was worth the wait. Ted Neward gave an inspiring talk entitled Iconoclasm, and encouraged all of us as developers to work towards becoming iconoclasts in our field. Iconoclasts are people who do things others say can’t be done, and Ted stressed that iconoclasts become irreplaceable to their employers, and really to society as a whole. There are 3 things a person needs to do to become an iconoclast:
- Iconoclasts see things differently, changing their perception
- Iconoclasts don’t act or make decisions from fear
- Iconoclasts have the social intelligence to know how to communicate with others
While some people thought it ran a little long, I felt the length was more than justified by the content and found this one of the more valuable sessions I attended all day.
From there we broke into individual sessions. While I couldn’t attend all of the sessions, of the ones I did go to, I enjoyed really enjoyed the following:
- Reverse Engineering .Net, by Joe Kuemerle, was interesting as it showed how it was relatively easy to take a compiled binary and turn it back into MSIL (Microsoft Intermediate Language), which can then be reversed into a higher level language like C#, all using free or low cost tools that are easily available. The biggest takeaway, besides some of the tools used to do this, is to be extremely cautious what you store in your source code as it is not secure.
- The Design Patterns and Backbone session, by Aaron Maturen, went over a number of useful programming design patterns, and how they apply to JavaScript, before delving into a Backbone JavaScript example. It provided a good overview of how design patterns can improve your code, and gave a good introduction to Backbone as well as some reasons why you would want to use a library like Backbone in your development.
- I was a bit skeptical going to the Responsive Design talk, by Marc Nischan, as many of them have just been a regurgitation of the basic principles. In this case, while there wasn’t a ton of new techniques, the talk was worth it for the presentation quality. It was well done and full of humor, while still getting across the main principles of Responsive Design.
- One of the scarier talks of the day that I attended was the session on Why Poor Web Programming is Ruining Information Security, by Mark Stanislav. He discussed some of the problems being faced in web programming, and included recent examples of very simple breaches he performed in just the last few months that exposed thousands and thousands of personal user information. He made the point that if as developers we don’t self-regulate our industry soon, the government is going to do it for us, simply due to the amount of sensitive information developers regularly have access to. Web security is not something that can be an afterthought; it needs to be an integral part of every piece of programming we do, as the weakest link in the chain is all that is needed for someone to exploit a system.
The final keynote of the day was entitled “Self-Engineering”, by Chad Fowler (SVP of Technology at LivingSocial.) Many engineers are often terrible at taking care of themselves and self improvement in general, getting absorbed with work and ignoring the bigger picture. Chad’s keynote gave practical ways to apply the engineering discipline to the thing that matters most, life. In additional to personal development, this session touched on entrepreneurship, programming, outsourcing, and how to level up in life. By approaching life as a series of systems and continually testing what works and what doesn’t, we can find ways to improve our relationships, health, and careers. This was another inspiring talk, and a good way to end the day.
Throughout the day, I met new developers from the local area as well as learned interesting things. At the after-party I had the pleasure of talking with some of the speakers from the day, as well as connecting with some local developers. I sincerely enjoyed the 1DevDay conference and look forward to next year.