Passion or Purpose?
Very often during interview's I've been asked the same few questions. Talk about yourself, and more often than not they will always find it interesting why I switched from a stable career in the civil service as a Police Officer to a developer. And how was I able to learn so much in such a short timespan.
This takes me back to about 25 years ago, when I first had my own desktop computer. I was very fortunate that my parents could afford to buy me one. Programming wasn't something that is foreign to me, during that time whilst playing games that I couldn't pass I would resort to finding cheat codes. And then downloading trainers to activate those cheats, but along the way some indie games would not have support for cheats due to the lack of popularity.
I then learnt how to use Cheat Engine to search through the bytes to find the pointer reference and manipulate or lock the bytes so that I would have God mode or unlimited resources. All these experiences culminate my move into Programming, whilst the learning curve wasn't that bad for me. It took me a few months to really understand the fundamental concepts of programming.
The push factor
The single reason which ignited spark to improve my knowledge, was due to the fact that I realised one day that I didn't want to be just a minion at the beck and call of those higher ranking officers who then take credit for what you did and come up with excuses or kick you down in the dirt when it was time for your promotion/performance review.
The way the Police force works (where i used to work at), promotion wasn't based on merit at all. It was how well you sucked up to the management and gain their favor and support. If you are a voice that challenges the way things work or ask questions, you are immediately stomp down and muted. No matter whether you are right or wrong, you are placed into the problematic class.
The irony of all that is, the officer that they supported was involved in an extra-martial affair. No disciplinary charge was given at all. Even though there was a case lodged by the other party, 官官相护 - officials shield one another. In the case of the officer, he is protected by his superior because that superior thinks he is of good "calibre" and having such a mark on his record will impede his progression.
That is the harsh reality, which I don't blame him at all. Because I didn't have a fighting chance, even when it was made known to me everything had already passed and finalised. In no manner of merit or rank, Lim Chee Pheng, Tan Eng Keng, Andrew Koh, and the others that played a part in ruining people's lives one way or another. I sincerely thank you for waking me up from my dream.
After staying there for a decade, I decided to leave that god forsaken place to start a new chapter because my immediate supervisor was also played out by them and had to retire. The truth is that it doesn't pay to show loyalty in the Police Force, my supervisor served his entire career in the Police Force and wasn't given any chance to extend because the then Commander decided he didn't want to put an appeal of support because he was also due for retirement. It's funny because all those high ranking ponies, love to ruin people's lives.
Because I was young and ignorant, 没读好书 I could only blame myself. That's why kids if you want to "succeed in life" (no pun intended) study hard!
The turning point
When I moved out of that place, it was the start of my development career. Continuing from where I left off from the History, the gaps that I had from self-learning was filled by reading alot of online articles and searching for solutions on stackoverflow and understanding how it was written. Could you imagine, that I didn't have a proper concept of how to write a function? Like why should I write a function if I could just use a for-loop or if-else to filter out the data that I want directly.
Design patterns? No idea about that at all too. Essentially I was just someone who had no inkling as to what exactly is development. And to make up for all of that, I read articles watch courses online, pick up a diploma in ICT. Went through 2 bootcamps, attended online seminars to meet other developers and network with those developers.
When I first started out, I didn't expect the workload to be so high to a point that I had to pull multiple all-nighters to rush out the project both design and development concurrently. We worked in a 3-man team, but only 2 of us had any technical ability our supervisor was more of a PM kind of role. As time went on, the stress and workload eventually drained me mentally and physically that I had to be warded for a week.
It was only then that I decided to seek for greener pastures outside of the government. Because all it ever did was reward me with the good friends and fun memories so survive the onslaught of work with 2-3 days deadline thrown at me constantly.