Background
The venture of my software engineering career began two years ago when I decided to leave my job as a chemical engineer. I started out learning fundamental javascript online and built some static website using HTML and CSS.
Later, I enrolled myself in a 3-month web development boot camp to learn more about Javascript, Ruby, MVC, and modern web development framework. I enjoyed the course as it provides a very conducive space to learn and explore my idea. I was also able to see my progress from the projects I built along the way.
After the boot camp, I was fortunate to have secured a position to do web development with healthcare startup in Singapore. 20 months later, I move on to explore my technology career in another company, but the experience gained, and lessons learned from the company have prepared me well for the future adventurous.
You Don’t Need To Know Everything
The thought of competing for the same entry-level job with computer science graduate consumed me. I wasn’t confident in the skill set that I acquired through self-learning and boot camp. I have no single clue about the fancy algorithm or Big O notation that I heard from other engineers. I was demotivated and considered to go back to my old job.
I was proven wrong.
Even though I wasn’t able to come out with a perfect answer during my technical interview or the solution planning meeting. The other engineers were very encouraging and willing to spend time and discuss the technical details with me. Often, I will learn several good coding concept and algorithm through the discussion.
Having experienced how welcoming the software engineering industry are, I was more comfortable to acknowledge the shortfall in my technical competency and willing to spend more time to improve myself and engage in discussion in more technical topic with a fellow developer.
Experiment With New Thing

During the first three months of my career as a software engineer, I was traumatised whenever I see an error message appear due to my changes in the code base. To save myself from all the horror, I will search through the codebase and find the closest possible feature and copy the code from that, even though I might have come across a better solution. The system still works, but I was not happy and also started to doubt myself about the career switch as I felt like I am just a copier.
Well, things started to change when after I established enough trust among my team members. I began to implement the new techniques I have learned from workshops, tutorials, and articles in the codebase whenever I find it is appropriate and most of the time, these codes passed the code review and be merged.
A few sprints later, I realise other engineers started to follow the technique I have introduced. I am no longer just a code copier, I have grown myself to be a contributor. I have a strong sense of ownership in the code that I produced and take pride in my work. This keeps me motivated to become a better software engineer.
Practice, Practice, Practice
Solving a coding challenge helps me to understand the technical concept better. It also trained me to write cleaner and maintainable code.
At the very beginning of my venture into programming, I spent numerous time to read about technical articles and blog post, thinking that I will acquire that knowledge by just reading it. Sadly that wasn’t the case. I realised I forgot those concepts as soon as I moved on to the next article. I will always need to revisit those articles whenever I want to implement it for my work. This can be frustrating.
I started taking my time spent more time understand and implement those technical concepts while learning and tried to use them as much as I could to solve the coding challenges on Codewars and HackerRank. Not long after, I began to internalize the concept I have to learn and can utilize them in my work confidently. It helps to reduce my development time as the time for googling is minimized.
Until now, I still have a habit of solving at least one HankerRank challenge every week and read through the discussion thread to understand how other developers solve the problem and how they structure their code.
All In All
In conclusion, The industry is very encouraging and welcoming. Most companies understand the struggle of a career switch and are willing to open their door to the candidate with the right attitude. I had mine with a company that taught me a lot about software engineering. I hope you will find one for yourself too.
Happy Coding.