A Digital River Runs Through It

Throwback to that time when I was in college and had the bold idea to build a fly fishing game. I got this far before I realized that I knew absolutely nothing about fly fishing. And yet, even as is, it feels pretty relaxing.

Test Before Yes

My first ("real" / "grown-up") job was with a web company back in 2006. Those were the days when streaming was becoming a novel concept, and we were known as "new media." Probably the biggest lesson I learned was the mantra: "Test before Yes." We flew pretty fast and loose with best practices - a "deployment" was just uploading files to the prod web server, with no version control other than local backups. It was risky, but it also allowed us to move at a breakneck pace. We were constantly trying new things, experimenting, building - and we were regularly asked: "Can you guys build ___[fill in the blank]____...?" Being the young whipper-snapper dev, I said yes to everything. Yes! I'll build a site poll in PHP. Yes, I'll build a Question of the Day feature! Saying "Yes" allowed me to work on a lot of cool projects. But it also got me into tough spots when I realized my "Yes" probably should have been


There's a persona I've created for anything I do to advance my professional career. If you're not familiar with the concept of personas, the idea is to not think of your users in generic ways. When you create real-life personalities, and define their goals and motivations, it helps ensure you're building the right thing. It's exactly what people mean when they say "know your audience" - but I'd go a little further to say: describe  your audience. When it comes to your resume, portfolio, LinkedIn Profile, a key persona you want to consider is a Hiring Manager. It may not be your only persona -if you are putting out resources to help your peers, you may want to consider their personas as well. But, don't forget the Hiring Manager - the one who will one day hire you. Lumbot is the hiring manager who has been following me since I was in college. I will neither confirm nor deny whether he's a pop-culture reference. Lumbot is always lurking around a

Let's Talk (Even More!) About Portfolios

This is a follow-up to  Let's Talk Portfolios!  and 7 Steps to Building your Portfolio MVP . If you've not seen those 7 steps, here's the quick GIF recap: But now - let's talk about your next steps. You have the portfolio MVP, but your skills have continued to grow, you are more talented than what this portfolio MVP shows. So now what? Let's remember the purpose of the portfolio: It's to showcase your talent and skill to a hiring manager. They are your target audience. They are your main user. With that in mind, let's talk even more about portfolios!  Why bother with any of this? The key is, as a hiring manager, it gives me insight into you as the developer. It lets me know more than what I can get out of your resume, or hearing you talk about your work experience. GitHubs can be overwhelming, and just information over-load. Presenting your skills in this way shows forethought, it shows you know your audience, it gives me the information I need, and it let

One Question

If there was one question you wished an interviewer / hiring manager would ask you, what question would that be? For me, it would be either: Tell me about a time you failed, and what you learned as a result? What makes you uniquely suited for this role? They aren't particularly exciting questions, they're not off-the-wall but they are great questions for 2 reasons: 1) They are about me and 2) They are relevant in the context of an interview. Interestingly, those two questions don't often come up in an interview. At least, they aren't asked directly. I stopped waiting for the question and instead focused on how I can work my responses into the conversation more naturally.  Interviews are all about leaving a lasting impression - a sense of what is uniquely you. You want them to be able to easily pick you out of the lineup instead of scratching their heads asking "Who was this person again? Was this the person we interviewed on Thursday? Or were they on Wednesday?&quo

An Over-Thinker's Guide to Managing Ambiguity

I'm a classic over-thinker. If there's an opportunity for interpretation, I will find it. I cringe when I think of the Physics 101 mid-term exam back in college, which asked about a brick falling onto someone's foot. "At the instant moment the brick contacts the foot, what is the force felt on the foot?" Force  = mass * acceleration  and our professor was intentionally specific with his language because a falling brick decelerates as it makes contact and he wanted to simplify the problem. I understood this part of the problem, but I was fixated on the word "felt." Why was our sensory system being involved? Our senses aren't instantaneous - so while the applied force of the brick to the foot is a straightforward calculation, the feeling is a whole other question. Suffice it to say, my answer was wrong, and I shudder when I think about it. BUT  it also serves as a reminder that I'm prone to over-thinking, and the only solution I have is to seek th

3-6 Months

A friend has been on the fence about changing jobs. Things at her current place are good, but she's also wondered if she's just grown too comfortable and has been stagnating. She's been told her role will grow in a few months - but it's the second time she's been told this. There were valid reasons why it hasn't happened sooner, but she feels like her career is on pause while she waits. She's not in the driver's seat. I've been there many times myself. And I'll offer a healthy reminder for anyone in a similar spot: remember it can take 3-6 months to find your next role. Even if the market is hot right now, it's better to plan 6 months out because, ultimately, if you change jobs you want to make sure it's the right job for you. 6 months is a long time for things to happen. (Similarly, if you're a manager and someone has resigned, you should be asking what happened 6 months ago, not just the last month or two.) Even in the fastest cases

Resharing: IBM's a**hole Test

Came across this post the other day: IBM's a**hole test - Published on May 4, 2022 Some years back I applied to join IBM's grad scheme, there was a peculiar stage to the process I've not seen elsewhere. It was during the onsite day, where a batch of 20 or so applicants were put through various tests in an IBM office. They called it the "group test"; around 8 of us were led to a room and asked to solve a puzzle together. Each of us was given an information pack, there was a white board, and a timer ticking down from 60 minutes. At first there was silence as we looked at our packs, then the first voice: "Let's pool our information", someone stands up by the whiteboard, grasping a marker. Silence, it's not clear how this information should be parsed. One person starts reading theirs out word for word. This is not going to scale. Someone interrupts. Before long the whiteboard leader has been deposed and another is wielding the marker. Then another fi


  Does anyone else collect things in adulthood that were scarce when you were a child? I wish I could communicate to my younger self and say "Listen kid: One day you'll have tons of Allen wrenches, cable adapters, ball point pens with matching caps , and inflating needles to inflate your soccer ball. Ease up on the anxiety because one day you'll weirdly cling to these things... Oh...also, invest in something called bitcoin when you first hear about it. Then just.... sit on it for a while."

A Chef's Words

3-star Michelin chef Marco Pierre White's interview at Oxford Union is not just a fantastic telling of his early career and rise to greatness, but it is choc full of great wisdom mixed with humility. It's a worthwhile listen for anyone - regardless of your industry or career. I thought about pulling out a few quotes - but his words are so much better when you hear them from him.

On Pasta Sauce

No need to check your address bar. You aren't on Instagram. I know I typically write about professional things but, honestly, what could be more professional than wrapping up a great day at work than pouring your heart and soul into the pasta sauce recipe you're perfecting so that your kids will one day brag about it to their friends? Doesn't sound professional? Consider that any good hiring manager will tell you: Great teams are made up of versatile team members. People who challenge themselves and push themselves to get better. Regardless the subject matter. The spirit is infectious. You want team members willing to be vulnerable - willing to share their second attempt at a pasta sauce. Maybe that perfect pasta sauce isn't actually perfect yet. And they're ok with showing their progress. (Maybe they are also sharing it with their network secretly hoping they'll get tips.) You want resourceful team members - the types who have researched and watched countless v

In the Absence of Opportunity, Create Your Own

  Entry-level/Junior coders are everywhere right now. They are so easy to find that companies hiring then barely even need to advertise their openings. An entry-level opening can get 200, 300 applicants in the first week alone. And that creates an impossible challenge for any junior coder right now: They're applying to 500+ places and often getting no response. If this sounds familiar, keep in mind that everyone started there. Arguably, the situation has only become more challenging as the market has become more saturated - but I think the same fundamentals still hold: The beauty of working in Technology is that, in the absence of opportunity, you can easily create your own. Looking at my old resume - I realized: when I was getting started, my resume was empty - I had no professional experience. But within 1 month, I'd had one small gig that got me the next gig which got me the next. Whenever I'd get rejected, I'd find the reason ("You don't know SQL...")

Keychains, Meaning & The Ceremony of the Iron Ring

Whenever I give a talk with students, I'll wrap things up with a story about myself, and the keychains I collected as a kid. This came after years of giving away small trinkets and prizes that were generally meaningless. I wanted to take a different approach - something that would connect the students to a larger purpose. This story gets connected with an Engineering Ritual practiced by many Canadian colleges, and finishes off with small meaningless token to which students can ascribe meaning. I'd written about it  in the past, but I'm happy to finally have a video of this portion of the talk because it's often my favorite bit. Having given out more than 300 of these little chains, it still always excites me when I see the kids rush to the fishbowl to grab one. I've had some ask if they can take one home to their parent who is a software developer - and sometimes even professional coders, whether Seniors or Junior, will come by to ask if they can grab one. I can'

"Get something out there and iterate"

  This is why I make the content I do. Messages like this make my week, and it's only Tuesday.  The last sentence is what makes it: " Get something out there and iterate. "   Start small, don't let your ambition, ideas or creativity inhibit progress. Prioritize outcome over output. By putting something out sooner, you get feedback faster and can increase value faster that way. It's all about pursuing excellence , and not perfection. If you're wondering what video is being referred to, you can find it here: Or just check out the tl;dr article:  7 Steps to Building your Portfolio MVP

'I' Shapes and 'T' Shapes

  In IT (but it just as-well applies to any industry) you'll hear of 'I' shaped people and 'T' shaped people.  The shapes represent the depths and breadths of your knowledge and talents. The thinking has been that while you'll always want people with a lot of knowledge depth, it's increasingly important to identify individuals who can bridge the divide - therefor, breadth of knowledge is important. This concept is often expressed as two mutually exclusive types of people, I or T. The truth is, everyone is a T shaped person - and we're seeing it more these days as people change careers, draw from a broader range of what is considered 'applicable' experience. IT has not been a strictly academic pursuit for years - and so varied experience has become more valuable. This is all great news for anyone who has gone through a coding bootcamp, or changed careers - provided you can showcase that breadth of experience and why it is valuable. That's exac

Time Traveling StackOverflow

There's a story I often share with Junior coders. It's about the time when I was searching for a solution to a rather specific problem. I searched and searched, but was having a hard time getting my key words just right. My "Google-Fu," - the skilled craft of using Google and all it's search modifiers was being pushed to it's limits. The solution was out there, I just needed to find the right terms. I stepped away, thought about my problem, I drew it out, I generalized it and made it less specific. Finally, I returned to the keyboard with a slightly modified set of keywords. Almost immediately I found a StackOverflow with the exact solution I needed. The post was 10 years old, but the answers were timeless. I was also relieved and impressed that no one had run into the same issue, and it hadn't been asked more often. The question was like studying history and relating to the struggles of a bygone era. Except, re-reading the question, something was also sli

The Toaster Problem

For years, in talks ranging from first graders through to college students, in conversations or in job interviews, I've asked a question. It's asked like a riddle but there's no "right" answer. It's purely to help elicit conversation and see how someone approaches a problem for which they couldn't have prepared. It's your first week on the job. Your new boss calls you the Sunday night before you start, and asks for you to be in at 8:55am to put a slice of bread in the toaster and have some toast ready for him for when he comes in at 9am. It's an odd request, but you've always wanted to work at that company so you oblige him. Monday, you make the toast and other than that one peculiarity, it's an amazing first day at work. The rest of the week plays out that way - until Friday, the toaster isn't toasting. It's 8:58, and the toaster still hasn't finished toasting. What do you do next? Despite having no right answer, there are bet

April Fool's Easter Egg

  My site doesn't nearly get enough traffic for me to make a proper April Fool's joke - but I was playing around with some different styles and realized I could apply the effect to the scrollable timeline.  It's a nice little Easter Egg someone may one day stumble across. It's amazing how much of this is easily achieved with CSS and only a little  JavaScript.

Programmatic Dodgeball

Coding is fun but ... playing Programmatic Dodgeball as a way to teach technical concepts to a group of high schoolers? Well... that's way more fun. This time-lapse is from a pre-Covid event in 2019 and required more painter's tape to mark off the grid than you would think. If you've followed me for any amount of time, you'll know one of my passions has been getting kids interested in technology and in coding. I think the best approach is by stepping away the computers, the gadgets, and make it immersive , and  interactive . In the long run, while they may not all become coders they will all benefit from being skilled at Computational Thinking . Taking a  #TechlessTeaching approach lets students physically experience the problem they are trying to resolve. If and when they make a bad assumption, they'll feel the impact of it. The result of such exercises is they start to analyze and break down the problem, and look ahead to anticipate and predict the challenges the

Resume Executive Summaries

  I see this mistake made on resumes all the time: introductions that are paragraphs with long-form sentences that look more like a  cover letter  than a  summary. Have you ever read through a very long document/article? A product review, a security assessment, a home inspection, a legal document? Hasn't it ever made you wish you could just see the conclusion first? If you know the conclusion, then you can determine whether the rest is worth reading, right?  Think of your resume summary just like that. It should be an  Executive Summary. If you're not familiar with executive summaries, imagine being an important executive who is really short on time. To spend an extra minute on the details costs more money than it's worth. Instead you rely on your team of experts to boil things down to their most important points, allowing you to make a quick decision. Given how many resumes a hiring manager has to review before selecting which candidates will be interviewed, your resume sh

I work ... at/for/with?

Do you use different words to describe your relationship with your employer? Not to read too much into the language, but I do sense #confidence when one describes their #work experience as companies they worked with rather than the companies they've worked for. I'm curious what others think: Does one term feel more insubordinate while another feels empowered ? Does each word define a different kind of work ? Do you use one term more than others or do you use the terms interchangeably?

Craigslist and Jobs

Before I worked at Microsoft  (the first time) , before I worked at Cognizant, before I had a wild ride with HPA and undergoing multiple acquisitions, before my first "real" job... T his was where I built my experience, this is where I started my career: All those red boxes was where I'd spend hours scour different postings and looking for anyone that even remotely looked like they could give me work - building a website, making a small app, building a flash game, even styling a MySpace. Other times, I'd make postings of my own: "Let me build you a website, I don't charge much" it would say. I met a lot of interesting folks that way. I built an ecommerce site for a small laser manufacturing company. I built a website and flash game for a Ghana ian prince. And yes, I was paid $200 to style someone's MySpace. This is where I learned to handle multiple projects and timelines, handle customers and requirements gathering, and billing. Let me be clear: The

There Are No Stupid Questions

  No matter how many times you may reassure your team that " there are no stupid questions" - you'll undoubtedly come across moments where a bad assumption was made because someone didn't ask the stupid question. Everyone has a stupid question - a basic fundamental about the job, how something is supposed to work, why something is important. Especially in organizations where tribal knowledge runs rampant, you'll find a lot of the basics are not as black and white as as they should be. Moreover when you consider that people don't fully retain the nuance of something the first time they hear it (particularly new hires who are drinking from the fire hose) a lot of important information gets missed. Bad assumptions leads to bad results. Bad assumptions leads to bad code. Bad assumptions leads to bad products. To resolve this, try regularly hosting a Stupid Questions Only  meeting. Attendees can submit (anonymously) their most stupid (but relevant) questions. Work

Hire "Non-Traditional" People!

Too many hiring managers need to know this. When you make a "safe" hire, you'll get "safe" results. Hire juniors , they are hungry . Hire #CareerChangers , they are experienced . Hire those who lost jobs, they have something to prove. Hire those with differences (no matter what they are) - they will give your team and product a perspective you're otherwise not getting. And soon you'll come to realize all of them are just as capable as the 'safe' choice. *And for the record I have time and time again followed this advice and it's paid off in spades. If you want advice or want to brainstorm, connect with me on LinkedIn and we can chat more about it!

Thunderpuck & Code / Collision

Last fall I introduced a coding competition called Code / Collision.  The mechanics were based off an old Flash game I'd made back in 2007 that was a play-by-play hockey game. You'd choose the angle and speed of each player and you'd click where you'd want to shoot the puck. Since the rise of smartphones and mobile games we've seen this similar mechanic in games like Soccer Stars, but what makes Code / Collision really fun is that it's not interactive. You have to code your strategies. If you've not seen Code / Collision, it's worth a look! Consider hosting a game for your next team event.


Let's Clear Up The Ambiguity!

7 Steps to Writing an Amazing Resume

7 Steps to Building your Portfolio MVP

Impostor Syndrome and #LifeHacks

Let's Talk Portfolios!