Posted by Skrud at Friday, November 23rd 2007 at 8:00pm
This past summer was undoubtedly the most intriguing, influential and fun period of my life I’ve ever had. Looking through my archive of pictures in iPhoto include trips to the Biodome, the Imagine Cup experience, no less than two trips to New York City, and dozens if not hundreds parties. At the centre of it all is the internship I held for four months at IBM. I had a blast working there, I got to meet some incredibly smart and interesting people, and I learned more about opportunities out there than I thought. I could write pages upon pages about my experience as an Extreme Blue technical intern – but I’d rather talk about it person. Instead, I’ll tell you how this summer changed me completely.
I’m moving to Ottawa
The biggest surprise of the summer came to me during my first week of school. I got a call from IBM offering me a full time job, starting July 2008, in the Garbage Collection team for their Java Virtual Machine. I remember showing up to my interview, barely having had time to read through a research paper on “Uniprocessor Garbage Collection Techniques” and wearing jeans and a t-shirt that read “I’m in it for the π”. They asked me tons of questions on C programming – which I live, eat, sleep and breathe. It was a long interview, about two and a half hours! But I got the job, and as of July 2008, I’ll be moving away from my beloved Montreal.

I can’t even begin to describe how intimidating it is for me to be leaving, and it’s something that’s been consuming my thoughts since September. Naturally, I should be nervous… and I still have quite a few months to psyche myself up for it. But it’s going to be a huge change. On the one hand, I’m relieved that I don’t have to spend the next 8+ months looking for a job. I understand that I’m extremely lucky – but I feel like I replaced one burden with another: the anxiety of leaving!
I know I shouldn’t be too worried about moving to Ottawa. First of all, it’s not at all that far from Montreal. It’s relatively cheap and easy to get back here for the weekends and see all my friends. I already have some great friends in Ottawa, so I won’t be starting completely from scratch at building a new social network. Ottawa also has a great collection of pubs, despite its small size. And I also know that I won’t lose my current friends, or my team. I know that I have the best set of friends and that a mere two-hour drive isn’t going to get between them and me. So why, then, am I still so anxious?
At the heart of the matter, I suspect, is the fact that I’ll be leaving school. Concordia has been a wonderful place for me. I’ve learned so much, and made such close connections with so many people. I’ve gotten involved with a number of student associations, like ECA, and I’ve given up countless hours volunteering for all kinds of events. The student community in Engineering at Concordia is a fabulous one, and it pains me to have to say goodbye to it and I know that when the time comes, it won’t be easy.
I’m worried that I’ll be forgotten. These days, I can walk through the Hall building and run into tons of people whom I know, that say “Hi!” and smile as I walk past, and it makes me feel good to be recognized. I suppose that’s what happens after spending close to five years meandering through the same corridors. I know that once I’m gone, life at Concordia is going to continue to move along and move forward, and that it’ll do so without me – and that’s what bothers me. I’ve been personally involved in so many things here, I’ve had a hand in organizing so many conferences, trips, activities, and parties that it will feel weird to me to see those same things happening without me. Maybe I’m just being selfish.
Everything that’s going on now is the current stage of a chain of events that started way back during the CUSEC 2007 conference. The catalyst was Dominique, and the impact that she has had on my life in the past year is profound. She convinced me (and she actually did have to twist my arm a bit) to apply to the Extreme Blue program in the first place. At the time I thought it was just going to be a summer job, but look at what came out of it! When I was working at IBM this summer, Dominique was the supervisor for both Extreme Blue teams in Montreal (and she was great to work with!). And when she found out that OOPSLA was coming to Montreal, it was Dominique who told me about it and mentioned the Student Volunteer program, without which I never would have gone. I’ve really got to find a way to thank her properly. I don’t think a mention on my blog counts for nearly enough!
Tags: 2007, anxiety, events, extremeblue, ibm, work | 4 comments
Posted by Skrud at Wednesday, October 31st 2007 at 12:55pm
It was barely a week before the conference when they announced that Kathy Sierra would be a surprise special guest keynote speaker at ooPSLA. The second I read that on the web site I was excited. I adore Kathy Sierra. Her blog has offered countless insights on software engineering, usability, passion and people.
I saw Kathy speak at CUSEC 2006, and it still sticks in my head as one of (if not the) best presentation at CUSEC. Ever. So even though she was giving the “Creating Passionate Users” speech at ooPSLA, and even though that was the same talk I had already seen, I made sure to attend Kathy’s keynote – and give her greetings from Ed.
Kathy hinted that she might be coming back to the blogging world, and I sincerely hope she does. The world needs people like her, even if it doesn’t always deserve her.
Tags: 2007, conference, events, oopsla | 1 comment
Posted by Skrud at Friday, October 26th 2007 at 6:51pm
Following the Fred Brooks keynote speech, I went to the coffee break room to caffeinate before going to the Kathy Sierra presentation. I was minding my own business, sipping some coffee, reading my RSS feeds, chatting with some friends from UVic; until they walked off to go their presentations. I noticed out of the corner of my eye two old guys putting their jackers on the chairs around my table and sitting down. Looking up, I was faced with Fred Brooks and David Parnas. Wow!. These two guys practically created software engineering as we know it. What do you say to them?
I told Dr. Parnas about the time I saw him speak at CUSEC 2004: That one presentation was an extremely influential moment of my life. I remember he was talking about the importance of software quality, and how it needs to be engineered as oppose to hacked together by a rogue band of coders. Most importantly, I remember looking up at Dr. Parnas giving that speech and thinking “that’s what I want to do”. As soon as I got back to school following that conference, I applied to transfer my major from Computer Science to Software Engineering. I think that was one of the best decisions I’ve made in my life, and I thanked Dr. Parnas for that.
David Parnas replied to me: “Thanks for that! That actually just made my day.”
And Fred Brooks added: “As well it should!”
And I got a picture with both of them.

Tags: 2007, acm, computerscience, conference, events, oopsla, soen | 2 comments
Posted by Skrud at Friday, October 26th 2007 at 6:37pm
Attending ooPSLA was a phenomenal experience. My brain has been working overtime, at 150% efficiency, to try and understand and make sense of everything I’ve seen and heard and read this past week. I felt like I understood quite a bit, but I was challenged by even more. For each nugget of golden information I managed to get out of a particular lecture, I’m sure there were many more that flew a few thousand metres over my head. Whatever I write about here is ooPSLA as I was able to understand it, and I probably got a few things wrong.
I was scribbling notes during each lecture I attended, and going over them I can see one theme that permeated the entire conference more than any other: communication, starting with DesignFest, which was the first event I went to.
Software engineers face an infinite number of challenges involving communication. We’re not only talking about communication between software designers and customers, but also between software engineers and each other. How do you get people to communicate clearly and precisely? How can you distribute the intellectual work of software design and still maintain Conceptual Integrity? You need to be able to not only work together with someone face-to-face, but more and more you need to be able to work with people in other places, so called “telecollaboration” (more on this topic when I write about Fred Brooks’ keynote).
Think about the overhead and the time it takes in order to make another person understand the design you have going on in your head? UML models can only express so much, but they have their limits (as does any language). That’s why there were even tutorials, such as the one I attended – “The Art of Telling Your Design Story”, by Rebecca Wirfs-Brock – which are all about how to communicate your design to someone else.
As a whole, ooPSLA was a legendary experience that I never want to forget. This is one more aspect of my life that I have to thank Dominique for. She told me about the ooPSLA Student Volunteer program, and if it weren’t that I probably never would’ve even found out that the conference was in Montreal! Thanks, Dom! :D
Tags: 2007, oopsla, programming, soen | 1 comment
Posted by Skrud at Friday, October 26th 2007 at 6:23pm
The opening keynote of ooPSLA was not a geek. In fact, he opened up his speech saying “I don’t do what you do.” Peter Turchi heads an MFA Program for Writers in North Carolina. So what was he doing at a conference on “Object Oriented Programming, Systems, Languages and Applications?”
It turns out that conference chair Dick Gabriel had once decided to take an MFA program. He was not terribly good at it (though he continues to write a poem every day). Peter Turchi was his teacher. What contribution could a Creative Writing professor possibly have at a conference on Software Engineering? I’ll tell you.
The purpose of Turchi’s talk wasn’t to present some radical new paradigm of programming, and it wasn’t to show off some fantastical form of research. The theme of Turchi’s talk, was that getting lost can be a good thing. When you get lost, you have to find your way back. In the process of finding your way back, you learn a new path. And sometimes, that is how you have to learn. In order to succeed and innovate, and create something new, you have to get lost in it.
If you have a map, you might be worse off than if you had no map at all. When using maps, you have to realize that all maps are distortions. No map tells the truth. Think about the typical world map that you’d see almost anywhere:

You’re pretty used to seeing it, so it won’t look particularly strange to you. But what about this “Upside-Down” world map?

It’s the same planet, and there’s no real “up” direction, so it’s just as accurate as any other map … but it’s still a distortion. The point is that no map is accurate, and if we rely too often on a single distortion (or abstraction), we will lose sight of our destination. We will get stuck in a certain paradigm, and be unable to “get lost” and discover a new path or a new perspective.
The parallels to software engineering are profound. A “map” can be some predefined solution to a problem; like a design pattern. There’s nothing wrong with using design patterns, sure they help, sure they show us useful and reliable information, so do maps. But we have to understand that design patterns themselves are an abstraction. Our purpose as software engineers and developers and programmers is to solve a problem, not to blindly trust and apply design patterns. We need to be able to get lost in a problem, and force ourselves to find a way out.
Tags: 2007, events, oopsla, programming | no comments