How I learnt to code
Before I begin, let me warn you first that this is going to be a long read.
I started to code in html and css back in the 1990s, when blogging was popular. You had to buy a domain, purchase a hosting, install a blog tool by running the php script then amend the .htaccess file to point to your /index.html. Inside your html code, you had to insert a {{snippet}} so that the php blog tool understands that this is where it generates your blog post.
It was the "cool" thing to do, but eventually I stopped because of other distractions. But the skill I picked up with trial and error stuck with my the most. Needless to say, it was only a decade later that I would find myself building a website again.
Circa 2014 I was asked to help re-build a dying intranet website for my office. It was previously built with Macromedia Flash, uneditable and inflexible, most of the content was outdated by more than a decade and nobody knew how to fix it.
Now, Javascript and jQuery had become increasingly popular there were many interactive elements introduced in modern website development. During the development phase, I slowly realised how far behind I was with the modern frameworks. I didn't know Javascript well enough, and I could only templatise (if that is a word) and do minor editing on HTML/CSS.
Turning Point
TLDR
- Learnt CS50: Introduction to Computer Science
- Took Course: Professional Certificate in Python Programming
- Took Course: Project Management - ScrumMaster
- Started Degree: Bachelor of Information Technology (Major in Business Technology and Systems Development)
- Self-Study: WatchandCode
- Join Bootcamp: Rocket Academy
- MeetUps: JuniorDevSG
Needless to say, the build was a success and it eventually got me an internal transfer role to design/develop websites on a larger scale. One of my key successes was finishing the content migration and UI/UX of the public facing SPF website (https://www.police.gov.sg). During the entire developmental phase, there were multiple iterations for the UI testing with different modern layouts and concepts. And ultimately the build was then completed by a professional web development company.
For comparison, you can see how drastic the changes were between the old and new site.
Even though I was mainly doing design, but it still required a certain level of understanding about HTML/CSS/Javascript as the internal websites were still built using legacy infrastructure.
Catching the coding bug
At the age of 30 (2018), without a CS Degree and only a Private Diploma. You're pretty much screwed ! it was a choice between dragging my feet in an environment where you are under appreciated and treated with no respect. Or you make a choice for yourself, learn a new skill. But this time properly.
My learning journey started with the famous CS50, CS50: Introduction to Computer Science
Learning C was hard and painful for me as the memory management and pointers made no sense those 's, but it taught me to think logically step by step how I would build to get an answer albeit with some help along the way (paid tutors, searching stackoverflow for answers)*. But completing that course was rewarding and it opened my eyes to how much you can do with programming.
After completing CS50, I was looking for something that could be recognised locally (Singapore). That's when I found out about SMU's Professional Certificate series, Professional Certificate in Python Programming
Without any knowledge of Python, It was a mess definitely not meant for beginners attempting a new language much like C but slightly easier. The modules were compact, 9 contact hours and 3 hours for test and coding assignments (12 hours in total). It tested your aptitude to learning in a short span, understanding of solving problem questions. At some point, my mind was totally blank 😶 as I couldn't grasp the concept well enough to solve those assignment questions, even reading a Python textbook during my spare time wasn't good enough. Because I didn't have enough practice with the syntax and libraries or know what is a documentation.
Honestly, I struggled to complete this course 🤯. But I did complete and averaged B+.
During the interim breaks, I had spare time to take up short courses. Those didn't really help me in job finding honestly.
NUS-ISS: Certified ScrumMaster
NUS-ISS: Mobile User Experience Design
Since I'm working full-time, with a family of 2 kids. I only had spare time in the evenings to learn stuff after the kids were settled. After graduating from the Python Crash Course, I decided it was time I further my education by picking a degree, the only option I had was to go through the private route. P.S. Singapore education is hard 😭
I always ask myself why didn't I take my studies more seriously back then. But better late than never, I decided to apply for the degree offered by PSB Academy. Bachelor of Information Technology (Major in Business Technology and Systems Development), the modules offered were in my opinion relevant and could give me a better foundational understanding.
Can't give my full opinion yet as I'm only 6 months into the degree. But I would say their choice of lecturer's for first year modules are serverely lacking. And anyone can just read from the slides, but that is the level you get from private institutions.
So to fill in the empty void of what felt like I wasn't going to be learning everything I needed to know.
A coding bootcamp could help me, in Singapore there were 2 notable ones. General Assembly - Software Engineeering Immersive and Trent Global - Diploma in Software Development by Code Institute. While not going into specific details, I didn't pick any of them. Instead I stumbled upon, Rocket Academy. Joined, but got delayed due to certain regulations however they should be ready in Q3 2020.
3 months is not going to help you learn everything, but its sufficent to make you job ready? There are success stories for Bootcamps in Singapore, however this applies mainly to those who already have a non-IT degree trying to job switch. And those who are just upskilling themselves with their existing companies just stay on so the statistics aren't really accurate. So if you're reading this here, first step you got to do is get a degree. Societal norms still apply in Singapore, many companies still prefer a degree grad than a non-anything grad. Even if there was, you'd have a hard time proving yourself and getting the salary you deserve. That's life!
In the meantime, my cohort for the bootcamp started a group study online. We're all following the curriculum from WatchandCode because we finished all the prep work from RA. It is the most comprehensive online Software development self-paced online study you can find. And I would highly recommend any aspiring Web Developers to go through the course.
Lastly, its recommended that connections play a part in career searching. Join a MeetUp group for things that interests you, learn more from others and their experiences. While it won't reward you immediately, it is a step which you should take to demonstrate your interest and willingness to learn.