I think one of the reason is our education system back in the 80s to early 2000s were focused too much on being theoretical than practical. How many times in those years you can hear teachers saying "go JC, don't go poly"? Even poly admission staff ask me why I go poly and not JC.It's exactly this mindset that deprive inexperienced sinkies a chance to even try out the job. If there's no opportunity to even learn, how do they get the experience needed.
There are however exceptions to certain roles that need technical knowledge which I do not deny.
This mind set caused many people to think that book smart is more important than practical skills. This is the first way we lost people with technical knowledge. Secondly, our education system is slow to react to latest trends. Like for example, my poly course was IT related. That took 3 years. After 2 more years of NS, whatever I learnt there was almost irrelevant or was treated as the most basic knowledge in that era. So anyone who is not going for university will need to "study" again.
Last but not least, at least in our government, most technical related agencies are helmed by people without the specific domain knowledge. So what if they know coding? Some industries need to understand various international standards and specific processes. If these leaders are only dependent on the reports given to them, wrong decisions can be made very easily due to oversights in the reporting. This also caused many people to think, as long as I study well, get into civil service, I can get good salary. Never mind about having any related knowledge or skills.