
I've read about other code camps and since I'm in KC at the moment I wasn't able to attend the Dallas Code Camp back in June. Thankfully, at the end of August I learned of Tulsa Techfest. Tulsa is only a 4 1/2 hour drive and my wife has family there that I was able to stay with and visit with on Friday night. The drive down was uneventful and I was able to catch up on my backlog of podcasts which was a nice added benefit.
These are the things I took away from the sessions
Use Strongly-Typed Session Wrapper, Raymond Lewallen - This is a great idea and a great way to keep the session object from getting bloated with duplicate data and the performance hit of boxing/unboxing if you store value types in the session. One key point that I took away from the presentation was that by having all of the developers on a team use this custom session object forces everyone to agree with putting something in the session since it requires a change to the class. Plus, it also keeps everyone in the loop on what is available in the session. How many times have you been on project where multiple copies of the same data were stored in the session? This is a blog post he has on the same topic that gives some of the sample code.
Continuous Integration, Raymond Lewallen - The team on my current contract is using CI and it is awesome! We don't do all of the bells and whistles (working on it though) but just having the code build with each check-in is great. I can't think of working on a project without it now that I've been using it. This session has some awesome take-away code. Raymond walked us through the sample code and by the end of the session we had everything setup and working. Everything meaning - CruiseControl.Net, NAnt, Subversion, Tortis, TestDriven.Net, NCover, and FXCop. He would check-in the example project to subversion and that would kick off the whole process. Good stuff! I know others that have spent a few days to setup what he had setup on 45 minutes. Fyi, it's located here and the readme file that is included in the zip file is exactly what he used during the session.
Anti-Patterns in Software Projects - The Human Factor, Robert Daigneau - Anti-Patterns are typically discussed around software design or programming. This session wasn't about code. It was from the stand point of working within a team environment and how to be successful at it. Topics like this intrigue me since you can have the most talented developers on a team and still not produce a quality product or even enjoy going to work everyday. Rob defines it like this - "Problems caused by people that impede the success of a software project."
He covered many types of developers that can mean trouble to a project: The Defensive Developer, The Fortress, The Perfectionist, and The Workaholic. We all have worked with people who fit into these categories. The trick is how to deal with them and also realize that we may be like this and what we are doing to change. One point that he made that I'm going to share here (hope he doesn't mind).
The "Ugly Baby Syndrome"
- We love our work like parents love their kids.
- Be careful with criticism
- Uninvited advice
- Misunderstanding the context
- Nit-pickiness
- Code-Review abuse
I'm putting it here because I feel that it is a very important point when it comes to building a cohesive team that can grow and learn together. Rob covers anti-patterns for leaders too and how to handle burnout and how to make a software development a lifelong career. His entire presentation can be downloaded from his site.
Agile Project Experiences, Tim Gifford - Other than listening to Scott Hanselman discuss Scrum on his podcast I've never really seen or heard about an actual Agile project. Tim discussed Scrum and ran the session like it was a a project. He listed out the three iterations he was going to go through before he started and them tracked to them as he went through the session. That was pretty cool and very creative on his part.
I had to write down the comment he made when he answered the question, “What is Agile?“. He said "What do you do the last two weeks of a project? Do that throughout the entire project!" Well, on my latest project, we all co-located ourselves, had 15 min. stand up meetings every morning (no off topic stuff allowed) and had builds sent to QA everyday at 3pm. It was great and I could get use to working like that everyday. Everyone was in the loop and everyone knew what was expected of them. It was great.
All this did for me was reafirm my desire to be on more projects like what Tim had described. Whether it is Scrum, XP, etc.. I'm not sure I care. I just like the process of getting quick feedback on your work, everyone knowing what's going on, and team members knowing what's expected of them.
The prize give away setup was pretty cool. I had 60+ tickets that I could distribute as I wanted in the different give aways. I put about 40 in the DevExpress one because I wanted a license for DXperience Enterprise which includes a license for CodeRush. Don't get me wrong, I love and use ReSharper everyday but CodeRush has some cool features that I would love to have for free. Most of my other tickets I put in for ComponentOne Enterprise and Telerik Developer license and a bunch of books. I did win the book, Professional .NET Framework 2.0, and got a few free t-shirts and a hat.
This event was free but let me tell you that it sure didn't seem like it. The content, speakers, and setup was as professional as any conference/training I've been to. The OSU-Tulsa classrooms, the main auditorium, free wi-fi, and lunch wa all great and all of the volunteers and sponsors were wonderful. All-in-all it was a great event and I plan on attending more like this in the future.
Giddy Up!