Geekflex

Adventures in post-college life

Bye Bye Blue, Hello Genetec

It’s been 18 months since I started my career working on the Garbage Collection team for IBM’s Java Virtual Machine in Ottawa. When I first got the call with that job offer, I was pretty damn excited. It was exactly the team I wanted to work on. To this day, I can’t imagine a better place to start my career. The experience gap between myself and my coworkers was huge, such that I knew I would have plenty to learn and lots of room to grow. And believe me, I was learning heaps of information every day.

Yet life wasn’t all roses. The disconnect between my life as a student and and professional office life wasn’t something I had a lot of trouble coping with. I moved back to Montreal one year ago because I decided that it was much more important to enjoy my life and spend time with my friends. I declined the offer to work remotely from Montreal and keep my job on the Garbage Collection team because I didn’t want to be isolated from my team. Unfortunately, the team I’ve been working with over the past year is nothing like the one I was working on in Ottawa.

On the bright side, this past year has given me the time figure myself out. I spent the time conversing with my mentor (who has kept me sane and focused), and chatting up dozens of people all over IBM to get an idea and a feel for where I would belong. One of the biggest advantages of a huge company like IBM is the diversity of its teams. Especially in Canada, where IBM grew out many acquisitions, the culture varies greatly from team to team. Talking to people from all different types of teams in different parts of the business helped me figure what I wanted out of my career.

Knowing what I wanted was the key step in figuring out where I should be going. There’s no doubt in my mind that if I looked hard enough I could find what I wanted, whether it was in IBM or not. I began to get discouraged, however, when I realized that Montreal lacks a bustling tech scene. Unless you want to work in videogames, your options are quite limited. As far as IBM is concerned, the teams that interested were all either back in Ottawa, or in Markham. I started to feel like staying in Montreal was holding back my career.

Writing about my experiences on this blog turned out be the best thing I could have done. Little did I know several of my friends, acquaintances, former classmates and colleagues actually read it. It didn’t take long for them to start telling me about the jobs that they have and enjoy, and offered to refer me to their employers. Shortly thereafter I had a two-week period where there was an interview of some kind every single day.

The company I decided to go with was also the first company to make me an offer. That company is Genetec. I was impressed with how quickly they got me through their hiring process. Right after applying, a friend of mine (whom I didn’t even know worked there) called me to let me know how much he loved the place and it’s atmosphere. When I went to visit the lab I fell in love with the environment. My gut feeling told me that I would be quite happy there.

Even then, I was hesitant to accept the offer right away. I wanted to see what my other options were and compare what different companies could offer me. The clincher was when I was participating at Les Jeux de Génies du Québec as a “parrain”. The team from Université de Sherbrooke was walking around with giant Genetec logos on their clothes. The fact that the company was so ready and willing to continually invest in student life spoke loudly to me. It solidified the initial feeling I had that I belonged at Genetec.

As for the project, I’ll be part of a brand new team building a brand new product from inception to deployment. This is an opportunity that I’ve been looking for since I graduated. I don’t get the feeling that it comes along very often. I’m very excited to start this new chapter in my career.

I’d like to express some gratitude and thank everyone who has helped me along the way, especially my mentors and all the IBMers that spoke with me over the last year.

So long and thanks for all the fish. :-)

2 Comments

The “Streets of Rage” Theory of Growth

When learning any skill, the key is to practice. Whether it’s programming, playing an instrument, playing a sport or yodeling, practice makes perfect. You start off with something small, like “Hello, World” or playing a single note, then you practice until you understand it well and it becomes second nature. To grow the skill, you need to add to that small part. You take what you’ve learned from writing “Hello, World” and you rearrange the commands, or add new ones. You take that single note you learned how to play and you add some more, learning a scale or a chord. Then these new tasks become second nature. You understand them and you’ve learned them. You can play scales with your eyes closed, and write programs without looking at a reference.

If you keep repeating this process, you’ll notice a pattern. Each time you start learning a new technique, built upon an old technique, there’s a lot of work involved. You focus your mental energy on understanding the differences. Eventually you become comfortable with the new technique, and it no longer requires much effort. You can perform it without thinking. Once you can perform without thinking, you’re not growing that skill anymore; the thing you’ve just learned becomes another tool on your bat-belt which can be used to learn and grow newer, more challenging techniques. In order to grow and become better at something, you must keep learning new things, applying the techniques you’ve mastered and developing new ones.

Streets of Rage was a series of beat-’em-up games for the Sega Genesis. One of the most interesting features of its gameplay was that the bosses at the end of a level became standard enemies in the following levels. In order to continue through the game you were forced to trivialize the enemies that at one time provided a significant challenge. Next thing you know, you’re fighting six of them at once and you can do it while yawning.

Streets of Rage 2

What kept the game interesting is that you’d have to keep growing your bad-guy-fighting skills. Each level introduced new mini-bosses and bosses that prepared you for the later bosses. How boring do you think Streets of Rage would be if, after beating the first boss, that boss was the only enemy you fought for the rest of the game? It wouldn’t matter if he came at you in swarms, eventually you’d become so comfortable and efficient at defeating him that the game wouldn’t be challenging anymore.

This same concept is something I look for in my professional life. I want bigger and better challenges. If I keep fixing the same kinds of bugs day-in and day-out, using the same tools, performing the same tasks, I’m not growing as a software developer. Skills which have become trivial for me are tools that I can use to learn more complex skills.

The ideal challenge is something that’s just beyond my abilities. Close enough that I’m confident enough to do it, and far enough away that I need to really stretch on tip-toes to reach it. Eventually I’ll get comfortable with it, I’ll be a little taller, and I can reach a little higher.

4 Comments

The 5 Most Important Criteria For Career Happiness According To Skrud

This week marked the one-year anniversary of my first full time job after graduating. I gained some experience and learned a lot about the company, its people, processes and teams. But more than anything I’ve learned a lot about myself. This has hardly been a solitary journey, and in the past year I’ve discussed with many different colleagues, mentors, managers, supervisors and even executives — both inside my company and elsewhere. I’ve participated in community discussions about engaging “Generation Y” in the workplace. All these experiences have helped me to identify and articulate those things that I believe are essential to happiness in my own career.

1. Face-to-Face Collaboration

I want to work with people in person. This could mean brainstorming together, bouncing ideas and solutions off of each other, and helping each other learn. It could include gathering around a whiteboard, or even a pad of paper, or getting two or more people huddled around a computer monitor trying to solve some nasty little bug. Or pair programming. Two heads are better than one and communication is infinitely more efficient if you have two people sitting together side-by-side. Some things that take hours to explain over the phone, instant messaging or e-mail can take mere minutes to explain in person. You can save all this time and extra frustration by just pulling up a chair next to someone else.

2. Friends

I’d love to have coworkers whom I can relate to on a social and cultural level. I want coworkers whom I can be friends with. The advantages of working with friends are endless. Collaboration amongst people who know each other well and get along is so much more meaningful. The small distractions that friends provide at the workplace, such as sharing a clever comic or YouTube video, add some positive energy to the environment. Something so simple as having a friend to eat lunch with can make a world of difference in a day that might otherwise be spent in isolation. These relationships extend beyond the boundaries of the workplace and become real, meaningful friendships. Going to a bar after work for happy hour, catching a movie on Tuesday night or heading to the Just For Laughs festival together are all things that coworkers who are also friends with each other can do. In short, it makes sitting in an office more lively.

3. Challenge Me

My university career was spent learning, developing and honing my technical, social and communication skills. My internships and my first year out of school have given me some practical experience. In order to grow, learn and master these skills I need to challenge them. I would love to be working on tasks that are just beyond the reach of my abilities, forcing me to learn something new or apply my skills in new ways. Naturally, every job will have some tedious aspect to it, but a sufficient challenge can be a reward for sticking through the menial parts and make everything worth it. The trick is finding those occasional projects that make me say “This is why I love this job.”

4. Talk To Me

Just as I seek out technical challenges to practice my technical skills, I need a forum for improving my communication skills. Unlike the stereotypical “geek”, I’m an extrovert. I love to talk, socialize and explain. I welcome open discussions and sometimes I like to play devil’s advocate. I thought that the ability to communicate effectively was secondary to my technical skills but what I’ve learned over the past year is that communication is a skill that needs to be cultivated. I’ve also learned that I need to communicate as much as I need a technical challenge, if not more so. The main reason I come into the office everyday is because it’s less lonely than sitting in my apartment. I only exercise my option to “work from home” if I have an excessive backlog of laundry to do. (In other words, it’s better than showing up to work in my pyjamas because I’m out of clothes).

5. Lifestyle and Location

Like others of my generation, I work to live. Money and wealth are not my primary motivators. Life should be about living. At the end of the day, the most important thing is that I can confidently say “I love my life.” If that’s not happening, then I know I need to do some moving and shaking. When I was working in Ottawa, my job was pretty awesome. I regularly had technical challenges and was working with a team of ridiculously smart people. After a few months, however, I learned that I simply couldn’t live in Ottawa. I found that I was sacrificing my lifestyle for the sake of my job. No job could replace the friends, entertainment and culture that I had enjoyed throughout my time in Montreal. It seems obvious now, but it was a tough lesson. I learned that the city I live in has an immense impact on my happiness and well-being. I need to be able to do the things that I love doing, whether it’s attending the Fantasia Film Festival, Nuit Blanche, the Eureka Science Fair or simply hanging out with my beloved friends. The bottom line is that my job must enable me to live my life to the fullest, or better yet be a part of what makes my life worth living.

It’s taken me a full year, but I feel like I’ve finally been able to state with confidence what I want out of my career and where it fits in with the rest of my life. Now that I know what I’m looking for I’m in a much better position to find it. World, here I come.

12 Comments

Do What You Love

It’s something I’ve heard told over and over again. It’s the underlying message of virtually every keynote presentation at CUSEC. It’s something to strive for and believe in. It seems obvious when you think about it, but it’s amazing how often this simple mantra gets ignored or pushed aside or put on hold. In what is likely the most inspirational speech I’ve ever seen, Gary Vaynerchuck states “There is no reason in 2008 for you to be unhappy.”

Why do we need so much encouragement to do what we love? If we love to do it why aren’t we doing it already? Too often we get stuck thinking that it’s just not that easy, but is that really true or is it just a cop-out on our parts? Maybe when I say “not now” I’m really just too scared of what might happen. It’s no surprise then, that those same keynote presentations very often tell us to take incredible risks.

It’s one thing to be risky, but it’s a very short step to being reckless. “Taking risks” doesn’t mean doing something stupid without thinking of the potential consequences, it means doing something with a high probability of failure with a potential for great success. You have to know what that failure can entail and you have to be prepared for the worst-case scenario, even though you might not know what success will bring. In her keynote presentation at this year’s CUSEC, Leah Culver talked about dropping everything and moving to San Francisco. “What’s the worst that could happen?” she asked. Her answer was “Well, I go back to Minnesota and live with my parents.”

Before you even get to the point where you’re ready to take risks to do what you love, you have to know what it is you love, don’t you? You have to put your heart and mind into it, focus on it, and when the time is right make your move. And therein lies the challenge. How do you know what you love? Every job is going to have its share of grunt work, whether you’re working for yourself, or a startup, or a mega corporation. It could be dealing with bureaucratic overhead, your clients or your mom. Po Bronson phrased this sentiment very well:

The right question is, How can I find something that moves my heart, so that the inevitable crap storm is bearable?

That’s a lot easier said than done. The very first step lies in figuring out who I am, what I like, what I don’t like, what I can grin and bear and what will eventually lead to breakdown. Only once I’ve got enough of that nailed down can I really start looking at where I belong and what I should be doing with my life and my career.

1 Comment

No Substitute for Face to Face

One thing that deeply troubles me in virtually all aspects of my current place at work, and one of the places where my own personality and the corporate culture clash is on the emphasis on working remotely. Sometimes it’s under the guise of “thinking globally” and working with people in another geography and sometimes it’s called “work/life balance” by allowing people to work from home. The ability to work from home is a fantastic benefit, but it has to be done in moderation. To me, there is no substitute for face time.

I’m currently working on a team in a small software lab where the vast majority of people work from home regularly. I’m often one of maybe five people (out of 15, I think, but I don’t know for sure) who actually show up to work every day. Our lab may be small, but that’s at least 2/3 of my coworkers and teammates that I almost never see. Taking into account the support representatives and customer service people, who are my liaisons in debugging client problems, and the QE team and developers in India, I realized that I haven’t even physically met half of my coworkers.

Ignore for a moment the overhead of using collaboration tools versus working in a co-located environment, or the problems inherent in time zone differences, because those are other points that, though important, are not the one that concerns me most. Instead, think about the social, psychological human consequences of working remotely from coworkers whom you’ve never met — and possibly may never meet. Establishing a relationship with these people of the same calibre that one could establish with a co-located physical human being is simply impossible. Our brains are wired to notice and process various minutiae of human-to-human interaction including but not limited to: body language, tone of voice, facial expressions, hand gestures and eye contact. These aren’t simply additives to the human-to-human communication experience, but they are key factors in how we, as human beings, communicate. They aide us in building a mental perception of the people that we meet, and this enables us to communicate infinitely more effectively with that person than we would ever be able to had we never met them.

The consequence of not having face-time is that we are unable to build accurate mental models of the people we are communicating with. We don’t know their quirks or their personality. In effect, we don’t know what makes them them. Communicating with them over SameTime, E-Mail or even the telephone will leave us with a gap in our understanding of them. The information that our brains would normally be processing in a physical environment is missing. We have to work that much harder at clarifying our ideas and explaining ourselves clearly, when a simple whiteboard drawing coupled with some hand gestures might have done the same job in a fraction of the time. We must make every effort to remove irony and humour from our speech in order to avoid possible misunderstanding, which has the unfortunate side effect of making us sound altogether like very boring people. We act less like humans, and more like robots.

When I saw Fred Brooks, Jr. give a presentation at ooPSLA in 2007, there was one point in particular that made a deep impression. (You can download an mp3 of the talk here).

“Face-time is crucial. Telecollaboration really works among people who already have spent a lot of face time together. And it really works quite well in those cases. Absent that, travel to get the face time is worth what it takes. And people instinctively know that and so the airplanes stay full.

I don’t believe that “telecollaboration” is impossible, but I do believe that it’s impossible to build any sort of meaningful relationship with someone whom you never physically see, or whom you physically encounter infrequently. Face-time is most crucial in the early stages of getting to know someone. This is when we build our mental models of that person and develop a context in which to understand them. That context is what enables us to communicate effectively with that person even if we’re not in the same physical space. In other words, once we have established a context for a relationship with another person, the overhead of remote communication drops dramatically. I would even make the comparison to a long-distance relationship with a significant other: once a relationship is already established, being physically distant even for extended periods of time is challenging but not insurmountable. Eventually you will still need to meet face-to-face.

I often feel like I expend more energy trying to compensate for the lack of real human contact than focusing on my primary job role. One of the biggest factors that attracted me to IBM was my experience as Extreme Blue intern, where every day would be spent working closely with each of my 3 other team members. Asking a question meant wheeling my chair into an adjacent cubicle. That’s about as direct and as quick as one can get. My teammates were more to me than just coworkers, they were my colleagues and friends. Coming to work every day was a pleasure because it had as much to do with social interaction as getting things done. Contrast with my experience as a full timer, where asking a question today means getting an e-mail response tomorrow, and the only time people talk to one another is to assign them work.

A cubicle is a very lonely and quiet place when you have no one physically next to you.

10 Comments

Creative Commons License
Geekflex by Eitan "Skrud" Levi is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 Canada License.
The views and opinions expressed on this site are my own, and in no way represent those of my colleagues, employer, or anyone else.
Hosted by Site5