5 Tips for Aspiring Developers

Peterkwkwan
CodeX
Published in
6 min readJun 16, 2022

In my Self-taught Perspective series, I aim to provide an angle on common themes & topics in the tech industry from the lens of a self-taught developer. My goal is to encourage aspiring developers who are treading the same path, with the ultimate goal of turning their passion into a career.

My self-taught journey started nearly 5 years ago, in late 2017. Looking back, there are definitely situations I would have handled differently, and some things I wish someone had told me earlier.

These are my top 5 tips for any aspiring developer!

1. Be in it for the right reason

During the first year of learning how to program, I encountered 3 phases:

  1. The initial eureka moment — discovering the joy of coding after making my first “hello world” app. Everything just ‘clicks’
  2. The honeymoon phase
  3. The plateau

Most self-taught developers I met have experienced this general trajectory of growth, starting with an initial excitement period (eureka), followed by an adrenaline-filled stretch of high growth (honeymoon), then finally a prolonged stage of feeling stuck (plateau).

It’s gonna be a grind.

The plateau is where most self-learners will drop out. This can be due to a variety of reasons (but not limited to):

  • Coding is no longer enjoyable
  • Feeling overwhelmed & burnt-out
  • Discouraged by the lack interviews & job application responses

I remember feeling extremely demoralised from the lack of traction I was gaining during my job hunting process. Many applications went unnoticed, and recruiters were reluctant to pass along my CV, due to my lack of relevant degree or work experience. At one point, I felt like giving up on my dream and sticking with my finance job.

Sacrifice, grit, determination — these traits are just some of the ingredients for success. However, I would argue that passion is the most vital. This process is a long and difficult road, and you will question whether all those weekends spent coding instead of relaxing with friends is worth it. Therefore, it is important that you enjoy coding!

Passion is what will keep you motivated. Remind yourself daily why you are doing this. Personally, nothing helps motivate me more than the following excerpt from Apple’s late founder.

Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle.

Steve Jobs, 2005 Stanford Commencement address

2. Pick a path and stick to it

Early on in my coding journey, I was fascinated by the seemingly endless types of languages and frameworks. I wanted to try everything!

After learning HTML, CSS and Javascript, I jumped into Python since it was becoming increasingly popular among the developer community. After learning Python for a few weeks, I tried going back to Javascript. However, I frequently mixed up simple syntax such as loops and conditional blocks between the two languages.

To add fuel to the fire, I got a rare interview opportunity in the form of a take-home project. I was ecstatic! This project required me to build a full stack app using Java and Spring Boot. I scrambled to read everything about Java, and proceeded to purchase a course on Udemy so I could get up to speed quicker.

As you might have guessed, this Java experiment was a colossal failure. I struggled with Java’s strong typing, I had no idea who Tomcat was, and I spent numerous hours fighting with Eclipse to get it working. Having no solid foundation ended up slowing my growth and wasting valuable time.

The takeaway here is: don’t try to learn multiple languages when you first start programming. Stick with one and learn it well. If you have trouble narrowing down what to learn, here are some things you may consider:

  • Which domain of software development interests you the most? Frontend, backend, mobile, or data science?
  • Consider the job market and future projections. Javascript frameworks such as React & Angular are much more widely adopted in the industry. On the flip side, there are languages & tools that are stagnating or on the decline. Do your market research!

3. Seek out like-minded peers

Form a fellowship of friends, because it will make the journey a whole lot easier. Just ask these guys!

Doing anything with a friend is always easier.

Reflecting on my journey, I regret not stepping out of my comfort zone earlier to seek out coding buddies. My first year learning to code was an absolute chore, filled with countless lonely nights grinding LeetCode easy until 2AM.

However, after discovering fellow coding friends in my journey, it turned the difficult grind into an adventure! I was able to bounce ideas off with my new peers and come up with solutions to difficult problems together. I found sharing career & interview tips particularly helpful.

Fortunately, we are blessed with a variety of tools to help us connect with other developers. Even if you can’t find anyone physically, there are plenty of ways to connect virtually. Below are a few of my suggestions.

“Life is easier with friends, Bigby.”

The Wolf Among Us

4. Don’t be afraid to interview

Interviews are one of the best ways to train up your programming skills. It is a particularly effective method for spotting gaps in your knowledge.

I believe most people learn better from failure than from success, and interviews are a prime example.

Have you ever been in an interview where you were asked a question and had no clue how to answer? This happened to me during one of my first technical assessments.

I was asked to solve Fizz Buzz.

As a fledgling, wannabe developer, my mind completely blanked out. My nerves got the better of me, and my brain refused to cooperate due to the pressure. I could not even process a simple for loop. Having failed miserably, I went home and vowed to study up on Fizz Buzz.

Me after Googling the Fizz Buzz solution.

When faced with defeat in the form of a rejection, I will naturally seek out answers to the problems I could not solve. These losses sting hard, so I would take every measure to not make the same mistake twice!

Over time, you will spot patterns in the interview questions. Many of the same technical problems get asked repeatedly, often repackaged in a slightly different manner. Learn to spot these patterns!

My main worry when I first started interviewing is that I thought I was not ready. But you will never be 100% “ready”. It’s best to start practicing early — interviewing is a skill that can be improved over time.

5. Create your own luck

This last tip is an encouragement for you to put yourself out there to create your own success.

If you spot a senior developer role and the job requirements say 5+ years of experience needed, apply anyway! The company could be looking for junior developers but have yet to post the job listing.

Are there any education centres in your city that teach children programming using Scratch? Why not try out to become an instructor? Any relevant experience counts! (In Hong Kong, there are a few such as COBO Academy and Preface.)

Is there a local startup that caught your eye on LinkedIn? Why not shoot the tech lead or CEO a message to see if they are open to hiring junior devs?

These last few examples are actually part of my story. In each of these scenarios, I was afraid of failure and had doubts about my skills, but I tried anyway. And look where I am now! I was fortunate to get my lucky break, and so could you!

You must take initiative to create success. Intentionally network. Take risks. Do not wait for good things to come to you, get out there and make it happen!

And most importantly, Stay Hungry. Stay Foolish.

--

--

Peterkwkwan
CodeX
Writer for

Hey! I'm a self-taught developer with over 4 years of frontend experience. I enjoy writing about tech, frontend tools and software engineering as a career.