Brian Gilham

Engineering leader, husband, and father

monday-mailer

Servant Leadership

Over the last year or so, my role at TWG has shifted more and more into managing other people. It’s been a welcome challenge – it requires an entirely different set of skills from being a developer, and it’s an opportunity to work a new group of muscles. Moving into management is often seen as an inevitability for good developers. They think they have to take that step to climb in the organization.

Over the last year or so, my role at TWG has shifted more and more into managing other people. It’s been a welcome challenge – it requires an entirely different set of skills from being a developer, and it’s an opportunity to work a new group of muscles.

Moving into management is often seen as an inevitability for good developers. They think they have to take that step to climb in the organization. And, at many companies, they’re right. It’s a shame. If a senior developer wants to stay on the technical track and master their craft, it should be celebrated – not seen as a career-limiting move. But if management interests you, it offers a unique opportunity.

Growing as a developer often means widening the scope of your responsibilities. As a junior developer, you’re responsible for one small task at a time. When you move up into the intermediate category, you’re responsible for one – or many – larger features. Finally, as a senior developer, you’re responsible for entire projects.

It isn’t just a widening of responsibility – it’s a widening of your potential impact. At one level you can positively impact a set of features or a project. But moving into a leadership role means having an impact on an entire team. For better or worse.

I’ve been lucky to have amazing mentors as I start this journey. They’ve shown me, through their words and actions, what effective leadership looks like. It isn’t about amassing power, getting a promotion, or making tons of money. It’s about having a positive impact on a group of people, and the organization as a whole.

Wanting to do well in this new role, I’ve been devouring every book, podcast, blog post, and conference talk I can find. Along the way, I discovered a concept I love: servant leadership.

Traditional leadership generally involves the accumulation and exercise of power by one at the “top of the pyramid.” By comparison, the servant-leader shares power, puts the needs of others first and helps people develop and perform as highly as possible.

Servant leadership turns the traditional model of management on its head. Instead of employees serving their bosses, leaders help their people. They teach others and provide opportunities for growth. Everyone on the team gets a chance to learn and advance.

If you’ve been lucky enough to have some good managers in your life, I’d be willing to bet they fit that description. And I can’t think of a better example to try and live up to.

Until next time,

–Brian


Communicate Like a Human Being

The traditional marketing blog wisdom is that using double opt-in for your mailing list is a bad idea. It’s an unnecessary step, they say. You’ll get 20-30% more subscribers without it. Oh, and put some pop-ups on your site. Don’t you want more people on your mailing list? Ugh. I take the opposite approach. I put up as many barriers as I can. When you signed up for the Money Mailer you had to:

The traditional marketing blog wisdom is that using double opt-in for your mailing list is a bad idea. It’s an unnecessary step, they say. You’ll get 20-30% more subscribers without it. Oh, and put some pop-ups on your site. Don’t you want more people on your mailing list?

Ugh. I take the opposite approach. I put up as many barriers as I can. When you signed up for the Money Mailer you had to:

  1. Type in your email address.
  2. Get redirected to another page, asking you to click a confirmation link.
  3. Open your email client.
  4. Find the email from me, assuming it didn’t end up in your spam folder.
  5. Click on the confirmation link.
  6. Get redirected to another page, letting you know that you’ve finally reached the end.
  7. Except, you have to wait until next Monday to get the first email.

That’s seven steps, just to read what I write. 

The biggest benefit to this approach is that it’s relaxing. I’m not worried about catering to an audience whose goals don’t align with mine. You aren’t on this list because of a free giveaway or some other marketing gimmick. You aren’t here because I pounded you with pop-ups. You’re here because I promised to share my thoughts on shipping side projects and doing good work. And that’s what I try to deliver.

Sure, it means fewer subscribers. But those people are worth more – and I don’t mean financially. I’m not here to sell you anything. I want to share what I know, build connections with people, and have interesting conversations.

And I’m succeeding in that goal. The Monday Mailer gets a handful of new signups each week. When you reach that final “You Made It!” page, I ask you to email me and share some of your work. Not everyone does it – that’s fine. But every once in a while I get to hear about something cool. A new app. A blog post. An exciting project at work.

I write back, every time. We talk about motivations. Hopes and dreams. A tricky bug. Future goals. Finishing a project.

Sometimes I just let them know they aren’t alone.

I don’t care about having a massive audience. I want the Monday Mailer to grow because someone cared about what I have to say, got some value from it, then shared it with someone they like. By communicating with them like a human being.

It feels like the right approach.

Until next time,

–Brian


Be Kind

One Friday afternoon, early in my career, I was wrapping up some new features for the back-end of a client’s Rails app. Simple stuff. Confident in my work, I deployed the changes, closed my laptop, and drove out of town for a weekend of camping with friends. I had just arrived when my phone rang. It was my project lead, Kevin. “The client’s site is down. What happened?” Oh shit.

One Friday afternoon, early in my career, I was wrapping up some new features for the back-end of a client’s Rails app. Simple stuff. Confident in my work, I deployed the changes, closed my laptop, and drove out of town for a weekend of camping with friends. I had just arrived when my phone rang. It was my project lead, Kevin.

“The client’s site is down. What happened?”

Oh shit. Fuck. I had no idea. I was three hours away with no laptop.

“Don’t worry about it,” he said. “I’ll take care of it. Have a good weekend.”

Like that was going to happen. I’d let the team down. I’d ruined someone else’s weekend. I beat myself up for days. Come Monday; I walked into the office certain I was about to be fired. The project lead walked over.

“Hey, Brian. How was your trip?”

He was smiling. There wasn’t even a hint of frustration or annoyance. “It was okay,” I said, waiting for the bad news. “Sorry about Friday. I completely blew it.”

“It’s okay,” he replied. “We’ve all done it.” He paused for a moment. “But what did you learn?”

I talked about the need for proper QA. About thoroughly testing my changes. About taking the time to make sure the job gets done right. After a few minutes, he held up his hand.

“Great. It sounds like you get it. I know that you can do better.” 

And that was the end of it. Kevin never brought it up again. 

Kevin gave me the space to screw up, as long as I learned from it. He jumped in, with his years of experience, and helped me out when I needed it most. And still believed I was a competent developer, despite my mistake. He saw my potential.

Now that I’m the one leading projects and mentoring junior developers, I often think back to that day. And I remind myself to be kind and see the potential in people. Give them a break.

Just like Kevin did for me.

Until next time,

–Brian


Bring Value

I don’t have many concrete goals when it comes to my work. I try not to chase money, promotions, page views, or followers. Instead, I ask myself one question. “How can I bring value to someone today?” It isn’t a mission statement, or a manifesto. You won’t see it on a motivational poster. It’s simply a way to keep me on track – to remind myself where my focus should be.

I don’t have many concrete goals when it comes to my work. I try not to chase money, promotions, page views, or followers. Instead, I ask myself one question.

“How can I bring value to someone today?”

It isn’t a mission statement, or a manifesto. You won’t see it on a motivational poster. It’s simply a way to keep me on track – to remind myself where my focus should be. It’s a North Star when I feel lost, useless, or unproductive. Just try to be useful.

I try to bring value to you, dear reader, by sharing my thoughts and advice on shipping side projects, doing your best work, and being more productive. But bringing value to those around you doesn’t require an email newsletter.

Share your knowledge with a junior developer. Help a coworker figure out a tough bug. Grab a coffee with the new hire and make them feel welcome. Take on something everyone else dreads doing. Write a blog post. Empty the dishwasher.

Add value wherever you can, even if it isn’t part of your job description. Not only will it make you a more valuable employee – and human being – it’s incredibly rewarding. 

Time spent helping someone else is never time wasted. 

Until next time,

–Brian


Your First Speaking Gig

I’ve spent the last few days preparing for a talk I’m giving at the end of September. Speaking is a great way to promote yourself, share your work, and build connections with people in your industry. But, for many developers, the idea of presenting in front a crowd means stress and anxiety. I’ve spoken several times throughout my career. I thought my nerves would calm down eventually, but I still get butterflies in my stomach every time.

I’ve spent the last few days preparing for a talk I’m giving at the end of September. Speaking is a great way to promote yourself, share your work, and build connections with people in your industry. But, for many developers, the idea of presenting in front a crowd means stress and anxiety.

I’ve spoken several times throughout my career. I thought my nerves would calm down eventually, but I still get butterflies in my stomach every time. If you’re considering jumping into speaking, here’s some advice for making the process a bit easier.

Start small

Your first speaking gig needn’t be in front of thousands of people at a huge conference. Instead, find opportunities to speak where the stakes are low. At TWG, we get together every Friday and show off what we’ve been working on for the past week. For many employees, these demos have been a good way to practice speaking to a crowd. A few have even transitioned their demos into full-blown talks and given them at conferences. If your company has a similar tradition, I’d strongly urge you to take advantage.

Local meetup groups are another great option. The crowd is usually on the small side and extremely forgiving of mistakes. There’s also a good chance you’ll spot a few friendly faces in the crowd. 

Stay in your lane

Pick a topic you know like the back of your hand. If you’re creating tvOS apps like there’s no tomorrow, speak about what it’s like to build an app that’s used from the couch. Built something interesting in a hot new framework? Walk the audience through how you did it and discuss the pros and cons of your approach. Struggle with imposter syndrome, never feeling like you’ll match up to others? Please give a talk about it, because we all feel that way and need to know we’re not alone.

The possibilities are endless. But the worst thing you can do is get up on stage and try to fake it on a topic you’re unfamiliar with. I’ve tried. The audience will pick up on it right away. And, even if they don’t, Q&A will give you away pretty quickly. By sticking to something you know extremely well you’ll come across as confident and prepared. Because you will be.

Don’t focus on the slides

Slides should complement your talk, not replace it. They’re great for driving home a particularly important point or showing something interesting in a visual way. But too many people use them as a crutch.

Have you ever sat through a presentation where the speaker read each slide out loud, point by point? It’s agonizing. And it’s a dead giveaway that they wrote the entire thing in Keynote. Look, I get it. Fiddling around with fonts and colours is so much more interesting than writing a talk. But it’s important to remember why you’re speaking in the first place: to share information with your audience. A good talk with passable slides will always be more interesting than a bad talk with lots of memes and fancy transitions.

I find it helpful to use a tool like Deckset. It allows me to focus on the content of my talk, while automatically formatting it in a way that looks good. I highly recommend checking it out.

Practice, practice, practice

In the end speaking is a skill, like any other. You probably won’t be very good at first. But pick yourself up, dust yourself off, and try again. With some time, practice, and these tips, you’ll be wowing crowds before you know it.

Until next time,

–Brian


Focus on Your 1%

We’re obsessed with numbers these days. Likes. Favourites. Followers. Retweets. We’re trying to gobble up as much social validation as we can. Build a massive audience. Amass followers. Be popular. Be liked. It’s addictive, watching those numbers climb higher and higher. But for those trying to do their best work, it’s a distraction. I’ve heard friends lament losing followers on Twitter when they discuss things they’re passionate about. If people bail when you talk about something you love, forget ‘em.

We’re obsessed with numbers these days.

Likes. Favourites. Followers. Retweets. We’re trying to gobble up as much social validation as we can. Build a massive audience. Amass followers. Be popular. Be liked. It’s addictive, watching those numbers climb higher and higher.

But for those trying to do their best work, it’s a distraction.

I’ve heard friends lament losing followers on Twitter when they discuss things they’re passionate about. If people bail when you talk about something you love, forget ‘em. They were following the wrong person, they just didn’t know it yet.

You have to focus on your 1%. The people who are genuinely interested in your work and what you have to say. The rest don’t matter.

When you cater to everyone, you cater to no one.

Until next time,

–Brian


Be Boring

I’ve become known as a prolific doer of side projects. In the last few years, aside from my responsibilities at TWG, I’ve released six apps, served as technical reviewer on a book, published a weekly newsletter about Apple Watch development, designed and sold the first icon set for Apple Watch apps, spoken on a variety of topics, and published more than 40 blog posts, articles, and tutorials. Phew! That list isn’t meant to impress you.

I’ve become known as a prolific doer of side projects. In the last few years, aside from my responsibilities at TWG, I’ve released six apps, served as technical reviewer on a book, published a weekly newsletter about Apple Watch development, designed and sold the first icon set for Apple Watch apps, spoken on a variety of topics, and published more than 40 blog posts, articles, and tutorials. Phew!

That list isn’t meant to impress you. If anything, it might just illustrate an unhealthy disregard for rest and relaxation. I’m not here to shout HUSTLE MORE! at you. I’ve been that guy before. That guy sucks. If you’re happy with your output, by all means, you do you.

But I get asked about my productivity a lot, and if you’re like me – always looking for the next project, never able to sit still, always wanting to do more – I have some advice.

Focus

Work on one project at a time. Work on one task at a time. You probably have a list of 50 different ideas you’d like to work on. And another 10 or so rattling around inside your head. It can be tempting to jump from one task to the next, particularly when things get hard or boring. Resist the temptation. The more you focus on a single task, the faster you’ll get it done.

Set a deadline

Release to the App Store in April. Put the sales page up by the end of June. One blog post, every week. No matter what. Set an ambitious deadline. If it feels like you won’t make it, cut scope. Then cut it again. A deadline is a little promise we make to ourselves. And it feels like shit when we break that promise. Wanting to avoid that feeling helps me get stuff out the door. 

Schedule it

The idea that you’ll magically “find” the time to work on your side project is silly. Between your day job, friends, family, and just plain ol’ crap-hitting-the-fan moments, life has a way of eating up every spare second. By scheduling time for your side project – in your calendar, along with all your other commitments – you protect it from being overrun by something else. Even if it’s just 15 minutes on Saturday morning.

Most of my productivity advice is pretty boring. Focus on one thing at a time. Set deadlines. Have a schedule. I don’t mean to undersell passion or excitement – those are important too. But, in my experience, what ships side projects is time, dedication, and a little bit of practice each day.

Be boring in your life, so you may be fearless in your work.

Until next time,

–Brian


Luck Favours the Prepared

Many of the best moments in my career have happened because of luck. Shortly after the Apple Watch was announced, Apple approached one of our clients about building a WatchKit app. It would be one of the first available on the App Store. Day one. They asked if we could help. Since I’d been doing a bit of work on the platform I, along with one of our client’s designers, flew down to Cupertino and spent a week working on the app at Apple’s campus.

Many of the best moments in my career have happened because of luck.

Shortly after the Apple Watch was announced, Apple approached one of our clients about building a WatchKit app. It would be one of the first available on the App Store. Day one. They asked if we could help.

Since I’d been doing a bit of work on the platform I, along with one of our client’s designers, flew down to Cupertino and spent a week working on the app at Apple’s campus. It was the highlight of my career. Here I was, working on a device that hadn’t even been released to the public yet. I was so lucky.

Or was I?

The truth is, I’d spent *weeks* poring over the WatchKit documentation, building apps, blogging about the SDK, and mocking up interfaces. I even 3D-printed a model of the watch – just to get an idea of the size. I was putting in the work. 

Did I know it would lead to such an amazing opportunity down the line? Hell no. I thought the Watch sounded interesting and I wanted to build apps for it. But when the chance to do something cool presented itself, I was ready.

We never know where our careers will take us. It’s important we find time to explore new things. Try out a new platform. Build a side project. Collaborate with someone new. You never know which exploration will yield something that changes your path forever.

Steve Jobs once said, “You can’t connect the dots looking forward; you can only connect them looking backwards.”

Which dots will you create today?

Until next time,

–Brian


Lose the Crutch

For the longest time I thought I needed caffeine to be productive. I needed a lot of things, actually. I needed the perfect time, with no distractions. I needed my favourite chair, at my favourite desk. I needed my coding playlist. I needed my giant monitor. I needed the right motivation or inspiration. I needed that jolt of caffeine. With everything in place, I could finally get to work. Conditions were perfect.

For the longest time I thought I needed caffeine to be productive. I needed a lot of things, actually.

I needed the perfect time, with no distractions.

I needed my favourite chair, at my favourite desk.

I needed my coding playlist.

I needed my giant monitor.

needed the right motivation or inspiration.

I needed that jolt of caffeine.

With everything in place, I could finally get to work. Conditions were perfect.

Except they weren’t, most of the time.

I didn’t need any of those things. Each one was a crutch. A tiny, perfect excuse to procrastinate.

Waiting for inspiration, motivation, or a “perfect moment” is for amateurs. A true professional knows the best way to accomplish anything is to sit down, shut up, and put in the damn work. Each and every day.

Want to get better at programming? Come up with a side project and work on it every day.

Wish you could improve your writing? Write 500 words every day.

Want to get better at cooking? Cook one meal – you guessed it – every day.

Doing great work is, in many ways, a numbers game. The more time you spend honing your craft and putting the work in, the better your odds of creating something great. You may not be the best in your field, but you can certainly work harder than everyone else.

So what’s holding you back? What excuses are you using to procrastinate? If any device, tool, setting, mood, or beverage becomes necessary to work, it needs to be jettisoned. Right quick.

Until next time,

–Brian


Recognizing Burnout

My wife, dog, and I are headed to a remote cabin in Algonquin Provincial Park for a week of rest and relaxation. No to-do lists, no distractions, and – most importantly – no cell reception. I’m looking forward to a much-needed break. Five years ago, I would have told you I hated taking vacation. I love what I do, challenges and all. Why would I want to sit on a beach somewhere, sipping cocktails?

My wife, dog, and I are headed to a remote cabin in Algonquin Provincial Park for a week of rest and relaxation. No to-do lists, no distractions, and – most importantly – no cell reception. I’m looking forward to a much-needed break.

Five years ago, I would have told you I hated taking vacation. I love what I do, challenges and all. Why would I want to sit on a beach somewhere, sipping cocktails? There was work to be done. Taking a break felt like weakness.

So, what changed my mind? Burnout.

It crept up on me, from time to time. I’d snap at coworkers. Small things would frustrate me to no end. One or twice, I said things I’d come to regret.

After years of trial and error, I started to recognize the symptoms of burnout. I still get it wrong, sometimes. Thankfully, I work with a team of people I love and trust. They’ve had my back through some rough patches. I hope they’d say the same of me. 

Here are some signs of burnout you should be on the lookout for, both in yourself and your teammates.

Sudden bouts of negativity

When my burnout is at its worst, I find it hard to see the positive in anything. My code is garbage, the project is off the rails, and my commute sucks. I feel like nothing I do will ever be enough – a finish line that always seems to move further and further away. We all have bad days, but too many in a row might mean something’s wrong.  

Unable to concentrate

I can’t get in the zone, no matter what I do. Twitter, Facebook, and other social media sites suddenly become much more interesting. My mind jumps from one daydream to the next. When you can’t even fake an interest in your work, it might be a sign of impending burnout.

Feeling stuck or stagnant

Do you feel like Every Day is Exactly the Same could be the theme song to your life? You might laugh, but that’s exactly what I thought during one of my worst periods of burnout. I felt like I needed to change careers, find a new hobby, and move to a new city – all at once. Some time off is usually all I need to put things back into perspective.

Short temper

If the smallest thing sets you off, particularly if you’re usually pretty pleasant, it’s one of the surest signs of burnout I’ve seen. Once, I got downright mean with a coworker who had simply forgotten to invite me to a meeting. It wasn’t even a particularly important meeting. Completely unacceptable.

The first thing I did was apologize. The second thing I did was book some time off.

Now that I better recognize the signs of burnout, I do my best to deal with it before it happens. I schedule regular breaks – whether it’s a week off with my wife, or just a long weekend. It’s done wonders for my mental health, and I’m certain I’m a more pleasant person to work with. If you’re starting to feel like you’re burning out, talk to your team. Let them know how you’re feeling. Chances are, they’ve already noticed. Then, figure out how to take the time you need.

Until next time,

-Brian


Shipping Is a Muscle

I used to be terrible at shipping side projects. It always started the same way: I’d have an idea, get a head full of steam, and plow right into making it a reality. My fingers would fly across the keyboard, code flowing from my brain to the editor with ease. But, often, things would fall apart. I’d get bored or hit a technical roadblock and the project would end up languishing on my hard drive.

I used to be terrible at shipping side projects.

It always started the same way: I’d have an idea, get a head full of steam, and plow right into making it a reality. My fingers would fly across the keyboard, code flowing from my brain to the editor with ease. But, often, things would fall apart. I’d get bored or hit a technical roadblock and the project would end up languishing on my hard drive. I’d move on to my next brilliant idea, hoping that would be the one I’d actually ship.

You can guess how well that worked out. Sound familiar?

On your first trip to the gym you might struggle to lift even the smallest of weights. Your muscles, twitching and quivering, haven’t been trained for what you’re asking of them. But, with a little persistence and dedicated practice, you start lifting a bit more. Then a bit more on top of that. One day, you surprise yourself with how strong you’ve become.

Shipping is a muscle. And, like any muscle, it can be trained. Here’s some tips to make it a bit easier:

1. Cut scope

When you have a day job, particularly if it’s one you enjoy, your first responsibility is to your employer. Which means the majority of your side project work has to happen on nights and weekends. You need to make sure it’s manageable — and the best way to do that is to aggressively cut the scope of your project.

For every potential feature ask yourself two questions:

Be honest with yourself!

  • Is this just a nice-to-have, and not really core to the product?
  • Is this something that can be added or improved upon later? (More on this in a second)

If the answer to either of those questions is yes, leave it out of your first version.

2. Iterate. Iterate. Iterate.

You can always improve your side project — particularly once you have feedback from real users. You need to adopt the mentality that until an idea is out of your head and into the hands of other people, it basically doesn’t exist.

When I launched Draftly, my Dribbble client for Apple TV, it let you do three things: see a collection of shots, see a bigger version of an individual shot with some details, and view a user’s profile. That’s it. But in the weeks after launch I added more features, refined the UI, and refactored the codebase. If I had waited until everything was “perfect”, I might never have launched at all.

Perfect is procrastination.

3. Stop wasting time

It’s a cliche, but it’s true: we all have the same 24 hours each day. It all comes down to priorities. Stop watching Game of Thrones. Or watch it while working, at least. But you’d get a lot more done if you didn’t.

Try to value creation over consumption. Instead of watching television, write a blog post. Rather than scrolling through Twitter or Facebook on a long bus ride, fire up the Notes app and brainstorm project ideas.

Granted, some items on your calendar are immutable. If your kids need to get to daycare, you can’t skip the drive and put in an extra hour on your side project. But if you examine your schedule closely, and aggressively cut scope, I’m betting you’ll find ways to eke out time here and there.

Work that muscle

With some practice and these tips, you’ll be well on your way to becoming a shipping machine. Why not start today?


Side Projects + Open Data

Working on side projects is an important part of any developer’s career. You can learn new skills, team up with others in your field, and practice promoting your work. In a job interview, talking about a side project you’re excited about is often more effective than showing off a portfolio full of school projects or client work. It shows you’re passionate and eager to learn — particularly if you’re a junior developer.

Working on side projects is an important part of any developer’s career. You can learn new skills, team up with others in your field, and practice promoting your work. In a job interview, talking about a side project you’re excited about is often more effective than showing off a portfolio full of school projects or client work. It shows you’re passionate and eager to learn — particularly if you’re a junior developer. But we’re all busy, and it isn’t easy to find the time to plan, develop, and promote a side project. I want to share one of the shortcuts I use for side project concepts: Open Data.

Open Data is the idea that data — particularly government data — should be freely available for anyone to use, remix, and republish. Many governments have bought into the idea. Toronto, for example, maintains a repository of data sets in its Open Data Portal.

Governments often don’t do a good job of utilizing or presenting the data they have. When looking at a data set, I ask myself two questions:

  • Can I improve access to this data, or make it easier for the average person to browse?
  • Can this data be useful when paired with the technologies uniquely available on mobile devices? (GPS, Health tracking, etc.)

You could use the Parking Tickets data set to power an app that warns drivers when they park somewhere that is ticketed heavily.

You could create an app that monitors the user’s route to work and, using the Road Restrictions data set, warn them about accidents and construction. Heck, throw the Traffic Cameras set in there and you could let them see how bad traffic is for themselves.

You could combine Heat Alerts and Extreme Heat Alerts with Air Conditioned Public Places & Cooling Centres to alert those vulnerable to high temperatures and direct them somewhere they can cool down.

The ideas are endless.

When Toronto released the results of the Core Service Review (a fancy survey, basically) browsing the responses, well, sucked. It was a fantastic opportunity for me to create What Toronto Said, a site where every response could be browsed, mapped, and read easily. It was my first foray into Ruby on Rails, which meant it wasn’t just an opportunity to make things a bit easier for my fellow Torontonians, it was a chance to improve my skills.

And not just my technical skills. As Austin Kleon points out, your work doesn’t speak for itself.

“Our work doesn’t speak for itself. People want to know where things came from, how they were made, and who made them. The stories you tell have emotional significance and bring value to your work. Everyone wants to feel connected, and stories make things more personal.”

Once the site was ready, I contacted a few local media outlets and let them know it was coming. I ended up doing a few interviews, appeared on the radio, and got traffic from a bunch of local blogs. It was so much fun. Not to mention, jumping into Rails on my own helped me land my gig at The Working Group.

Learning to ship, improve, and promote your work doesn’t come naturally to most people — myself included. It’s a skill, like anything else. And that means you can work to improve it.

Side projects are a great way to practice all your skills. And with the insane amount of Open Data out there, it would be silly to pass it up. Instead of working on yet another todo list app, why not create something that allows you to up your game and help out your neighbours, all at once?

Everybody wins.


The Path

This is a slightly-edited version of a talk I gave to the mobile cohort at Bitmaker Labs in May. It’s a bit of a long read, but it was well-received. Who here is a mobile developer? Put your hand up. Every hand should be raised right now. The second you walked through those doors, you became a developer. Not to mention, you’re still here. And that deserves respect. Give yourselves a fucking round of applause.

BitMaker Labs

This is a slightly-edited version of a talk I gave to the mobile cohort at Bitmaker Labs in May. It’s a bit of a long read, but it was well-received.


Who here is a mobile developer? Put your hand up.

Every hand should be raised right now. The second you walked through those doors, you became a developer. Not to mention, you’re still here. And that deserves respect. Give yourselves a fucking round of applause.

Welcome to the club.

My name is Brian Gilham and I am a mobile developer.

We share a profession, you and I. We have a passion for this thing we do. I know you do, otherwise you wouldn’t be here.

We share a craft. And it is a craft. Like painting, sculpting, or automotive repair. I work at my craft each and every day. And now, so do you.

We walk the same path. And, while I’ve been walking that path a bit longer than you have, that only means I can help you avoid some of the quicksand. You will do the same for those who come after you, in time.

But I’m willing to bet, for many of you, that feels like a long way off. You’re short on a few things:

  • Time
  • Experience
  • Understanding

I’m here to tell you that you’re doing fine. You’re doing great.

You are going to be okay.

Who here has heard of imposter syndrome? Here’s the official definition:

[…] a psychological phenomenon in which people are unable to internalize their accomplishments. […] those with the syndrome remain convinced that they are frauds and do not deserve the success they have achieved.

Sound familiar? I’m willing to bet at least a few of you feel this way. Hell, I’d bet most of you feel this way.

I’ll let you in on a little secret: Every single person I work with feels the exact same way.

I feel it every damn day. The people you admire feel it too. There’s a saying:

“Fake it until you make it.”

That’s horseshit. Instead, think of this:

“Make it until you make it.”

Don’t fake anything. You are racking up accomplishments here every day. Don’t forget that. Be proud. Don’t just take it from me, though.

Who has heard of Ira Glass?


I wasn’t always a developer.

When I enrolled in college, almost 12 years ago, I chose to pursue my other passion: writing. I signed up for the print journalism program at Loyalist College. Back then, they still made the distinction. These days they just call it “journalism”, as they should.

I dedicated three years of my life to it. I loved it and I was good at it. But it wasn’t what I decided I wanted to do with my life. So I made a change.

It was scary. In some ways, it felt like a step backwards.

Had I just wasted three years of my life?

I suspect there isn’t a single person in this room who can’t relate, in one way or another.

And to some people in my life, it looked exactly like a step backward. They didn’t hesitate to tell me so. Perhaps you have someone in your life like that. But hear this:

Fuck. That. Shit.

Pay them no mind. Use it as motivation. Use it as the fuel that powers the fire in your belly. Every win is another blow struck against the haters in your life:

  • Finishing this program
  • Your first job or freelance gig
  • The first app you release
  • Your first promotion, raise, or really big cheque

Don’t listen to anyone who tells you a computer science degree — or any degree is a requirement for success in this industry. I don’t have a degree. Also, I suck at math. Don’t believe that one either.

Seriously. I was a terrible math student. I failed math in the 10th grade. Just bombed it. They sent me to summer school to catch up and, when I was done, told me I’d have to redo the school year anyway.

I still count on my fingers, sometimes.

Despite those shortcomings, here I stand. I have created and contributed to projects that have been featured by Apple, garnered serious media attention, won awards, and been used by people all over the world.

I have been programming professionally for almost 10 years. In that time I’ve been lucky to work with the best Toronto has to offer — and the worst. I have done great work — and shitty work. I have had success. And I have had crippling failure.

And you will too.

You’re not that far from finishing your time here. And I’d bet all the money in my pocket, which ain’t much, that your minds have begun to drift to one thing and one thing only: getting a job.

I am here to help you.

I am a developer with a job. It’s not my first job, though I would happily make it my last. I interview developers and I help hire developers. And, despite what you may have been told, you are about to enter a field awash in opportunity.

I have some bad news for you, though:

There are a lot of you.

You need to stand out from the crowd.

If you will lend me your ear for just a bit longer, I’d like to share some tips with you for landing your first gig. And let me start by saying: I have fucked this stuff up numerous times.

Let’s go.


Look Around

Your future coworkers are sitting here in this room.

With any luck, you’ve spent some time getting to know your fellow students. In the future, you may end up working with some of them. Hell, some of them might just be the ones hiring you someday. Toronto is a small place.

You are allies. Act accordingly.

My first “real” development job came to me because of a recommendation from someone I went to school with. Support each other.

Show Some Passion

Showing off your Bitmaker Labs projects isn’t enough. Almost every interviewer will ask you some version of one question:

“So, doing anything on the side?”

Don’t be fooled. What’s they’re really asking is:

“How passionate are you?”

Is this stuff in your bones? A part of your goddamn DNA?

The best developers can’t help but do this stuff on the side. They live and breathe it.

I hired one junior developer because he spent his free time making a Dungeons & Dragons map generator for his friends. The project itself is almost secondary. What I’m looking for is some indication that you love this stuff.

Writers keep private journals, illustrators sketch, and programmers build software all the damn time.

The most interesting companies in Toronto, and the world, only want to hire the most interesting programmers.

Share Your Work with the World

There’s a pervasive myth out there: Quality naturally rises to the top.

It’s bullshit. Good work doesn’t sell itself.

How many of you have some kind of website or online portfolio? I don’t care if you coded the entire thing yourself.

Show me what you’ve been working on. Talk about the challenges you faced and the lessons you learned.

Bonus points if you give me a link to a GitHub repo.

A resume doesn’t mean much, particularly if your last job was at a Home Depot. Show me that you’ve been working your ass off, however, and I’ll want to bring you in to hear more.

Hustle

I asked one of my coworkers, a fellow graduate of Bitmaker Labs, what the difference was between those who are working today and those who failed to get a job. His answer?

“They didn’t go home.”

The most successful students, he said, stuck around to chat with the instructor. They worked on problems together. They made sure they understood what they had just been taught.

Look, I get it.

Maybe you have to get off to your part-time job, or take care of a family member. But I’d be remiss if I didn’t tell you that, if you aren’t making it up in some other way, you’re at a disadvantage.

Outwork Your Competition

I am far from the best developer in Toronto. Or at TWG, for that matter.

But what I have going for me is that I outwork a lot of people. I wake up early. By the time other people are walking through the door, I’ve already been at it for a few hours.

Hard work can beat skill, much of the time.

It’s a bit of a cliche, but come in early. Stay late. Learn everything you can. Find ways to contribute that aren’t necessarily programming. Pay attention.

Then, take that experience and use it to become better.

Sometimes it’s Who You Know

Get out there. Go to as many events as you can.

Don’t “network”.

Go to events with the goal of meeting like-minded people. People who are doing the same thing you are. Hang out with them. Help them. Make some friends.

Play your cards right and those connections will serve you for the rest of your career. People hire people they know.

Part of what helped me get my job at TWG was that I’d spent time with them before I applied. By the time my name popped up on an application, I wasn’t just another name on the pile. I was Brian, they guy they’d drank with a few times.

They knew me.


I love this thing we do. I wake up every day excited to practice my craft. And I’m more than a little jazzed that you’ve decided to join me. Mobile development, practiced well, is powerful.

We make the software that runs on devices people carry around with them everywhere.

Sure, there are a million fart apps out there. But there are also apps that help you raise your kids, organize your time, or remind a loved one when it’s time to take their medication.

Your work can change someone’s life. And I can’t think of a better reason than that to do what we do.

And we need you. We need good people who care about software and the impact it has on the world.

So, let’s get to work.