by fzwang | 2025-07-24 13:03:39+00:00
I'm a self-taught programmer, been coding since I was 12. Went to university for a science degree, but it was my programming skills that ended up being way more useful and lucrative. Worked in various technical roles since I was 18, from data engineering at major research hospital, technical due-diligence for venture capital, startups, ML research, etc. Basically, my degree didn't seem to matter.

At the moment, I'm running a program for self-directed CS education[1] and end up talking to a lot of people who were self-taught. Part of the motivation for the program was that we found that people we hired who had a lot of self-directed experiences were much better engineers. It wasn't that degrees were necessarily bad, but it seemed like the thing that made them good was not the degree.

From my experience talking to people who were also mostly self-taught, the outcomes are a mixed bag. In retrospect, I think I was quite lucky in that I had the right support structures (mentors, etc) in place throughout my life. Some I worked towards, others kinda fell in my lap. In addition, some of my earlier career/life decisions based on hunches have worked out so far (pivoting from medicine to ML in 2012). Not everyone I talked to had the same experience. Some really languished because they really had no support / positive influences. Others think it's one of the best decisions they've made, in both time/money saved and agency.

If I had to summarize, one of the major negatives is that self-directed education frontloads a lot of the problems early on. You're in total control, but also exposed to all your mistakes. If you don't have the right environment, you can flounder in the sense that you don't even know what you're missing. This is compounded by our terrible K-12 education system, which does not prepare you for self-direction. If you don't have other sources of support, it could lead you to a vicious cycle of failure begetting failure. You'll also be "marked" [2] and mistakes/setbacks will be attributed to your lack of degree, whether justified or not. From a career perspective, some hiring managers are not incentivized to take risks on non-degree holders. Ie. it could blow back on them if you don't work out. You'll have to work harder on signaling and networking, etc. You're not going "fit", esp in a degree-heavy culture, and that could lead to social isolation.

The positives is that, at the moment, there's never been a better time to self-direct your education. You end up learning things that interest you, at your pace at the right time, so the problems/work is always relevant. You can go really deep really fast. The people that you want to work for/with don't care about your degree. Self-directed education is inevitable, esp in tech. Every one of us eventually have to take control of our education. The problems you have to work through early on are also inevitable (ex. signaling to others that you are competent). The agency and sense of control is great for your mental well-being and developing accountability. Your team can count on you to take the initiative, figure things out, and learn the things you need to learn. Uncertainty is not paralyzing. You've dealt with it your whole life.

Overall, it's not an easy path. I think a lot of it depends on early support and the mental attitude/personality of the individual.

[1]https://www.divepod.to [2]https://en.wikipedia.org/wiki/Markedness