My journey as a self-taught Javascript developer

This is my first time writing a public article, so I’ve decided not to start with something technical, but rather something that’s very personal to me. I’ve been thinking about writing techie articles for a while now, but somehow ended up not doing it, you’ll understand why when I tell you a bit more about myself. Hopefully, this one will only be the first and not the last.

A bit of background

Before describing how I got into programming, let me share with you some background context and what led me to this journey.

After leaving high school, I was just another kid starting a Computer Engineering degree, because playing around with computers were skills that I imagined were a perfect fit for it, but boy was I wrong. Didn’t have the determination to do it and thought things would just happen naturally, but no, it went terribly wrong. I never got into it and started hating computer programming right from the start. Thoughts about quitting quickly came into play, doubting about my capabilities. Self-confidence was something I always lacked, so that didn’t help as well. I ended up quitting that degree and moving on to another, which I thought (at the time), was more suitable to my personality and creative mind.

I’m not quitting, I’m just making a better choice

This was what I told myself when changing to a Multimedia degree. It was more creative, I could run away from my new found enemy, computer programming, and still have a sense of achieving something. Perfect! This time I was a bit more committed to my objectives and convinced that there was a future for me as a web designer. That thinking basically pushed me into finishing it, but without standing out, I was just average. Anyway, after 3 long years I felt ready to start working professionally.

First job as a web designer

Straight away I got a job as a web designer close to my hometown. Things were starting to come together, with 1 year paid internship and some probability of being extended to full permanent. This was in a digital agency, just me and the boss. We’re talking about just some patched up HTML/CSS and Flash websites. Yes, Flash. I really loved the freedom it gave me to make use of my design skills and animation. The possibility to do cool things without having to write 1 line of code was great, so I naively thought. After 1 year I realised that wouldn’t go anywhere if I kept doing that, so then decided that a change was needed. Can’t really remember if I actually wanted to learn more, or just wasn’t enjoying it anymore.

I’ll become a trainer

After that first year, I took a course and started working as a computer trainer, but was very sceptical at first. Having said that, teaching adults with close to zero knowledge about computers, how to use them, create documents, presentations and use the Internet, was one of the most self-rewarding experiences I’ve ever had. The happiness on their faces was priceless and made me feel a real sense of purpose. I was also feeling happy about it, but all was about to change.

A big challenge abroad

End of 2012, my girlfriend and I decided to try our luck abroad, we moved to London. Just the fact that we were about to start our life in a new country was on its own very scary and overwhelming, but not only that, I was about to get back to the web as a front end web developer. Arrived on a Saturday, did a face to face interview on Monday, started on Tuesday. This time I was really determined to make it work, but at the same time feeling an immense weight on my shoulders. Started off as a front end web developer doing some HTML/CSS, learning how to use an enterprise CMS at a mid-size digital agency in central London. There I met a bunch of nice people, including my friend Chris Burnell, a very talented UI developer, who I immediately admired for his passion about CSS and the web. After a few months, another key decision, doing just UI wasn’t going to be enough.

Hi computer programming, we meet again!

My career was feeling short just relying on UI and it was then, when I realised that I had to learn how to be a computer programmer. Ah, the irony… my old enemy was back to haunt me. I actually knew how to do some basic Javascript things on a page, but not exactly knowing what I was doing, just patching some stuff together. At the time, my buddy Nelson Nogueira, an exceptional developer and colleague, basically mentored me and helped me get into Javascript coding, apart from the overrated jQuery world. This was near the end of 2013. With very little background and basic knowledge about computer programming concepts, my self-taught programmer journey was just beginning. I can remember feeling all that stress and frustration of trying multiple times to understand something without success. “Maybe I’m just not made to be a dev”, I thought, but there’s no turning back now.

The more I learn, the more I know that I know nothing

After leaving that company and being another year and a half working at another digital agency, I joined NOW TV at Sky in March of 2016. Wow, things just went too fast. Countless hours trying to learn as much as possible, making loads of mistakes, dealing with a huge amount of frustration and self-inflicted stress, thinking about quitting all the time, suddenly felt worthwhile. It was without a doubt a very meaningful milestone, but I was about to discover how little I knew, compared to what I thought I knew. Things just got to a whole other level. This was no longer just a front end web developer building websites and learning Javascript along the way, this was much more. Never during my journey into computer programming have I felt more regret in quitting Computer Engineering. Always thought that, a bit more background knowledge about generic programming concepts would have been useful and in some way, I always managed to winged it, but not now. What blocks me a lot is the fact that the majority of the time I can’t back up my knowledge with some academical knowledge, so I loose confidence.

A wild Javascript Developer appears

Suddenly, I was surrounded by highly capable and knowledgeable people, striving for top quality and processes, to a standard I’ve never faced before. Again, my impostor syndrome just kicked in, but stronger, “I’m no match for this”, “I’m no real programmer”, “They must be mistaken”… TDD and Continuous Integration was something I only had read about and played with, but never had proper professional experience. Design patterns? Yeah, I’ve read about them loads of times, but never managed to put them in practice properly. Feeling more depressed day by day, thinking that I would never be able to learn all that stuff, just wanted to give up and quit, again. For better or worse, we do pair programming, so on top of all that, I was constantly feeling pressure and afraid of being judged, of making mistakes. Have to consider myself lucky here, because my work colleagues were always very friendly and ready to mentor me. Currently, I’m just embracing the change and the opportunity to learn with all these people. My team’s environment is really good, which helps a lot and we’re always open to debate issues. A big thanks to Tom, for his patience and mentoring.

Acknowledge what you are

Today, looking back and thinking what I’ve been through, I can’t be disappointed with my achievements in the past 4 years, but also know that this self doubt won’t go away. I guess that’s what keeps me going, even when things get really tough, thinking about quitting and just giving up. I read 2 articles a few months ago, written by 2 very influencing developers, which really put things in perspective for me. It showed me that, even people you look up to and consider a professional reference have similar problems, but in some way they too manage to get through it. Those articles are I’m an impostor by David Walsh and A Mental State by Remy Sharp.

Some days I still struggle. A simple detail can turn a good day into a disappointing one. Leaving work with that sense of not being able to do what I wanted, puts me back. But it’s all psychological, it’s up to you to acknowledge it and try to use it in your favour, instead of diving into a depressive state.

One of the things I do, trying to minimise the struggle and boost confidence, is to keep studying. Apart from reading books, part of my process is to use Pocket, where I can save loads of offline articles almost every day and then picking them whenever there’s time.

To everyone going through the same, keep it going, it’s not the end of the world. Yes, it’s hard and it will probably get even harder at some point, but that shouldn’t stop you. I usually say, what’s important is that you care about what you do, the rest will come with time and experience. Celebrate every small achievement and use it as stepping stone to motivation.