<%@Page MasterPageFile="~/CodingGeekette.master" Title="Coding Geekette" %>

Monday, May 26, 2008

What's the most fun you've ever had ... programming?

While blog-surfing tonight, I came across this entry on Inside the Machine. This has me thinking...

What's the most fun you've ever had... programming?

I think for me, one of my more fun projects was taking part in CodeFest '99 at OOPSLA, during my sophomore year of college. I was part of a team that had to implement a coffee machine design from the DesignFest team.

So... what made this project fun?

  • Working on a team: I had two other people who I had to work with that I had never coded with before. We hadn't really prepared for our trip, but we knew that personality-wise we'd be fine together. But do personalities always line-up to coding styles? Surprisingly, in this case, they did. We were able to work together quite well. We figured each other's strengths and weaknesses and were able to cover pretty much everything amongst the 3 of us.

  • Learning a new language: In the few days that we had to implement the design, I picked up enough Java and Java Swing to be able to run with it. If I get to learn a new language while doing something interesting, that definitely makes programming more fun for me. And yes, we did choose the language because of the coffee-Java relationship.

  • Taking on other challenges: Besides learning Java, we also had to work on changing our code towards the end, when they decided to implement more features in the coffee machine. Other curveballs were thrown throughout the conference, but I think our team handled them well.


That event made quite an impact on me, in ways that I can't fully explain here, but it meant so much to me, that I figured when I returned to developer life, I would return to OOPSLA. This year, I will be doing just that, heading to Nashville at the end of October to participate in DesignFest at OOPSLA. This time, I look forward to being on the other side and putting my design skills to the test and seeing other people's design styles. I haven't seen much in the way of CodeFest mentioned, but I hope that it happens, as it was a great learning experience that I will always remember.

Labels: , , , ,

Saturday, January 26, 2008

Why OOPSLA?

Yesterday, at lunch, one of my fellow programmers asked me "Why OOPSLA? Why not TechEd or some other conference?" Honestly, having been out of the programming realm for so long, I'm not familiar with all the conferences out there for us. So give me links to look into these other conferences. I've already declared 2008 my year of passions - and programming is one of them that I'm focusing on. Give me fuel for my programming passion.

As for OOPSLA, there's a reason why I want to return to it. Nine years ago, I was part of a CodeFest team at OOPSLA '99 in Denver. CodeFest is where selected university teams come out and implement designs that were developed in DesignFest. DesignFest is a part of OOPSLA where developers get together in teams of 4 or 5 and solve a problem given to them. They need to work as a team and come up with all that the coders would need to implement the design effectively.

I worked on a team with two other people from our university's chapter of ACM. One of those teammates was the chair of the student group; I was his vice chair. The other happened to be a great programming friend as well. None of us had worked together on projects or coding, but we were very lucky to work very well together for this. When we got our problem - design and implement a vending machine, we had to then figure out which language would be best for our implementation and then go from there.

Our problem was not just any vending machine - it was a coffee vending machine. That told us there what language we just *had* to use - Java! I hadn't ever used it, so I learned it as we worked throughout that week. Both of my teammates had used it and knew that I'd be fine learning it, so that's what we ended up implementing it in.

Now OOPSLA stands for Object-Oriented Programming, Systems, Languages, and Applications. So the whole point of the conference is to see things and learn things that are all about the OO approach. I had used Visual Basic extensively, which really didn't get into OO notation as much as I needed for the conference. So I figured out that as well.

At the end of the conference, we had to present our project. We had a lot of people watching us throughout the conference, since we were programming out in the open. There were a lot of people in front of us at the conference, watching our presentation. We also never met our design team, so we did what we could with what they gave us. It was a great experience for me - learning a new language, learning about OO a bit more, learning more about the software design lifecycle, and meeting many people.

So why OOPSLA? It was where I realized long ago that I truly am meant to be a programmer. I found things that challenged me and that kept me curious. This year, I want to go to OOPSLA and participate in DesignFest. I enjoyed my CodeFest days, but I also want to see what it's like to work with total strangers on a programming project that we have no prior knowledge of, at the moment. I want to see what it's like on the other side of the OOPSLA 'Fests. And maybe I'll get to see CodeFest teams there who show the same potential that the teams of CodeFest '99 showed.

Labels: , , , ,