Brian Gilham

Engineering leader, husband, and father

learning

Over the Hump

Tomorrow, I’ll hit a milestone I’m pretty proud of: 30 days without a cigarette. I’ve smoked for a long time now. Sure, I’m managed to quit here and there. But addiction is a powerful thing, and I’ve always been lured back in. Any smoker who tells you they don’t want to quit is lying to you. I don’t know a single person who smokes and doesn’t want to stop. And it certainly isn’t the kind of addiction they’d wish on someone they love.

Tomorrow, I’ll hit a milestone I’m pretty proud of: 30 days without a cigarette.

I’ve smoked for a long time now. Sure, I’m managed to quit here and there. But addiction is a powerful thing, and I’ve always been lured back in. 

Any smoker who tells you they don’t want to quit is lying to you. I don’t know a single person who smokes and doesn’t want to stop. And it certainly isn’t the kind of addiction they’d wish on someone they love.

I’ve tried every traditional method of quitting smoking imaginable. Patches, gum, lozenges, inhalers, cold turkey, and prescription medication. You name it, I’ve tried it.

Each had varying levels of success, but nothing ever really stuck. Until I tried one last thing.

Vaping.

(Insert obligatory VAPE NAYSH Y’ALL joke here.)

Yeah, yeah, I know. It tends to look a bit ridiculous. And long-term studies on its effects are nonexistent. But the research I’ve done — not to mention the difference in my lung capacity — has convinced me it’s better than smoking cigarettes, at least.

When I first wandered into a local shop, more than a year ago, the guy behind the counter was amazing. He walked me through everything I needed to know to get started. 

I walked out with a basic battery unit (a “mod”, in vaping parlance), tank, and some liquid. Nothing fancy.

Now, anyone who has tried vaping will tell you; it doesn’t give you the same sensation as smoking a cigarette. But it was just close enough to make me think that maybe — just maybe — it would be enough to help me quit smoking for good.

As time went on, and my interest in vaping grew, I decided I wanted a bit of an upgrade. More flavor, bigger tank capacity, that sort of thing.

That’s when things got a bit confusing.

There’s almost near-universal agreement on what sort of mods and tanks are best for beginners. But, beyond that, I encountered a mess of competing opinions, products, and philosophies. 

I had to learn a lot of new terms. Did I want a sub-ohm tank? Was I looking for mouth-to-lung or direct-to-lung? RDA? RDTA? RBA? External batteries, or charging via USB? What kind of batteries? 18650? What’s that?

I was a bit out of my depth, needless to say.

After talking to the staff at the shop, researching online, and watching reviews on YouTube, I settled on a new mod and tank. I was ecstatic, at first. I was blown away by the improvement in flavour — clearly, I’d been missing out.

Two weeks in, I learned the phrase “vapour lock.” Essentially, it would stop working properly. Oh, and it would leak every once in a while. 

I went back to the shop, but the best answer they had was,“Oh, weird. That never happens to us.” Not exactly helpful. 

I spent a few more weeks feeling frustrated before buying a different tank. Maybe the first was a lemon, I thought.

Nope. The next one was just as problematic, in its own way.

I’ll spare you all the details of my long, annoying, and costly journey. Eventually, I found a setup that works flawlessly. But it was needlessly difficult to get there. 

All of the help and guidance I’d had starting out? A distant memory.

It reminds me of the process a lot of developers go through when they’re first starting out. When you’re a beginner, it’s easy to find help. If you’re trying to get into iOS development, I can point you to 100+ tutorials and classes. Moving beyond the basics? That gets a lot harder.

Once you learn fundamentals, the really hard questions kick in. When should I write unit tests? Integration tests? What are UI tests? I’ve heard I should use the MVC pattern, but somebody else recommended VIPER. What about coordinators? What do I do when my app seems to just randomly crash? How do I store data on the device? Should I use Core Data or Realm?

You get the idea.

When you’re learning to program, there’s a definite learning curve. And it’s hard to get over. A lot of people hit this point, get frustrated, and quit.

I often hear from developers who want to start a blog, but don’t know what to write about. My suggestion? Be the person who helps other people get over that hump. Give them the tools, resources, and guidance to help them move from a junior to an intermediate developer.

Not only will you be filling a giant gap in programming education — and saving them a lot of time, frustration, and money — they’lllove you for it. 

Until next time,

-Brian


5 Reasons to Boost Your Career with Side Projects

If you’re a programmer, *particularly* early in your career, there’s no better way to learn new skills, promote yourself, and improve your job prospects than working on side projects. Full stop. Brainstorming, developing, and releasing side projects has been a force multiplier in my career — and it can do the same for you. Always working on side projects comes naturally to me, but I know that isn’t the case for everyone.

If you’re a programmer, *particularly* early in your career, there’s no better way to learn new skills, promote yourself, and improve your job prospects than working on side projects. Full stop. Brainstorming, developing, and releasing side projects has been a force multiplier in my career — and it can do the same for you.

Always working on side projects comes naturally to me, but I know that isn’t the case for everyone. Why should you spend your precious free time coding when you could be watching TV, hanging out with friends, or playing video games?

It’s a question worth examining; why *are* side projects so important?

The answer to this issue has a few different angles — and it’s going to be a little bit different for everyone. But here’s five reasons I think you should be working on a side project.

Low-stakes learning

We all know how important it is to stay on top of changes in the programming landscape. There’s *always* a new technology, library, technique, or platform to learn. Things are moving fast and, if you don’t keep up, there’s a good chance you’ll find yourself out of date. Working on a side project gives you the opportunity to pick up new skills in a low-stakes environment. If a side project fails, you don’t need to worry about letting down your team, pissing off your boss, or not being able to pay rent. You can try new things and learn from your mistakes, all at your pace.

Becoming an expert

If you’re willing to jump on new platforms before anyone else, you can quickly become the resident expert at work. When the Apple Watch SDK came out, I poured hours into building apps, mocking up potential interfaces, and sharing what I learned.

When the opportunity to do an Apple Watch project came up at work, I was the natural choice to lead it. Now, when new Watch projects pop up, I’m often asked for guidance and advice. It’s just one way I’ve increased my value at work and differentiated myself from others.

Landing your first job

If you’re a junior developer, looking to land your first job, side projects can help. There’s one big thing holding you back; your resume is more Sales Associate at Home Depot, less, Front-End Developer at Company X.

A lot of junior developers bump up against that wall for *far* too long, stuck at a crappy job with no real opportunity to learn and grow. Side projects give you a way out, building a reputation and portfolio for yourself.

Cultivating a portable reputation

Working on side projects can give you what Sean Fioritto calls “portable reputation.” If you’ve worked at one place for a long time, there’s a good chance you’ve built up a fantastic reputation and a fair bit of credibility. But there’s a big problem; that status is locked up with your employer.

If you leave, and you haven’t put time into cultivating a portable reputation, you’ll be relying primarily on your resume to help you stand out from the crowd. Can you land a job solely on the strength of your resume? Of course. But why not take *every* advantage you can get? The demand for developers is huge right now, but it won’t last at this level forever. Side projects give you the opportunity to build a reputation independent of your employer. And reputation is leverage.

Sweet, sweet cash (maybe!)

While it shouldn’t always be your primary goal, there’s also the possibility of a side *project* turning into a side business. Some of the most successful companies were born out side projects — Gmail, Buffer, and Todoist come to mind.

Between apps and other digital products, I’ve managed to make some significant money from my side projects. Nothing life-changing, mind you. But once you start making money from a product or service of your creation, you’re forever changed. When you know how to plan, execute, promote, and sell your work, you become more self-sufficient. Once you realize you can generate income based on value, and not time spent, there’s no going back.

Until next week,

-Brian