How I (Accidentally) Started My Web Developer Career at 18

Developing a passion, enduring an interview from hell, and finding an opportunity by luck

A photo of me typing on a MacBook

If you told my 11-year-old self as he was writing his first line of CSS that he would be starting his career as a web developer at 18, he wouldn’t believe you. While he was generally interested in computers and was planning on learning to code, he would be confused about how soon it all started.

But nearly a year later, while I am still quite surprised at the situation, I’ve been able to reflect on this journey and understand how I got here.

🎣 Getting hooked on web development

Ever since I was young, I’d been fascinated with computers. The more I learnt about them, the more I wanted to play around and build something with them. But I was mainly fascinated by the screen and the software that displays things on the screen. So throughout my high school years, I was reading up about UI design, typography, and how text was rendered on the screen with subpixel antialiasing, among other things.

The Windows logo animating in the top-right corner of an Internet Explorer 6 window in Windows XP
The Windows logo animating in the top-right corner of an Internet Explorer 6 window in Windows XP
Sadly, I couldn’t find a GIF that had a perfect loop of this

I was particularly fond of the small, delightful interface details in software, like the little Windows logo in the top-right corner of (gasp) Internet Explorer 6 windows that animated when the page was loading.

But I always felt limited by my lack of knowledge about programming to actually build something like this — something that would delight. That was until my mum told me about WordPress, which allowed me to write anything on my own website that anyone could see. (The contents of which shall be lost to time.) From there, I grew dissatisfied with the default Twenty Ten theme, so I started learning CSS and HTML to really make my site to my taste.

Eventually, I got around to having a look at JavaScript through Codecademy to do small interactive bits that weren’t possible with just HTML and CSS, like click and event handling. At this point, I still didn’t fully understand the importance of JS, since the side projects I made with my knowledge were mainly static websites for in-jokes.

After that, I wanted to learn a “real” programming language, so I hopped back onto Codecademy to learn Python, but this knowledge has been left unused since I grew frustrated with what I could build with it: I didn’t want to build programs on the command line — I wanted a real GUI, and why should I bother learning a Python GUI library when I already knew HTML and CSS pretty well?

In hindsight, what got me to return to web development again and again was the allure of how quickly someone can access what you build on the web — just send them a URL — and how to deliver the best experiences that work around the performance and feature constraints of the browser.

This led me to create many different side projects throughout high school. Having high expectations and occasionally being too much of a perfectionist led to me attaining a strong knowledge of HTML and CSS, a good grasp on basic programming concepts, and an understanding of the foundations of good UX.

🎯 The goal: make money but don’t waste time

By the end of 2017, I just finished the last of my high school exams and I wanted to have money for my own and not rely on my parents to fund my impulses. But I didn’t want the typical fast food or retail job that would be glossed over on my résumé by future employers.

Initially, I applied for a startup that made educational videos for high school students. I applied for the content creator and video graphic design roles, but my final mark wasn’t quite high enough, so I wasn’t even considered for content creation. Despite the interview and being complemented on having a “vast” Behance portfolio, I wasn’t offered the job. (They had really high standards — a few months after the interview, those two roles were still open on their website.)

So, plan B: with good results from high school, I could get into tutoring other high school students for their exams. I managed to get an interview at the same tutoring school a few friends worked at and was assigned as relief tutor for primary school students. Yikes. Maybe heavily interpersonal jobs weren’t for me (especially for an introvert), I figured out.

I then applied for an online tutoring service and even tried out Freelancer, but neither worked out for me.

About a month later, I stumbled upon a design role for a fintech company through my university’s career hub. For a business that boasted over ten years of operation and an office in Sydney’s CBD, I could not have expected what was to come. I was greeted by the manager: a man wearing a loose T-shirt, jeans, and sneakers. Opposite him was a boy a year older than me wearing a hoodie and typing on a gaming laptop hooked up to a misaligned projector screen.

He offered me a Coke, saying “it’s what the kids want”. Thanks? He told me to lean my back on my chair, that the interview would be a less formal “chat”. While he explained the company’s operations, he stopped to ask if I knew what Australia’s big four banks were. After I listed each of the four, bar one mistake, he gave a “yep” of approval. Then he said he was impressed I was able to do that. Gee, thanks.

About 15 minutes in, they got around to pulling up my résumé. They looked at my education and were surprised to find I was a first-year university student fresh out of high school. Shouldn’t they know this from, you know, when they first read my résumé?

Then they got to my Behance portfolio. They first looked at the design notes I posted of a small web app I did for a friend’s Facebook page. Their visual style was intentionally derivative of another since it was part of the page’s humour, so I was constrained to that. Of course, this nuance was lost on them and I was subtly accused of copying a visual style — they even said I had used the same font, when it would have been blatantly obvious to anyone paying attention that they were not (Aperçu vs IBM Plex Sans).

A series of screenshots of my TripView redesign concept

Finally, they looked at a more comprehensive project: a small redesign of TripView, a public transport app I use regularly (and love). I wanted to present more information at the right places while removing unnecessary details. They seemed quite confused about the fact that I had sought to redesign an app that I used for a better user experience without any contact from the app’s developer, a common practice among aspiring UX designers.

We examined the issues I had with the app and design decisions I’d made to improve it, one of which was to remove the transport line colour from a screen because it wasn’t providing useful information and was visually loud. Then they called in another employee (their role remains unknown to me — all they had done so far was deliver our drinks), who was presented with only the before and after shots of the design — none of the thinking and rationale behind it — and decided they liked the app’s current design better since they “liked colour”. It seemed the interviewers had also decided they agreed the app’s current design was superior based on that judgement.

Well over an hour in, the interview was wrapping up. They decided I was not the right fit as I had insufficient design experience, particularly since I had no degree or tertiary qualifications. Seriously? They made me spend two hours travelling to and from the city and wasted nearly 90 minutes on an uncomfortable interview because they refused to do some basic preparation by reading my résumé before the interview. All the information they needed to reject me was there — they didn’t need to spend that much time fumbling over it in front of me.

As I was escorted out of the office, they reiterated that they were “impressed by the initiative”, that it was remarkable I was even trying this at my age, that I should keep doing what I was doing.

As if that was some sort of consolation.

✨ An opportunity delivered by luck (and skill)

Quite discouraged after what was now months of this, I stumbled upon a Facebook ad like this:

2hats FB ad: “A student in bed will remain in bed until acted upon by a large enough panic” —Newton’s lesser known fourth law
2hats FB ad: “A student in bed will remain in bed until acted upon by a large enough panic” —Newton’s lesser known fourth law
Pure Gen Z bait.

It was from 2hats, a Sydney startup that connects talented, work-ready uni students to junior roles in startups for work experience. So I sent them my résumé, received feedback for it, and was deemed worthy enough to be invited for an online video interview. But… it didn’t go well. I was completely unprepared and provided very short, nearly one-word answers to open-ended questions, like where I wanted my career to go in the future. I was sure I blew my chance and would cop another rejection.

But shortly afterwards, I was invited to do an in-person assessment since I’d “passed” the interview stage. I later found out that was purely because their lead developer was impressed by my collection of side projects on my GitHub page.

Thankfully, the assessment went much better: I was tasked with creating a web app that displays a weather forecast based on a mockup in under two hours using any web framework. One of the images below is the mockup, the other is a screenshot of the app I built. Guess which one’s which.

Left: mockup given; Right: screenshot of my app

I finished with about 20 minutes to spare using jQuery and vanilla CSS. My app and code were reviewed by one of the co-founders and their tech lead, both of whom stony-faced throughout; they asked about my availability and if I knew React. The only hint of positive feedback I got was them uttering the word “good” periodically and being informed by their talent coordinator that I was given a “thumbs-up”. A few days later, I was offered a position as a junior front-end web developer for them.

Later I found out there was a massive internal debate about whether to hire me: the main concern was whether I would be a good fit and be able to integrate into the workplace environment, with concerns based off my awkward and crude performance during the interview.

Another concern was my limited utility — I was only available for two days a week thanks to the restrictive first-year uni schedule for my degree. Thankfully, their tech lead was willing to take a chance on me and he was able to successfully assign me tasks that were doable in the limited time I was there. Plus, he and the co-founder were willing to overlook my awkwardness and focus on my skills in React and building UIs. The co-founder also had a tech background, so he knew not to expect devs to have amazing social skills.

Looking back, I can’t help but feel that the stars aligned for me, with a series of coincidences leading up to my employment:

  • I hadn’t heard of them before, since it only started a few months before I found them, so their marketing campaign plus Facebook’s algorithm connecting us was quite lucky.
  • I was fortunate to have someone willing to take a chance and fight for me to continue through their selection process despite the disastrous interview.
  • They were just about to finish migrating their student portal to React — and I just happened to have some experience with it. I could’ve easily looked into Angular, Vue, stayed on vanilla JS or jQuery; or ditched JS and looked at more traditional web development stacks with Python, Ruby, or (gasp) PHP.
  • I was even more lucky to have the tech lead to continue to fight for me after the assessment, with concerns over my limited work availability and ability to integrate socially into the team based on my interview performance.

It’s been nearly a year since I joined 2hats and I couldn’t have asked for anything better — I’ve been able to learn many new things, like the excellent Material-UI React library; diving into React Hooks soon after they were announced; and gaining valuable teamwork experience.

The projects I’ve worked on have also varied more as time progressed: initially I was working on polishing their student portal, moved on to helping build an internal portal, then being responsible for all front-end projects onwards; to promoting the brand as part of university events and ads; and most recently, developing a course that teaches React and front-end development thinking to help other students become more job-ready.

While landing the job definitely fulfilled my initial goal of making money, it has helped me develop a clearer picture of my future and career direction: less about strictly design and UX, more of building UIs and apps that genuinely help others and improve situations. I’ve also overcome my tunnel vision of wanting only to work for the big tech companies; now I’m more interested in working for other startups, given how much impact I can have on its growth and how much more meaningful my work becomes.

I also met many amazing people, who are not only a great start to my personal network, but have facilitated a lot of my personal growth over the past year. 😊

Thanks for reading about my journey! I hope that by sharing this, others won’t be intimidated to start pursuing their career or wait until they finish uni to start finding real, meaningful work experience.

You can also read about the lessons I learnt from this journey here:

Front-end web engineer @AntlerEng working on 👉 firetable.io 👈 combining the simplicity of spreadsheets with the power of Firestore