Over the past 10 years of being in the Malaysian start-up ecosystem, I was surprised to find out that a significant number of CS grads can’t actually code.
Some even started their own tech start-ups, but were struggling to find programmers to build out their apps. I was genuinely surprised because if you are a CS grad, can’t you build it yourself?
Some of them told me that it was because they were never really good at programming, that’s fair enough. I know how to code — I learnt how to at a programming bootcamp called NEXT Academy, but I won’t say that I am the best at coding.
But shouldn’t you at least be able to build simple apps or at least build an MVP yourself like I did? Even more so if your app or web app is just a simple listing and booking site.
Apparently that’s not the case.
Why Can’t CS Degree Holders Build Their Own Apps?
After I was forced to learn how to code to build my own start-up — Wowwwz, I started to understand what was really happening in our education system that was causing CS degree holders to not be able to code.
A Computer Science Degree Does Not Really Teach You How To Code
I soon realised that a computer science degree does not really teach you how to code and build full applications or websites. They might teach you the basics, and have small introductory courses on how to execute code on a terminal, but that’s far from what is needed to build a fully functioning application that can serve as an MVP — Minimum Viable Product.
Theory Vs Practical
I found out that a computer science degree mostly teaches you theory.
Do not be mistaken, the theory you learn in computer science classes is exactly what would help you build a world-changing start-up like Facebook, as Mark Zuckerberg mentioned himself in a fireside chat — stuff like how to make an algorithm faster etc.
However, you need to apply that theory to a fully functioning app for it to be of any use.
The part where you build a fully functioning app, that’s the practical part where most computer science courses don’t really focus on. Instead, they focus on the basic fundamentals of programming and how to make algorithms milliseconds faster. These are problems that most start-ups would only face when they grow big enough to reach a certain scale.
CS Grads Vs BootCamp Grads
I learnt how to code out of necessity — because I can’t find any software engineers who were good enough to build Wowwwz — from a programming bootcamp.
My background was in law, I don’t have a CS degree. I am what people in the industry would call a bootcamp grad programmer.
BootCamp Grads Are Great With Practical
The difference between a bootcamp and a CS degree is that a bootcamp focuses on teaching you how to code out a fully functioning MVP in 2 weeks. It is 3 months of intensive practical training.
A CS degree on the other hand teaches you the fundamentals of programming, theory and various algorithms, many of which you won’t really use until your application hits a certain scale.
Good bootcamp grads are great at writing code and building fully functional apps in a short time, but they often lack a strong fundamental understanding of computer science, and tend to write code in a way that will break when you reach scale.
Good Enough For Early Stage Start-Ups Who Need To Iterate Fast
That’s great for start-ups who need to iterate and push out product fast, but bad if you’re building for long term sustainability, you will probably have to rebuild a lot of things as you scale, but that’s actually part of the growth process of any start-up that makes it that far.
CS Grads Have A Strong Understanding Of CS Fundamentals
CS grads, on the other hand, have a much better understanding of CS fundamentals, and can build quality sustainable code that can scale, the kind that can handle millions of queries at the same time.
My co-founder and CTO is one example of a rare CS grad — I should clarify that it is only rare in Malaysia — who can actually code. Someone like him is what you would call a true software engineer, someone who can code and also have a good understanding of CS fundamentals in order to write and build quality scalable applications.
Towards the later stage of a start-up or for big corporations who need to maintain apps and infrastructure at a big scale, you will need someone with strong CS fundamentals like a CS grad. A bootcamp grad can also fulfil that role if they keep learning and develop strong CS fundamentals after they’ve mastered the practical side of coding.
The problem in Malaysia is that a significant number of CS grads know the theory side of things but don’t know the practical side of things.
You need both.
Most Of The Time, You Write Essays, Not Code
I have also found out that throughout the course of a CS degree, you actually write more essays than code. These are essays about CS fundamentals, algorithms and stuff like that.
Computer Science Needs To Be APPLIED To Practical Engineering
In order to be effective, CS fundamentals need to be actively applied to the practical act of coding and building apps and algorithms, not just writing essays about how you would do it if you ever did it and what are the pros and cons of doing it in different ways.
Theory Alone Is Useless
It is the lack of practical coding experience that resulted in Malaysian CS grads who can’t code and can’t build simple applications.
In this sense, theory alone is useless.
Practical Experience Alone Is Not Scalable
On the other hand, if you are a bootcamp grad, you can probably build simple apps and websites with ease, but if you don’t continue learning and develop strong CS fundamentals, chances are that you are writing unscalable code that will break when you build more features on top of your app or when your app reaches scale — let’s say 2000 people using your app at the same time.
It is good enough for early stage start-ups that don’t have scale, need to iterate fast and where most features might not even make it past the next release, but you will have to rebuild or refactor everything once you reach a certain scale, otherwise your app will probably crash.
CS Students Overseas Usually Start Coding/Building Stuff Since Young
I’ve come to understand that this problem is less prevalent overseas simply because CS students overseas usually start coding and building stuff since young. Mark Zuckerberg build an MSN-like app called Zucknet when he was still a teenager.
These CS students don’t have a lack of practical experience, most of them probably have more practical experience and have built more hobby apps for fun than most software engineers here.
A CS Degree Enhances Their Knowledge So They Can Push Boundaries With Code
Armed with a wealth of practical experience, they enrol in a CS Degree course full of questions and a good understanding of how things work.
They will find a CS degree very interesting because they are excited to find out how they can make the application they built even faster or better after applying CS principles to their code.
Most Malaysian CS Students Study Computer Science Without Actively Applying That Knowledge By Building Stuff
Plenty of Malaysian CS students I know enrolled into a CS course without knowing what they’re really getting into. Most of them don’t even really know what they want yet, as long as they get a degree, it’s fine. Some eventually discover an interest in computer science, and go on to become great software engineers, but most don’t.
Those who don’t actively apply what they learn from a CS degree by actively coding and building out applications to test out their CS principles and push the boundaries of programming would probably end up as a CS grad who can’t code.
CS Theory Needs To Be Coupled Up With Practical Experience In Coding To Be Useful
To be an effective software engineer, you need both a good understanding of CS fundamentals coupled with up to date practical experience.
I started as a bootcamp grad without strong CS fundamentals, but in order to build an application that’s as challenging as Wowwwz and in order to build it sustainably so it can scale properly and new features can be added to it, I had to learn CS fundamentals on my own with guidance from my co-founder and experienced software engineers.
Skills Need To Be Constantly Honed & Refined To Stay Relevant
Technology also moves at a really fast pace, what was true a year a go might not be true today.
Syntax change, frameworks change, things get deprecated. Even if you knew how to code a few years ago, you might have some catching up to do before you can start coding and building applications again today.
Otherwise It Is Education Wasted
If a CS graduate does not actively apply their CS knowledge by building applications or working on code and does not keep themselves updated with the latest frameworks and technology, their education in CS is basically wasted.
That’s how CS graduates in Malaysia end up not knowing how to build simple apps.
That’s Why More CS Grads Does Not Equal To More Software Engineering Talent
With this in mind, more CS grads does not equates to having more engineering talent. You will only have plenty of people who know some CS theory but not know how to actually build an app or become a software engineer at a start-up or tech company.
Encourage The Building Of Apps — Encourage Experimentation — Applaud Failure
As with a lot of skills in life, you learn by trying, you learn by experimenting. It is okay to fail, it is okay to be embarrassed by the first app you ever built, it might look ugly or crash on signup, but at least you tried, and learnt.
That makes you a better coder.
We should encourage more people to try building apps to solve different problems just for fun, don’t judge them if it is lousy, encourage them to try again and become better.
That’s how you create better tech founders, better software engineers and a better start-up ecosystem that can propel Malaysia into a high-income nation.
I am building a start-up myself, and I hope you will help me out a little here so that I can build the tools to help everyone in this world find their soulmate whom they can grow old together and live long happy lives with.
If you have access to a brand, company, working building, community or even VCs, let me know; I can help you build a community of people who like your product or brand and introduce them to each other, or bring a community closer by introducing people at the same building or company to each other!
You can reach me at email@example.com or LinkedIn.
Don’t forget to SHARE this story and all related stories to as many of your friends too, we need to more people to spread the word so we can start a positive paradigm shift in our ecosystem.
Also, you can help by downloading the app, give us a good rating, subscribe to my Youtube Channel about relationships-coming soon, leave your email, join this Facebook Group and check back every few months for cool updates.
*Search for Wowwwz on the App Store or Play Store to download
JohnsonKhooTV — Subscribe to my upcoming Youtube Channel where I will be talking about real life stories about love & relationships
FB Group To Stay Updated On Wowwwz’s Journey — Join this Facebook Group so you can stay updated on our journey, new features and new stories and new updates on our quest to build a start-up that could help everyone in this world find true love and live happily ever after
Help me out, because many people’s lifetime happiness is in your hands.
Once you’ve downloaded the app and signed up, you can also start to meet other amazing single people in Kuala Lumpur or Singapore who share the same values and interests as you by scanning the QR codes below.
*Search for Wowwwz on the App Store or Play Store to download
SCAN with Wowwwz to meet amazing single people in Kuala Lumpur!
SCAN with Wowwwz to meet amazing single people in Singapore!
Do SHARE this with as many of your single friends as possible so they can find their soulmate soon, we can get more traction, and raise the funding necessary to build you more cool features that will help amazing single people meet each other and amazing couples grow their relationship!
Let’s do this together!
The world needs YOUR HELP so all of us can find true love!
You have the power to become a superhero!