|
I just recently attended a conference and had to make some tough choices among some concurrent sessions and tutorials. To help, I came up with an objective scoring system. The system consists of evaluating each session against three categories. Each category is given a score from 1 to 3. Then, the total is tallied to give each session a final score ranging from 3 to 9. The session with the highest score wins.
Quickly, the three categories are:
The first category addresses breadth of knowledge. The pragmatic programmers would call this diversifying your knowledge portfolio. In Scott Ambler terms, attending a session on a topic you don’t know much about might help you on your way to becoming a generalizing specialist. It’s the factor that addresses learning something new. Give yourself a score of 3 if you know little or nothing of the topic. Give a score of 1 if you’re an expert or really proficient. For example, suppose you’re a Java guy and don’t know much about .NET. Give .NET related classes a score a 3.
The second category addresses your immediate and near term needs. Do you use this now? Will you use this in the next six months? This category addresses the depth factor. Attending such a session may shed some light on something you never knew about something you currently use. You may learn how to use a technology better, some best practices, or some tips and tricks. Give a score of 3 if this is something you use or will use soon. Give it a 1 if you don’t see it in your near term future. Give it a 2 if you’re not sure.
The last category addresses everything else. How much do you want to go? How much do you want to learn this technology? Maybe it’s AJAX or Ruby on Rails and you give it a score of 3 because you really want to learn that hot technology. Maybe Uncle Bob is speaking and you really want to go see him perform. Score it a 3. Or maybe you’ll give the category a score of 1 because you think you won’t get much out of it.
Add the scores of the three categories to come up with a score for the session. Then pick the session with the highest score for that time slot. What if there’s a tie? Well, you could look at the categories and pick the session with the highest score for the category most important to you. I think conference sessions in general are better at the breadth category. How much can you really get out of going to a 90 minute session anyway? Longer tutorials are better at depth. Consider that for helping to break a tie.
What I found is that many times the first two categories cancel each other out. Logically, if you don’t know much about something (score 3), then you must not be using it and may not need too in the near term (score 1). On the flip side, if you know a lot about something (score 1), it’s probably because you’re using it (score 3). However, what’s interesting is when you don’t know anything about a technology and you’re going to use it real soon. That’s 6 points right there.
The other negative is that scoring sessions is time consuming and we programmers are notoriously lazy. However, learning is a career investment and investments should be carefully chosen.
I hope this scoring system helps you. I know I was pretty happy with the results.
Clint makes some great points here. When you attend a conference not only
do you want to have a bit of fun you also want to learn something that's
going to help you in your career. I speak at several conferences a year,
and I'm often surprised to see people wasting their time in presentations
along the lines of "What's New in Release X.Y" or "Techniques for Using the
XYZ Library". Although those might be interesting topics, you can learn
this material yourself much faster and more thoroughly by simply googling
the topic and reading a few good articles on it. Sadly those talks will be
packed, meanwhile right next door someone is giving a talk on the
fundamentals of UI design or the fundamentals of database design, two
topics which all developers could benefit from learning something about
(and no, if you think you've "figured it out yourself" you likely haven't).
These are skills which would not only last much longer than knowing XYZ
stuff, they also have a direct impact on your end users and therefore are
much more noticable to the people with influence on your career.