Last week I read a few tweets that really caught my attention. Most of them targeted the 'anti-academia' movement.
It is not the first time I read some people are anything between skeptical to angry about those who say that you can have a successful career in tech without a CS degree, but these concrete tweets caught my attention because I never knew this particular 'anti-academia' movement existed, and I still have not come across a statement such as 'You should never go to the University!'.
Although maybe such statements exist and are public out there even as tweets, they never reached me in my feed. Or I never read them.
What I have read, unfortunately, are snark comments and dismissive remarks, ridiculing people who work in the tech industry without a CS degree, and saying things like "you can do websites, but cannot work on more complex stuff, like diagnose and disease detection software", or even remarks like "yeah, next thing is becoming a doctor without a CS degree. pffft!"
As a successful software architect without a CS degree, I finally felt like it was a good time to share my opinion.
After all, I have more than once encouraged people to transition from a different career background or no career background at all, to find new opportunities as developers. Just thinking that they may discouraged by a (sometimes) more privileged group of people for making a late-career choice, or for being unable to afford university education and deciding to get there following a different path, is heartbreaking to me.
First of all, I want to put things into perspective. People who become successful in tech, without a CS degree, are usually far from less intelligent, or too lazy to put the effort.
People who become successful in tech without a CS degree, usually
- but not always, have completed university education in another field
- always have spent an exponentially greater amount of time in self-teaching, including using online available resources and contributing to open-source communities, than those who do have a degree, before they get their first role in tech
People who have not attained a CS degree, but still have become successful in tech usually
- but not always, have had to postpone or drop their education because of financial, health-related, or other personal reasons
- but not always, would've loved and would still love to complete their education, even when they're consolidated professionals
I would say that in 90% of the cases if they would be given the chance, they would attempt at completing their university education and getting a CS degree, which is incompatible with being part of an 'anti-academia' movement.
Let me elaborate my opinion. People who do have a university degree in computer sciences, while still studying, usually
- learn foundational or low-level concepts in a structured way, which is very important to understand high-level concepts
- but not always, have access to a tutor or professor, to dissipate their doubts and help them apply the newly learned concepts
- but not always, do not need to spend personal time finding the right learning resources, since they're provided
Also once they've attained their degree, they usually
- almost always have more opportunities to be hired, since lots of companies have it as a hard-requirement
- always are less prone to be immediately discarded by recruiters, upon sending their CV, for not meeting this particular requirement
- almost always have more career progression opportunities
- but not always, are paid more than their counterparts that do exactly the same job, but do not have the CS degree
No. And why?
One of my siblings is a doctor, so my opinions are shaped by my experience of living with her, as she was studying. In Uruguay people don't go to Campuses. They stay home while they study, especially if they live in the capital city, Montevideo.
The source of anatomy and pathologies knowledge for doctors, historically and from centuries, has always been actual, real, living and dead human bodies. I will not share details on how those doctors close to me dissected human parts on the same table I was having my meals. Well, ok, I guess that's enough detail. And yes, that happened. Those body-parts, unique and ultimate source of knowledge to understand anatomy and pathologies, were obviously provisioned by the university.
Let me begin by sharing with you my opinion that probably the doctors you would like being diagnosed and treated by if you had anything serious, are the ones that have the most amount of clinic practice and not those that are university professors, and rely almost only on theoretical knowledge.
Clinic practice is obviously not something you can teach on youtube. It would be unethical because you would have to disclose private information about a human being. It is unlikely anyone wants to visit a doctor that streams on Twitch as they perform you a colonoscopy or explores your naked body.
I know there are a couple of reality shows that feature this, but it is a very extreme exception.
Unlike the act of exploring a human patient, diagnosing them and treating them (which by the way also involves laboratories for analysis with expensive equipment not available to doctors at home while they Twitch, and prescriptions of law regulated medicines), building and diagnosing computer systems and programs in front of everyone else is a lot simpler, cheaper, and ethically acceptable.
Do I think a person could become a good, self-trained doctor if all the bibliography used by doctors was open-sourced, made available from online repositories, and doctors live-streamed their practice with patients (and body-parts) and people put the same amount of time they sometimes put to become developers? Possibly. But my guess is that, because of the ethical implications and obvious other legal issues, that will never happen.
However, even the most obscure and in-depth details about computer sciences, are available to everyone online, already.
Should you study at the University to learn computer sciences and get a degree? My humble opinion is that, if you can afford it, money-wise and time-wise, is: YES! Go for it!
But if you did not have the chance, or don't see that chance for you in the future, should you desist from the dream of being a successful, self-taught software developer? The answer is: NO! Go for it!