How to become more than a coder
This post is about how to become more than a ‘coder’ — how to make more of your potential, to stretch yourself, to do more, and achieve more. This could mean finally building that website or app that you’ve always wanted to. Or giving your first talk at a meetup. Or entering that work hackathon even though you’re swamped with your day job. Or learning new skills and transferring to a more interesting project.
I’ve been a professional engineer for about 12 years. For the last 5 or 6 years, I’ve worked in full-time innovation teams, working with emerging technology, new concepts, new products, and generally having the time of my life. I get asked to give numerous talks each year. I make my own apps independently. And I’ve just started my own company on the side to make games, something I’ve always wanted to do.
I have friends in other tech firms with great engineering jobs who tell me that while they enjoy what they’re doing, they’d much rather be working on new, creative stuff. Not all of them think like this of course. Some think my job is just ‘playing with the toys’ while the real engineers do the real work!
I have other friends who are unhappy in their engineering roles. They’re stuck on legacy systems, or they’re bored of writing yet another API with same boilerplate code as usual, or they just aren’t interested in the actual product they’re building.
In this post, I’ll outline some advice on how I believe you can achieve more.
Coding is not just 9 to 5
I don’t mean that you need to work longer hours. I mean that you could be coding and creating outside of your day job. My main pass times are:
- Spending time with my family
I make apps because they’re my favorite type of coding. I love making something that you can use easily on your smartphone. I enjoy making them, and I learn as I do so. Over the last year, I’ve also started making Alexa Skills, mainly to impress the kids when “ALEXAAAAAAAA” does something I’ve built for it!
I often talk to engineers who don’t touch their laptops outside of the office. I wonder how will they find time to become more than what they’re supposed to do in work, how will they learn about new technologies or concepts?
I think a lot of people agree with me. My post on side-projects, One hour of side-project coding a day — a New Year’s Day resolution worth making, is one of my most popular. Many people have contacted me since saying they’re trying to do the same.
You don’t have to build the next Uber or Snapchat. It can just be something that is useful or that will help you learn. One of my most used apps is a simple one to show train times in Ireland:
It’s not easy, and the last thing I’d ever want is people burning themselves out. But I believe it’s possible to do meaningful work at home and strike a positive coding/life balance.
Plan your extra work
The key to maintaining that balance, and to spending your coding/creating time on something useful, is to plan. Just like in work, I maintain a personal Trello board with high-level tasks. I also maintain a high-level roadmap for the year, marking out what I’d like to get done and when.
This perspective is needed, so you can realistically see what’s possible. I see from my roadmap that I have updates to two school apps to finish in August, so I’m not working at the minute on the AR game I want to release this year.
Enter every work hackathon you can
If you listen to any of my advice today, this is probably the most important.
I got my break into innovation when in my previous job. I entered and was joint winner of an internal hackathon to “build an app.” Any app would do, and entries were due in 2 weeks. I went home and googled “how to make an app.” Up until then, I’d been working on large-scale enterprise systems — Oracle, SQL Server, Java, and the like. Two weeks later, I had my first Android app built and I was presenting it to the CEO of the company.
This isn’t an nice anecdote to show how amazing I am, but to highlight how important it is to seize chances like this. A few months later, the company ran another, larger hackathon, this time in league with Microsoft, to create any app again. I won this as well. Shortly afterwards, I asked to be transferred to the recently formed innovation team, which thankfully happened.
In both competitions, nobody else on my team entered.
I encouraged my teammates to enter, but the answer was generally “I’m too busy”, with whatever project they were working on. I realized, however, the importance of the opportunity — to try something new, to show what we were capable of, to get a chance to be creative and innovative and achieve more.
A month or two ago in my current awesome job in Liberty IT (part of Liberty Mutual), I entered a Data Science hackathon, even though I’m not a data scientist. I built an ARKit 2 multi-user augmented reality visualization of data, with the “data” consisting of a few datapoints and 99% of the work of the AR app. Our Director of Technology David Anderson rumbled me at the judging, realizing I just wanted to get 2 days out of work to try out ARKit 2!
Good companies encourage hackathons and encourage their staff to participate. They know it’s great for development, teamwork, networking, and for getting new ideas to help grow the business.
Enter as many external hackathons as you can
I just submitted an app, Diary Dots, to the Techcrunch Disrupt SF online hackathon. There was 2 months to build something, but I didn’t have an idea I thought was worth entering until 10 days before the deadline. I realized I could use the opportunity to build an app I’ve had at the back of my mind for months —a simple app that would allow me to track my food, exercise, coding, whatever, just using colored dots!
Hackathons give you deadlines to meet.
Looking now at some of the other submissions, I know that my last-minute developed app doesn’t have a chance of winning anything, but I knew that when I entered. My app is more or less finished though, which is a victory in of itself. The main audience for the app is me, and now it’s done. Nothing makes you finish a project, be it at home, or in work, like an immovable deadline. I use hackathons to help give me a push finish things I’m building anyway.
(Update: I just submitted it to the Apple App Store so hopefully it will be live soon! It’s free with no ads, so feel free to download it when it’s available!)
A few years ago, I entered a major hackathon hosted by Ford with a friend, Dave Maxwell. We came second and won €27.5k worth of prizes, which we couldn’t keep for work reasons and ended up donating to charity. Not keeping the cash was slightly not fun, but achieving something as massive as that was amazing both professionally and personally. I think my bosses were surprised, but I never doubted that we had a chance. Anyone can do well at a hackathon if they have a decent idea and put the work in to build it and present it well.
Some people may be put off entering such a big competition, thinking they aren’t good enough, or their idea isn’t good enough. This is just another example of imposter syndrome. Believe in yourself and your skills, and give it a try. I’ve done hackathons and won, and I’ve done hackathons and done abysmally, but I’ve never regretted participating.
I’ve had a slight stammer since I was small. But instead of shunning speaking opportunities, I’ve always sought them out, from debating in school, to recently giving a talk at the ARVR Innovate conference in Dublin. Public speaking, about technical subjects that you know about, is an incredible way to grow your confidence, learn more, and showcase your expertise.
If you think you have nothing to talk about, then aim to do something that you can talk about. Is there an AI meetup you like going to but think you don’t have anything to add yourself? Try out some machine learning models on AWS or Google Cloud and then ask the meetup if you can give a quick talk on what you learned, from a beginner’s perspective. Most people at meetups are exactly like you and me — just people who want to learn more and probably know a lot less than you think they do.
Another avenue is to give small tech-talks in your work. Have you taught yourself how to build Alexa Skills at home? Give a talk at lunch about it—you’ll be probably surprised how many others will be interested to find out more about it. I’ve realized over the years that so many people want to do more, to learn more, and will take the chance to listen to someone who is actually doing it.
Think about products and users, not sdks and libraries
- How can I make an easier to use interface?
- How do I make a voice interface simple but effective?
- What are the latest cloud services that can save me time, for example by reducing the amount of code I need to write?
For me, coding isn’t about becoming amazing at algorithms, data structures, or models. It’s about being able to create something new and interesting, something fun or valuable.
If you’d rather focus on the pure coding — on those algorithms and data structures — then absolutely go for it. You’ll probably earn a ton of money at it! My advice is for people who want to get away from purely working with code, who want to build their own products, or have a greater say in the what’s being built in their own companies, as oppose to only how it’s built.
Blogging is a fantastic way to grow personally and professionally, and something I’ve dived into the last few years. It makes you think, learn and push yourself, and have something actually worthwhile to write about.
I started my appsandbiscuits site on Medium several years ago as a resource for an app development course I was giving, writing beginner level iOS and Android tutorials. It not only helped my students, but also helped me learn more about both. Nothing makes you look up the finer details of something than when you’re writing a tech tutorial about it!
It can also lead to other opportunities. I’ve been asked to do work, give talks, and help people, solely based on blogs people have come across and read. Internal blogs at work are just as important as external ones, like here on Medium. Showing your colleagues and/or users and customers something interesting and valuable is a good thing.
Finally — be brave
At the risk of coming across as another Medium self-help guru, I have to sign off by saying, as one of my old mentors use to say when I was a young engineer starting out, JFDI — just f***ing do it!
It’s a cliché but true. You won’t gain anything by doing nothing. The way to bigger and better things is to just try something, to build something new, to talk about it, to show others, and if it doesn’t do well, try it again, or try something else. Even if you fail, you can learn a lot along the way.
** Check out my latest blog all about 2019 tech predictions: https://medium.com/@LeMarquisOfAndy/the-emperors-new-blockchain-2019-tech-predictions-hopes-d6aab18a0fed **