The year I abandoned chemical engineering and taught myself how to code (Part 2/2).

Oat Wongsajjathiti
8 min readAug 8, 2021

--

This is part two of my blog series about my transition from a chemical engineering graduate to becoming a self-taught software developer. If you haven’t read part one, check it out here.

So on a nice summer day in June 2015, I’d decided to abandon my initial career path of becoming a chemical engineer and transition to becoming a software developer. I had no money to pay towards a Code Bootcamp, and another university degree in computer science was out of the question. I had to be strategic and realistic about my timeline. But first thing is first, I need some insiders’ perspectives.

Step 1: “Psst. You a developer?”

I began reaching out to people in the industry. I had a small list from the college career counselor and added more to that list after I have exhausted that list. How I approached each person was:

  1. Send out a cold email with my intentions and how I found them.
  2. Schedule for a ☕️ coffee at a time and place that is easy for them as possible.
  3. Prepare questions to ask beforehand. Do some research on their profiles via LinkedIn, read more about their roles and companies.

Once I met them in person, my agenda was as follows:

  1. Go early and get a table ready with a cookie 🍪 from the coffee shop, cut in half. I would ask them how they like their coffee and order for them.
  2. Start by thanking them for their time and explaining why I reached out. I tried to be honest, vulnerable, and openly excited but overwhelmed.
  3. Right after, I asked them about their journey. I listened closely, mirrored their posture, and did not interrupt.
  4. After they finished, I would compliment them and state my desire to get to where they were. I then asked them what they think I should do.
  5. Up to this point, my goal was to get them to empathize with me, and therefore want to help. They should feel appreciated, respected, and looked up to, and will be more willing to extend their hand.
  6. Engage in a back-and-forth to get all my questions answered. I would then ask if they know anyone else I could talk to who would have good insight.
  7. Thank them for their time.
  8. Repeat.

After doing this around ten to fifteen times, I started seeing some patterns in their answers. It was a no-brainer that to become a programmer, you have to learn how to code. Besides that, things that I learned from these meetings were:

  1. Set hard deadlines. As a self-taught developer, I needed the discipline to keep myself on track for the next few months. Set hard deadlines and do not deviate from them no matter what.
  2. Learn the right programming languages. I wanted to become a Frontend Developer, and therefore have to learn Javascript, CSS, and HTML. Do not get overwhelmed.
  3. Reverse-engineer the job postings. Instead of blindly learning all the skills that I may or may not need, take a look at the job requirements for positions I see myself applying for. These job postings generally contain highly specific skills/requirements. Find commonality between many listings, and work on those skills.
  4. Apply for jobs early, even if I don’t feel ready. The learning is continuous, and I will never feel 100% ready. Set a hard deadline for when to start, and just get started.
  5. Find a mentor that I can rely on. It was very easy for me to start learning the wrong things, potentially building bad habits, and head down the wrong path. Having someone in the industry that I could sync up with periodically is helpful to keep me on track.

Step 2: Putting in the work

After getting some information on how to get started, it was time to put my head down and get to work. There is no shortcut here, I just had to get the hours in and get to work. I followed the top-level plans I created:

  • Months 1–2: learning from YouTube, FreeCodeCamp, Odin Project, and other free resources. Get started with basic HTML, CSS, Javascript, and jump into React.js, Ruby on Rails, Node.js, and other industry-standard frameworks.
  • Months 3–6: Continue learning but start working on my portfolio. Build my own website and create 1–2 other small web applications.
  • Month 7 onwards: Start applying to jobs. At least 2 applications per day. Spend the rest of my time learning + building apps.

Realistically, I did deviate from this plan a bit. For instance, I began working on my website in month 2 and started applying for jobs in month 5. However, creating this roadmap was helpful in keeping me on track (and feeling good about being ahead of schedule).

Step 3: Prime my environment to minimize distractions and maximize flexibility (Hello, Vancouver!)

Around month 2 of my journey, I began vocalizing my plan to my friends and felt the unnecessary pressure to validate my reasonings to get the acceptance of my friends. Alongside the fact that I had just graduated and felt no attachment to Montreal as an international student, I’d decided to move.

After exploring a few options in Canada (I was determined to get a Permanent Residency here), I made the decision to move to Vancouver. The city was breathtakingly beautiful, and it has a growing tech scene. But more importantly, moving to a new city will give me the freedom to reset with a blank slate. So in the Fall of 2015, I packed my bags, sold my engineering books, and moved to Vancouver.

The new city reminded me daily that I was on a new journey, away from the dorm rooms and research labs that reminded me of my past. Away from the friends who doubted my intention or ability to make this change.

Instead, Vancouver offered me an empty canvas. I met new friends, reunited with old ones, and focused on myself and the plan I had set for myself. No distractions, and the liberty to reshape myself without judgment.

Step 4: The grind

The few months in Vancouver were one of the most memorable phrases in my life. The excitement of doing something uncomfortable, difficult but achievable, coupled with the fear of failure and disappointment had fueled me the moment I wake up.

I was living in a spare bedroom in my friend’s basement suite. A small room with a single-sized mattress, a box I used as a table, and a half-broken sink in the corner — Everything there reminded me that I was in a transient state. A work in progress.

To make ends meet and pay my $400 rent, I was working part-time at a sushi restaurant as a server assistant, pouring water and shouting “arigato gozaimasu” really loudly as the guests leave, and earning $15 bucks an hour. Besides this work, every other waking minute was spent coffee shop hopping and coding.

Step 5: Knock, knock, knock on startup’s doors

The time finally came for me to apply for the jobs. As I’d feared, I did not feel even remotely ready at that point. Yet, I stuck to it and began reaching out to companies in the area.

I focused on startups since they would be more accepting of my self-taught background. As I began writing cover letters, I realized that a normal application would not cut it. They would just dismiss my zero experience right away. I had to get creative to get my foot through the door.

My application from the hiring team’s POV:

Strengths:

  • Passionate, driven, self-motivated — self-taught and showing some early results
  • Unique background — engineering, combined with some artsy hobbies like art and dancing
  • Friendly and open-minded — I’d like to believe that I am an open and friendly person with good energy.

Weaknesses:

  • No formal education in programming — no computer science degree or tech Bootcamp experience.
  • Personal projects are unpolished — I had a basic personal website and a couple of static, easy pages. No demonstration of completing complex tasks.

“Excuse me, do you have a minute to talk about…me?”

During that time, I was still in the process of doing more personal projects. So I needed:

  • More projects to demonstrate my skills
  • A way to get company X’s attention and show my interest
  • A way to express my ability to perform at company X as a frontend developer

So I came up with a creative (but time-consuming and extremely unscalable) way to check off all 3 for a few top companies I wanted the most.

I would create an exact clone of their websites from scratch, with all the animations and basic functionality, but with all the texts be about myself and why I wanted to join this company. All the Call-to-actions would say “Grab a 30-minute coffee”.

Creative idea? Yes.

Time-consuming? Very.

Scalable? Certainly not.

Effective? Absolutely.

I applied this strategy to 5 companies that were way beyond my reach, from Bench, Later, and AxiomZen. I did not expect to get any offers, but to just chat and get feedback, and build connections. Out of the 5 companies, 4 reached back despite my zero experience and gave me valuable advice and feedback. They applauded my boldness and creative application, mentioned that they would not be meeting me without my efforts, and asked me to come back in 4–5 months. They then give me a list of things to work on during those months.

Using the same strategy of “Flash over substance”, I went to a hiring event with a resume layout that was so controversial and unique (for better or worse).

Printed on high-quality, thick, matt paper, I handed these resumes out like Oprah handed out gifts to her audience. My thoughts were that these job fairs seemed exhausting and repetitive to the recruiting companies, who would be handed the same, repetitive resumes with the same 12pt Times New Roman font on a flimsy poor quality printer paper. Instead, I wanted to stand out, get recognized, and talk to as many people as possible. Fortunately, my little stunt worked.

I was able to get a few interviews and connections from that job fair. While none of those interviews landed me a job, I doubt that I would’ve gotten those interviews had I submitted a generic resume.

Step 6: …light at the end of the tunnel

Finally, after 3–4 months of tirelessly applying for jobs, passionately trying to convince hiring managers, and countless rejections and no replies, I finally landed a job at a small tech agency called The Coding Bull in December of 2015.

Hired as a graphic designer/social media manager/frontend developer, my job was to do whatever the agency needed. It was a small team of 6, working in the CEO’s basement. Quite literally a picture-perfect first job, but more on that experience and how I eventually got to where I am, as a software engineering manager at Logitech.

If you like this post, please like and share with your friends and colleagues! I will be writing more about my journey in the tech industry as a programmer, managing my time between work, school (online MBA) and maintaining my creative outlets (dance, drawing), and many other topics coming up!

--

--

Oat Wongsajjathiti
Oat Wongsajjathiti

Written by Oat Wongsajjathiti

Chemical engineer turned self-taught developer. Artist, dancer and aspiring creator.

No responses yet