I attended the third Chicago Code Camp last Saturday. I haven’t been able to attend a technical conference before but I have been interested in attending one for years. A couple of months ago I saw Chicago Code Camp mentioned on Twitter and I looked into it. Chicago Code Camp is a free technical conference with a wide variety of speakers that was held in the Northern Chicago Suburb of Greyslake. Since there was no cost to go to the conference I signed up.

I decided I would take a day off work and drive up the day before the conference. I used to live and work right by the Woodfield Mall in Schaumburg so I stopped off there and got lunch at Portillos. I stopped in at the bookstore and saw a movie. The unpredictable Midwestern weather caught me though as I had only packed clothes for warm weather and it was fifty-five degrees and blowing rain when I got out of the movie. I ducked into the mall and bought a pair of pants then I went down to the Apple store and played around with the new machines for a while. I really wish downstate Illinois would get an actual Apple store rather than just the display table in the Best Buy. After my afternoon of goofing around I drove up to Mundelein to check into my hotel.

I had a nice evening at the Double Tree I was staying at however I don’t sleep well in strange rooms so I was up early and ready to go early Saturday morning. I drove the rest of the way up to Grayslake Community College for the conference. I was one of the first people there and I ended up standing around for forty-five minutes as the organizers got ready to check people in.

The organizers of the conference had setup a very nice mobile version of the code camp web site and I had preloaded it onto my phone in case there was no wireless internet or 3G service in the college. However the wifi was pretty good and I never had a problem using it. The mobile version of the site let me flag the presentations I wanted to see so I knew which room I wanted to look for for each presentation. I had some time to kill before the first presentation time so I ended up talking to another attendee who was local and lived two minutes from where I had stayed in Mundelein.

When the first session time was approaching I found the room it was being held in and it was getting pretty crowded fast. I got a nice seat in the front row for Michael Eaton’s (@mjeaton) presentation Going Indy 101. I really enjoyed Michael’s presentation it was worth the day off and the trip to Code Camp. Michael’s presentation covered networking, insurance, lawyers, accountants, making contacts and priming your work pipeline. Here are my notes from the session.

  • Networking → go to things like code camps, make contacts with vendors (Microsoft), if you work with a headhunter let them know what kind of work you are looking for such as having to work at least partially remote, contact local business groups such as the chamber of commerce
  • Insurance → carry Errors and Omissions insurance in order to protect yourself
  • Lawyer → having a lawyer will make you money, have a contract designed that allows you to subcontract and allows either side to walk away with 14 days notice
  • Accountant → you need to have one do your taxes
  • Make contacts → it is very helpful to be able to share your experiences and concerns with others doing the same type of work
  • Work Pipeline → you need to have your time booked in October for the end of the year and preferably the beginning of the next year

Although I have only ever done a small amount of contract work if I need to in the future I will be referring back to my notes from this session.

The second session I attended was the Git More Done session which was given by Keith Dahlby (http://solutionizing.net/). This session started off humorously because he bashed the really poor version control systems some people where stuck using at their jobs such as TFS. Unfortunately the rest of the session went by really fast and I didn’t feel like much of it stuck with me. I did learn more about git rebasegit reflog, and git bisect so I got a little extra knowledge out of this session.

After the two sessions it was lunch time and we all went downstairs and got in line. The Code Camp was providing a box lunch that was a decent deli sandwich, chips, applesauce, a cookie, and a drink. I sat with a couple of guys who both worked for small insurance companies doing .Net development and working environments that sounded like they were being forced to use technologies that are more complex than need be to solve the business problems they were trying to address.

After lunch I was off to the Onion Architecture with MVC talk by Matt HidingerThis talk I found very interesting since I have experience developing a site from the ground up using the ASP.NET MVC technology. The speaker was advocating for an architecture that defines interfaces in a lower layer and implementations in a higher layer. I found it an interesting practice but it seems like it would be a bit frustrating to actually work with. I think a little discipline and using some commonsense conventions along with an IoC container could achieve the same things he was advocating.

The fourth session I attended was Micah Martin’s (@slagyr) Clojure; It’s the new Ruby talk. Micah’s talk was the most entertaining one of the day. Micah is “Uncle” Bob Martin’s son and his presentation covered how he created thecleancoders.com website in Clojure with his dad and ran it off of Google’s App Engine platform. Micah wrote a library for Clojure to interact with Google App Engine called gaeshi.

I have had a passing interest in Clojure since it’s a LISP implementation that runs on the JVM. I don’t have much experience with LISP other than a year or two via Emacs customization. However if I needed to run a program on the server to crunch some numbers and I wanted access to some Java code I would definitely consider Clojure. One of the interesting parts of the talk was when someone asked who is using Clojure and Micah mentioned Groupon and one of the senior engineers at Groupon was sitting in the back of the class and he described how they are using Clojure to analyse purchases and look for fraud. The Groupon engineer said they had run tests on several languages to see which would be appropriate for that project and found Clojure to be 13x faster than python.

The last session of my day I had previously decided to go to a DI/IoC talk and then I changed my mind at the last minute and went to JC Grubbs Introduction to mongoDB. This presentation was not great I don’t think he spent enough time introducing mongoDB and going over why you would choose it over a relational database. He ended up spending a lot of time talking about sharding which I would consider an advanced topic.

After all the sessions where done there was one last bit of the Code Camp where they raffled off a bunch of technical books, some .Net tools, and a couple of high end XBox packages. I ended up having my name drawn for an O’Reilly ebook of my choice which aside from one of the XBox’s was my next choice. I drove to the closest Portillos and had dinner and picked up an extra Chicago style hot dog for my wife since she hasn’t had one in a long time.