Geekflex

Adventures in post-college life

The Social Quota (or, Why I Don’t Code At Home)

I love programming. It’s a passion of mine that I’ve held onto for as long as I can remember. I have what seems like a natural aptitude for it, and I consider myself extremely lucky for having discovered this passion early on so that I could follow it into a career. After a day’s work I feel fulfilled and satisfied, like I accomplished something worthwhile. Most of the time, I also feel like I’ve learned something; which is the strongest motivator for me.

When I was a student, I would spend all night in front of my computer. I’d be learning programming languages, working on pet projects, and solving programming-contest challenges. I remember pulling an all-nighter several years ago, teaching myself C# and XML-RPC by building a simple application that let me post to my blog. Yet it seems that once I graduated and started working full time, my motivation to spend the same time and energy on pet projects diminished.

The issue is what I’ll call my social quota. When I was a student I was surrounded by other people all day. Whether I was in class, in the engineering student association’s office or at a social event, there were always fellow students to talk to. Coming home after a day rich in social interactions, I would relish the solitude of sitting in front of my computer and programming the night away.

I became dependent on the levels of social interaction that I would reach in a given day of school. To this day I can’t think of a more rewarding experience than meeting new people, talking and socializing. I became a people-person, and I’ve been as-yet unable to reconcile my need to socialize with people and my passion for programming.

Programming is ultimately a solitary activity. There is only one keyboard attached to the computer. Even when you work with a team — and indeed, one of my favourite things about the profession is when we hammer out the solution to a problem as a group — eventually you have to go back to that computer and code the solution that’s floating around in your head. After sitting, alone, in front of a computer for the better part of a day, the last thing I want to do is sit in front of a computer, at home, for the better part of the evening.1

It’s not just programming, but most solitary activities that I have no interest in doing in my free time. Social contact is like a drug for me and I get very antsy if I go without it for long periods of time. While there is some social contact at work — and believe me this is something that’s crucial to keeping me going throughout the day — my quota is usually nowhere near filled. Once I’ve left the office for the day, I’ll do anything for a night out with friends. I get energized by being in a crowd. Whenever I’m faced with the choice of doing something alone or doing something in a group, I will always choose the group.

All that being said, I’m quite satisfied with both my career up to now and my lifestyle. It’s okay to spend my days programming and problem solving, and then relax with my friends in the evening. I imagine if the situation was reversed, and I were working with people all day, then I would probably shut myself away in the evenings and I’d be blogging about my Alone-Time Quota (or, Why I Don’t Go Out In The Evenings).


  1. Consequently, this is one of my excuses for not blogging often. 


NaBloPoMo

It seems that every other post on this blog is about writing and how I’d like to do it more … and then I go off and post nothing for several months. So I’ve decided to participate in NaBloPoMo (National Blog Posting Month). NaBloPoMo (formerly, NaNoBloMo) is a spin-off of NaNoWriMo, National Novel Writing Month, which challenges participants to write a 50,000-word novel from scratch throughout the month of November. The goal of NaBloPoMo is to write a one blog post per day throughout an entire month.

I’m hoping that the external motivation encourages me to write more frequently. I entertain no notions that I’ll continue to write daily once the month is over; I only hope to have seeded a habit that will keep me writing regularly. I’m putting forth my best effort to maintain a strong signal/noise ratio despite the fact that I’ll be posting something every day. (This post: pure noise).

The goal of this exercise is to train a habit, and I’ll know that the few “noise” posts that come out of it will have served their purpose if I can maintain a regular writing schedule once the month is over. In the meantime, I’ll also try to stick to the theme I put forth when I started this blog. I have some topics that I’ve written down but have yet to fill in with a full blog post. This month I want to finally Get That Shit Done, and I hope some of it turns out to be useful.


How to be successful on the other side of the career fair booth

Now that I’m a working man I no longer attend career fairs with a portfolio full of copies of my CV, armed with questions and searching for technical challenges. I’ve had more than my fair share of experiences running through these events as a student, and also helping to organize them. I’ve seen what works for many companies, and what doesn’t. Now that it’s my turn to compete for attention with dozens of other companies, I’ve come up with this list of tips.

1. Bring an engineer

When I was looking for a job this way I had my own set of criteria to fill. Does the company work on interesting projects? Are the people friendly, motivated and intelligent? Would I learn something from an internship there? I was hungry for technical details of the products they were working on. I’d ask about programming languages, APIs, frameworks and problem solving. I needed to know that there were interesting technical challenges inherent in the products. That’s the kind of thing that would pique my curiosity and get me to apply.

Naturally, if there wasn’t an engineer or developer behind the career-fair booth I would quickly lose interest and move on over to another booth. This is why if you’re company is looking to recruit technical students, you should always have an engineer or developer behind the booth1. Technical-minded students will want to hear some technically interesting reasons to go work for you.

2. Make First Contact

When I was a student, attending career fairs was a ritual. I made it a point to go to every booth and ask all the companies present what they were about and what kind of job they were looking to fill. Being proactive at career fairs is what landed me internships despite the fact that I was never part of any co-op or placement program. It wasn’t tricky; all I had to do was walk up to the booth and say “Hi! What does your company do?”

The problem is that most students won’t do this. Most students will simply walk by a booth without saying anything or even taking a closer look (unless your swag is really, really compelling). This is why as a recruiter you have to be the one to make first contact. Those students that are meandering past your booth might be just the ones you’re looking for, but you’d never know it unless you stopped them and started telling them about all the cool stuff you do. Better yet…

3. Have a demo

The booths that attract the most attention at career fairs typically have some live demo available. Maybe even something interactive. When I attended the University of Ottawa High-Tech Career Fair last month, we brought a number of cameras as well as a couple of servers to show off our video surveillance software. I even brought a BlackBerry Bold and an iPhone to show off the Mobile project that my team and I have been working on for the past 10 months. You can bet a number of students were impressed when I showed them I could control the camera in my company’s parking lot — 200km away — using my phone.

Not only is it extremely rewarding to show off the project you’ve been working on, but it’s important to show the students that you have a tangible product. Having something that they can see and feel and interact with is a great way to pitch your company. You can say: “This is what we do. This is what you can do.”

4. Be Energetic

We have a corporate policy that forbids us to sit down behind the booth during a career fair. We’re not allowed to look bored. If you look bored, people will think your company is boring. Even if you’re tired and your feet hurt, you need attack recruitment with the same drive and energy that you apply to the work you’re really passionate about.2

Stay on your feet, and speak passionately and energetically with every student that walks by. Be excited about what you’re telling them (not too excited). Excitement and enthusiasm will make potential candidates excited, too.

5. Avoid Corporate Stock Photos

You know what I’m talking about. Those generic images of the every-company. Generic-looking, smiling business people in suits sitting around an all-white conference table. Pictures of random cityscapes that could be anywhere. I’m talking about the kind of stuff that appears when you do a Google Image Search for “corporate”. This image might be attractive to your enterprise clients, but it’s not attractive to students. Especially not technical students.

Stock photos obscure the message of what your company actually does. Without that message, students will just walk by your booth as if it’s invisible. There’s nothing distinctive that shouts “You want to work here!!”. If you don’t have a demo to _show anyone what you do then you’re really screwed. Instead of showing generic stock photos, you should show pictures of what your company actually looks like, or some photos of your products being used in the field. You want people to see your company culture for what it is, and you should be proud to show it off to a potential new recruit!3

Some of the best booth displays I’ve seen that do this well include Microsoft’s “Hey Genius!” campaign from a few years ago and of course Shopify‘s “Be Awesome”.


  1. At CUSEC this is a policy. Every sponsor is told explicitly to bring at least one engineer with them. 

  2. If you’re not passionate about your work, you need to change your organization

  3. If you’re not proud of your company’s culture, you need to change your organization


Higher Shmeducation

I read an excellent speech by a recent high-school valedictorian about the futility of the education system. It reminded me of an old article I wrote on my first blog near the end of my very first semester in university:

I have no practical programming knowledge whatsoever. That’s right. Zero. There’s a massive difference between the programming that you need to know to do anything, and the “programming” that you need for school. The latter is not so much more “theoretical” than it is just straight up data with very little meaning. This is actually one of my pet peeves with the way programming appears to be covered at my school in particular. The focus is not on how to write programs, but more on translating a design document into C++ (or Java) syntax. They feel like courses in syntax. The flipside of this is the whole contest scene. Stuff like the ACM Coding Competition demand challenging (often math related) problems to be solved using programming. These contests require skill since you have to come up with efficient algorithms for doing (often) complex operations and things.

It’s now six and a half years later, and I feel the same. The amount of useful, applied and practical knowledge that are a direct result of my education is extremely limited. I learned most things on my own. Considering the knowledge and concepts that I apply daily in my work as a programmer, I’m convinced that the whole of my university education could be condensed into no more than five classes given over a single semester followed by a semester of projects to obtain experience.

I credit the conferences that I attended, the competitions that I participated in and the blogs I read with motivating me to learn and grow and become a better developer. Being a university student created opportunities to attend events at which I learned a great deal, and my involvement in student life taught me invaluable life lessons and created long-lasting friendships. Going to class was mostly a waste of time.

I’m not at all surprised that Bill Gates thinks universities will be made obsolete in five years or that Zed Shaw says you should go to university, but not for Computer Science.


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. :-)


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