My 2014 in Review

Or How I Beat Impostor Syndrome

I’ll remember 2014 as the year I was challenged and grew the most — both personally, and professionally as a UI designer and front end developer.

This year, amongst other things, my writing on Ember.js has been read by thousands; I joined the Ember.js documentation strike team; and I was accepted to speak at EmberConf, my first ever talk at a technical conference.

As a bit of context, I’ve been a UI designer for a number of years, but only started becoming more serious about front end development a few years ago. I’m proud of the things I’ve accomplished this year despite my limited experience, and I can’t wait to see what I’ll learn and achieve next year.

I wasn’t always this confident, though. I’ve battled with impostor syndrome for a good part of my adult life, and only recently realised that it’s no longer as big of a problem as it used to be. If you had told me 2 years ago that I would be speaking in front of an audience of hundreds about Ember.js, I would have laughed nervously and then run away crying.

Know Your Enemy

Until recently, I had never heard of the term ‘impostor syndrome’. I was familiar with the symptoms — of feeling like a fraud, surrounded by people smarter and more capable than you could ever be — but hadn’t realised that it was an actual ‘thing’ you could have. It was a bit of a relief finding out that I wasn’t the only one suffering from what I had originally attributed to a lack of intellect. It also became apparent that the issue wasn’t so much that I wasn’t intelligent, but rather that I both lacked confidence and had copious amounts of insecurity.

Shortly after graduating with a degree in Finance, my friend Scott and I started working on a startup idea. At the time, both of us had very little technical skills, and unfortunately, ran out of money before we could turn it into a viable business. We had both realised that it would probably be a good idea to learn more technical skills before working on another startup, so we both took a few months off to reflect.

I had no idea what I was doing with my life.

When I first started learning Ruby on Rails and JavaScript, I was in over my head. Up till then, my only introduction to programming was a Financial Modelling course I did in university using VBA in Excel. Sure, I learnt about the basic building blocks of programming, such as variables, loops, conditionals and types, but it was all on a very shallow basis. And even though I knew the basics, I still couldn’t fathom how they worked together to become an actual web application.

I felt horribly out of place in the rapidly moving world of web development, and it was crippling. I had no confidence, and many times I thought I would just give up on my dreams to join the corporate rat race.

What Am I Good At, Really?

I’ve been designing UIs and graphics since I was 15, when I ‘stumbled upon’ a copy of Macromedia Fireworks, and then later Adobe Photoshop. When we were still in high school, my friend introduced me to this cool thing called HTML that was “a way of making websites”, and he did that by showing me how to use the marquee tag. That’s right, my first line of HTML was:

<marquee>Hello world</marquee>

From there, I discovered other aspects of basic HTML and CSS, and eventually, the wonderful world of slicing my Photoshop designs into tables. I was hooked on the idea that I, a nobody, could create and publish these websites to a potentially unlimited audience.

With all my time spent tinkering around with HTML/CSS, FTP and graphic design (the Good Old Days™), my grades in high school suffered, and I barely made it into design school. I remember thinking at the time that all this web stuff was pretty neat, but I couldn’t imagine it being an actual career option, so I didn’t take any web development courses in school; instead focusing on game design and illustration for concept art. In hindsight, I’m pretty glad I took that path, as the skills I learnt — drawing, painting, anatomy, perspective, colour, lighting— have been very complementary to my professional life.

I wasn’t aware of it back then, but if I immerse myself in something, I get good at it very quickly. I’m someone who learns best by trying, failing, and doing it all over again.

I finished design school, but I still didn’t think web development would ever be a viable career. I loved drawing and painting, but I didn’t think I would enjoy it as a job, and jobs in concept art were scarce if you lived in Singapore.

Faced with the prospects of unemployment and not knowing what I wanted to do in life, I decided to do something more ‘realistic’. For the next few years I sat myself down and brushed up on the math I flunked through in high school to complete my Finance degree in Australia. This was my first brush with impostor syndrome — I was in a foreign country, surrounded by people who were smarter than me, and I had no idea what I had got myself into. Throughout my first semester, I kept believing I wasn’t smart enough to go from design to finance, so I worked very hard and studied continuously — I didn’t have much of a social life.

By the end of my first semester, even after I had finished near the top of my class, I still didn’t think I had it in me. The constant fear of being found out that I wasn’t good enough actually spurred me on to work harder; and what I lacked in intelligence, I decided I would make up for with sheer determination and grit.

When I finally finished my degree, I graduated in the Dean’s list and still didn’t think I knew anything about finance. In my mind, I was the world’s biggest impostor.

Can I Really Do This?

After my first startup failed and months spent learning front end development, Scott got in touch with me again. He had hacked together a little Rails app for visualising price data on eBay that had received a lot of attention on Hacker News. He called it ‘marketprice’, and he thought I would be a great addition to the team. I didn’t tell him then, but I thought he was crazy to want to work with me again.

I spent 2013 working hard on ThePriceGeek (our new name), building it mostly with jQuery spaghetti and Sass. I learnt a lot, but I still felt like a wannabe front end developer. We were in the Melbourne Accelerator Program, and featured on CNN Money, Lifehacker, the IBTimes, and various other internet media. Although we achieved some success with ThePriceGeek, it was a highly competitive landscape, and after a year of working on it with limited traction, we made the difficult decision to stop. At its peak, we only made about a thousand dollars in monthly affiliate revenues, which wasn’t enough to sustain itself.

In late 2013, my good friend Joe Valente asked if I was interested in working at a pre-product startup to do more front end development. Impostor syndrome struck again, so I put on a brave face and went for the interview, thinking I would give it a go even if I wasn’t very good.

Every time I start something new, my confidence takes a hit and impostor syndrome strikes — “I don’t think I can do this.”

I ended up being hired to work with Dan Groch and Wade Keenan, two of the sharpest business minds I’ve had the pleasure to work with, and Chris Atkins, a gifted polyglot programmer who I still look up to. After we thrashed out what exactly it was we were building, we settled on Rails, postgres and Ember.js as a technology stack. I had never worked with Ember.js, let alone a client side MVC framework before, so you can imagine how terrified I was.

After months of struggling through Ember’s documentation, we finally managed to build a prototype that the founders successfully raised seed funding with. I spent the rest of the year skilling up significantly on JavaScript, Ember.js, and testing. In September this year, I began writing about the lessons I learnt in Ember.js as a way of recording my thoughts, and never imagined that anyone would want to read them.

My very first article was about how I figured out how to implement a drag and drop interface in Ember.js with HTML5 and minimal JavaScript, and I submitted it to /r/emberjs on a whim. It turns out that Tom Dale frequents that subreddit, and tweeted about my post. I was happy — maybe I’m not so bad after all?

I made a decision then, to continue writing about interesting things I was doing in Ember.js, and I would beat impostor syndrome by doing interesting things and then telling people about it. Admitting you have impostor syndrome is an important first step towards beating it.

Do Things, Tell People —The Real World REPL

Since that post, I’ve written a few more that have been pretty well received. Tom and Leah reached out to me on Twitter to encourage me to apply to speak at EmberConf, and I’m glad I did, because I just learnt a few days ago that my talk was accepted (yay!).

I love opening up a blank JSBin and just hacking together an idea to see if it works — most recently, I built an Ember.js component and injected service to lazy load embedded videos completely in JSBin. It became my most retweeted blog post, and Yehuda Katz even said it was cool (cue fangirl moment). I was really happy, and I finally realised that I had figured out a way to overcome impostor syndrome.

Achievement unlocked!


I now know for a fact, that every time I start something new and unfamiliar, impostor syndrome inevitably rears its ugly head.

I started working at Homely in the start of December, tasked with refactoring a jQuery monolith into something more maintainable and testable (there were no JavaScript tests, even though the JavaScript was powering the entire front end). Faced with working with an unfamiliar technology stack (.NET, React.js) and a massive refactor ahead of me with no tests, I felt really nervous and scared in my first week.

I’m not the smartest, or most talented.

If there’s one thing I’m good at though, it’s being stubborn and bashing my head against things until I figure out how it works. That grit, combined with an ability to learn things quickly, have made the struggle with impostor syndrome so much easier. Thankfully, I feel more confident now, and have led the Homely team in redesigning a large feature in React.js, complete with unit and integration tests.

Do Things, Tell People, Learn

I’ve come a long way since I first started learning HTML/CSS in high school, and I’ve finally discovered what I want to do with my life. I’m not an expert by any means, but I know that whatever knowledge I lack, I can quickly learn. If you’re familiar with the Lean Startup, you’ll realise that I’ve adapted “Build, Measure, Learn” into a method that works for me. I’ll know I’ll never stop feeling like an impostor, but at least I now have a method to beat it.

“First do it, then do it right, then do it better.” — Addy Osmani

As you can probably imagine, I don’t feel prepared (or qualified) at all to speak at EmberConf, so I’ll be shutting myself in, spending the next few months preparing intensely for my talk — which by the way, is about ‘Ambitious UX for Ambitious Apps’ — and I know that I’ll be over-prepared by the time the conference begins. I wouldn’t have it any other way.

If you’ve ever faced impostor syndrome in your life, I’d love to hear about it, especially if you’re a woman and/or minority working in technology. I don’t know if my methods will work for everyone (if anyone at all), but I hope my writing spurs you on to discover a method of your own.

Happy new year!

Lauren ❤