Hi, I’m Haikhal. What I do at AdEasy in a nutshell is to bring concepts to life with code. My education background? I hold a Biotechnology degree. This is the story about how I taught myself to code within three months, and subsequently landed my current job.
Last year, I graduated with a science degree. While it felt great to be done with my studies, I was under a lot of pressure to find a job. Three months into job hunting, I still didn’t manage to secure a single interview. I felt like I was lagging behind my peers, as they got hired one by one. However, it motivated me to see things from a different perspective. Instead of blaming the job scarcity in Malaysia, I shifted my focus to what’s within my control.
You see, I have a long-held passion for all things tech and computers. So, the idea of taking up coding came up. The thought of venturing into a field that’s different from my degree is daunting. It’s a big move, but I figured that picking up a new skill would do me good. Not only can I take control of my work, I am actually doing something that I enjoy. Hence, I decided to take a chance and devoted myself to learn how to code. My story may be technical to some, but here goes.
The First Month
My upskilling journey began with reading up on other self-taught developers’ success stories, just to have a clearer picture of what I’m about to go through. My reading materials were mostly from Reddit communities (aka subreddits) and Twitter (check out r/webdev and #100DaysOfCode). I discovered there are a lot of developer roadmaps available, which I didn’t know. After scouring tons of them, I went with the one I liked the most. I also did some research before planning out my own curriculum. Here’s an overview of the web development fundamentals I familiarised myself with:
- HTML (HyperText Markup Language) - uses tags to structure a website and its content.
- CSS (Cascading Style Sheets) - refers to the language that describes the presentation of a website.
- JavaScript - the programming language that’s responsible for a website's behavior (e.g. making web pages interactive).
There are other widely-used programming languages in web development, such as PHP and Java. JavaScript is popular in numerous frontend frameworks. You can even use JavaScript to build your entire project (thanks to platforms like Node.js). Once you’re familiar with a language, it’s easier to learn a new one. I started learning basic HTML first, before spending about two weeks exploring CSS (which I had fun with).
The Second & Third Month
After tackling HTML and CSS, I picked up JavaScript next (pro tip: have a cheat sheet handy for guidance as you go along). I realised that knowing important JavaScript methods (e.g. string, number, array, and object) by heart helps tremendously in having a solid grasp on the concept of a programming language.
Memorising alone didn’t work. In addition to learning online, I spent time working on side projects to put what I have learnt into practice. This was an important step, as it enabled me to gain experience and new information to enhance my coding skills.
Here’s a list of the resources that I’ve personally relied on and would highly recommend (and yes, they’re FREE!).
- FreeCodeCamp - I liked their interactive tutorials.
- W3Schools is best for basic reference, and MDN Web Docs offers more comprehensive documentation.
- If you encounter any problems, Stack Overflow is every developer's best friend.
- Good ol’ YouTube is the best platform to learn and understand new stuff fast, especially frameworks.
- Love solving programming-related challenges? Codewars is a great place to start.
- Once you’ve got the coding basics down, level up by learning web development frameworks like React JS.
Minimum Effort, Maximum Output
Most people think that one needs to fully understand something before moving on to the next step. In my case, I felt that doing so would take me longer to get to where I want to be. My tip? Spend some time studying the fundamentals, and then quickly move on to the next stage. As long as you’re able to grasp the whole concept, you’re good to go. You can always pick up more advanced stuff along the way. This is especially true for HTML, CSS, and most technology concepts out there. For JavaScript, however, I suggest investing your time in mastering it. Trust me, it’ll be worth it.
How To Stay Ahead
Want to increase your chances of being hired? Equip yourself with knowledge on various tools, libraries, and frameworks - as companies often look for developers who are familiar with the tech stack they utilise. Here are some tech stack examples:
- Git and GitHub - learn basic git command line and how to deploy to GitHub.
- CSS preprocessors and libraries, such as Sass and Bootstrap.
- jQuery - Although it’s a bit outdated, it’s still widely used to build websites.
- JavaScript frameworks - You can choose between React, Vue, and Angular.
- Developer tools - learn how to debug using the browser’s built in developer tools.
Your Portfolio Matters
Since I’m self-taught and do not have a formal coding background, I showcase my skills on assorted projects by building my very own portfolio. It’s vital for every developer to have one because potential employers want to see how well you apply your expertise to perform tasks, not just how much you know theoretically. It’s never too early to start creating your portfolio. What are you waiting for?
I won’t deny that teaching myself how to code was intimidating at first. With enough passion and curiosity, I managed to see it through. Coding gets more fun with each passing day. Better yet, I’m getting paid to do something I love. I started this journey alone, and now I feel blessed to be working alongside a talented team here at AdEasy. I hope my story will inspire you to be brave in taking career risks. Stay curious and never stop learning.