Geekflex

Adventures in post-college life

The Boredom Wall

In yesterday’s post I wrote about why I don’t program in my free time. There’s an interesting question that comes up as a result: What do I do when the job stops challenging me?

In an older comment on this blog, Roo said:

Maybe initially it is your workplace (boss/manager) who’s got the responsibility of the care and feeding of your growing career/skills. However, if you take a close look around – it may take some careful observation – you will notice that the hierarchy doesn’t rise very far when it comes to technical skills. In the end, every geek ends up owning the problem of keeping themselves challenged.

I don’t have a satisfactory answer. I already know that I don’t deal well with this situation when it inevitably comes up. Still, here are some the ideas I’ve thought of.

The naïve answer is to find a new job or seek out more challenges at my current job; this is obviously not a sustainable solution.1 You’ll have to constantly move around; would even be able to stay in the same place long enough to contribute something meaningful? How long can you continue to ad responsibilities at your current job and still expect to fulfill them?

As Simon Law pointed out quite simply, “There is a big problem of skill plateau with this strategy. I prefer constant self-directed learning.”

What are your solutions?


  1. there’s a really good article on The Daily WTF that expands this idea further, called Up Or Out 


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


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


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.


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.


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