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 


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


Lessons Learned: The Importance of Where You Live

Where you choose to live is not something that can be underestimated. No matter how important a job or a career might be, once 5pm rolls around and you go home for the day you still have to live there. I’m not sure to what extent citizens are influenced by a city’s character or vice versa. It might be that the sidewalks roll up at night in some places because people prefer to spend their evenings at home, or maybe people prefer to spend their evenings at home only because there’s nothing else to do.

There’s no doubt that a city’s character and attitude can affect your perception of the place. Paul Graham describes this concept acutely in his essay on Cities and Ambition:

How much does it matter what message a city sends? Empirically, the answer seems to be: a lot. You might think that if you had enough strength of mind to do great things, you’d be able to transcend your environment. Where you live should make at most a couple percent difference. But if you look at the historical evidence, it seems to matter more than that. Most people who did great things were clumped together in a few places where that sort of thing was done at the time.

His point is that if you know exactly what you want to do, you should go live in the place where that sort of thing is being done. You should surround yourself with people who are doing that sort of thing. For example, if you wanted to pursue music then you should probably go live in Nashville, which is literally off-the-charts compared to other cities’ music scenes. Whether the people are influenced by the city or whether it’s the other way around is irrelevant when you think of the fact the people there are still providing much of the influence. The fact is that in doing what you want will come more easily if the people around you want to be doing the same thing, too. Unfortunately, the opposite is also true. To quote again from Paul Graham’s essay:

No matter how determined you are, it’s hard not to be influenced by the people around you. It’s not so much that you do whatever a city expects of you, but that you get discouraged when no one around you cares about the same things you do.

Although the essay emphasizes the work and career aspects of the city you live in, I think we also need to consider the lifestyle and social aspects.

I do believe the the key is to find a balance between an interesting work life as well as fulfilling social life. I’ve been going to extremes on both ends of the spectrum, so it’s no wonder I’m so far unsatisfied. I started my career at IBM’s Ottawa lab working on the garbage collector for the Java Virtual Machine. It was a very, very cool job. I got to work on some pretty exciting things and dive head first into the low-level inner workings of the VM. I was dealing with complex problems that I’d only read about in textbooks and I loved it. Yet I found that the city’s attitudes and subtle messages were running against the grain of my personality. The underlying message in Ottawa that permeates the very fabric of the city is: “Settle down.”

And I was not ready to settle down. I had just graduated, I felt like I had an infinite sea of options ahead of me and I could do anything I want. The last thing I would want to do is “settle.”

My social life went from its peak in university to a dead stop as soon as the moving truck left with my belongings in it. It was like hitting a brick wall while traveling at 200mph, without anti-lock breaks or airbags. There were several factors that contributed to the social vacuum I experienced, but I think that ultimately the root cause was that I moved prematurely. I still had unfinished business to deal with in my hometown, and I was not mentally prepared to say goodbye and move on. I probably would’ve been unhappy no matter where I ended up. Having said that, I’m still not ready to settle — least of all in Ottawa.

When I moved back to Montreal, I jumped from extreme on the work/life spectrum to the other. Although I was asked if I would be interested in keeping my job on the VM team while working remotely out of Montreal, I declined because I didn’t like the idea of being isolated from my teammates. Instead I switched teams to the only software team that operates in Montreal, which is a very different kind of team from the one I had in Ottawa. My social life has indeed improved since I’ve returned, but I am regretting the decision I took to switch teams.

I have not, for even a second, regretted the decision to move back to Montreal. This city’s message is much more in tune with who I am. Montreal’s underlying philosophy is “Enjoy life.” You can feel it in the pulse of the city’s streets. This city is alive and its character is emphasized everywhere you go. Not a day goes by where I don’t think to myself, at least once, “I fucking love this city.”

Despite the city, my social life is beginning to experience its natural decline and tapering off as I get older and more disconnected from the life I had as a university student. This gradual sense of slowing down is exactly what I need now, even though it’s been causing me no small amount of anxiety. It’s important for my personal growth to learn to deal with this very natural part of growing up. This is what my brain knows, anyway. My heart is still not willing to give it up.

The experience of my move to Ottawa is still tugging at the back of my head. I wish I had never gone so that I could experience this gradual decline at a more appropriate pace. Instead of hitting the brick wall at 200mph, it might have been more bearable if I were going 50mph or if I’d have had time to install airbags.

One thing I learned from the experience is that I have to be more careful when choosing a place to live. Many people have told me that Ottawa is unique in quite how boring it really is, and that this is only something you can really know once you live there. I learned that I need to spend enough time in a city to be able to hear its subtle messages before I decide to lay down roots there. I’m hoping this learned caution is a good thing, and if I do decide to move somewhere else I’ll be better prepared.


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