Hacker News new | ask | show | jobs
by sircastor 1684 days ago
I completed my bachelors in Software Engineering last year. I have had a career in Software Development for 15 years prior. Aside from a few classes about security, logic and data structures, I can say that I didn’t learn a lot new in terms of programming.

This is really important: Universities don’t teach you your job skills.

What most university programs are designed for is a generalized understanding of the subject matter, a standardized set of teachings, and perhaps the greatest unspoken goal: A piece of paper that tells everyone else you worked 120+ credit hours on with that you probably didn’t want to do most of the time.

You can probably get all the programming instruction you get in a university online. But virtually all of that is going to be 100-200 level classes anyway. Because after that it’s not programming, it’s theory.

1 comments

> Universities don’t teach you your job skills.

This needs to be repeated often and loudly. I would especially emphasize that Computer Science does not teach you how to develop software.

It's honestly such a shame that the software industry places so much emphasis on university education. Sure we all know some self taught dev or highly motivated bootcamp grads who got into the industry, but mostly every job posting you'll see for software is "requires bachelor of computer science or equivalent"

It really should be treated more like a trade, imo, because that's how people learn it best. We even see the occasional post here, "how do I find mentor in software"

It makes sense to me, anyways. But as an industry we're often too busy working at breakneck speeds to capture some market or another to be teaching people coding skills from scratch.

> but mostly every job posting you'll see for software is "requires bachelor of computer science or equivalent"

I'm not speaking from personal experience here, but from what I've read online, people without degrees often manage to get interviews at those companies, even though they don't meet the requirement.

"Equivalent" often includes professional experience. If you are straight out of high school and have never programmed, you don't have the equivalent of a CS bachelors. If you've just been discharged from the Army and worked as an MP for 20 years, you don't have the equivalent (most likely). However, if you've been working for 3-8 years (depending on what you've done), you should be approaching equivalency, at least in the areas most offices need you to be. That is, you likely won't know or understand theoretical CS, the difference between regular and context free languages, various advanced CS/programming areas, or some of the math topics. But you'll be competent in one or more programming languages, core algorithms and data structures (their use, if not their creation), real-world systems programming (lower level OS tuning, databases, etc.), and more.

This is what the "equivalent" means for many (but not all) employers (the HR departments may not be so enlightened, however).

Just here to emphasise the fact that the average fresh bachelor holder is way less competent in software development than someone who spent 3 years+ in the industry.

Equivalent here does not really mean equivalent.

Basically this means:

You either need a Bachelors degree or a (small) track record of success in the industry.

Right, because that'd be the equivalent (via OJT). Now, not all HR offices are sufficiently enlightened to get that concept, but you probably don't want to work in those places anyways in that case.