Hello everyone.<p>I'm 43, been coding since my teens, and mostly self taught. A few classes in high school/college but my bachelor's degree was in Industrial Systems Engineering.<p>At my jobs I've mostly been around other self taught people with degrees in other non-cs fields. A couple bootcamp guys with no degree, and 1 ivy league guy with a cs degree. So my exposure to how important college is might be skewed.<p>A friend's kid recently asked me how important getting a degree was and I couldn't really put a good answer to that as most of my friends/colleagues are self taught and not using their degree.<p>Granted I learned good technical writing and I guess engineering team work, but is the price of college worth that? Occasionally some college level matrix math or statistics helped in some apps, but for the most part I just don't use those skills.<p>What does HN tell teenagers ready to leave high school for their next step?
The answers to the question in the title and the one in the text are different.<p>1. How important is an traditional education for programming?<p>- It's complicated - formal education helps but it's not a requirement and the most talented people can succeed without it but you likely aren't the most talented but you can still do well... and so on.<p>2. What does HN tell teenagers ready to leave high school for their next step?<p>- Get a computer science degree if you want to work in software, and you're still young and haven't been to university. You'll have a much better career trajectory if you do this compared to doing anything else. The answer changes for people who are considering formal education later in life, or who have a degree in something else, or some other experience - then it gets complicated to analyze again. But for a teenager who wants to build a career in software, getting a CS degree seems like a very easy recommendation.
<i>A friend's kid recently asked me how important getting a degree was...</i><p>A degree has never been important for actually doing the job of being a developer. Self-taught coders have always been around; when my Dad learned to code in the 1970s compsci degrees didn't exist. <i>Everyone</i> was self-taught.<p>Over time employers started to defer checking if someone could write code to universities - if the university would award you a degree then that was enough for employers to believe that you could hack something together that worked. Degrees became important not as a unique thing that gave you the knowledge to write code, because you could learn that on your own, but as a shortcut to getting an interview. The degree proved you'd done the work.<p>Now though, the pendulum has swung back and employers don't fully trust that graduates have really done the work. They want to test people know what they're doing. That gives newly self-taught devs a route in, because passing the tech test actually means more than a degree to a lot of businesses. The fact that demand for devs is outstripping the number of devs graduating doesn't hurt either.<p>All in all, I think the <i>necessity</i> to have a degree is behind us in tech. You can get a junior role without a degree in an increasing number of companies. That said, there are some parts of tech that move more slowly. If you want to write code in a bank or in something hard like aviation, then a degree from a good school will probably continue to open doors for a couple of decades yet...