
Ask HN: Does a college degree hold more power than a strong portfolio? - astrowilliam
When I got into the web development business there were no college degrees for it, just CS at the time. Times have changed and if someone were to get into the business right now, straight out of high school, with a strong portfolio of work would they have a better shot at a job than a college grad with only the examples that they did in class?
======
jdhawk
I've hired a lot of people who didnt finish their degree, but had some college
under their belt and a strong portfolio. I would have a very hard time hiring
a HS graduate, unless they expressed a very high level of maturity, and even
then, I would not pile a lot of responsibility on them for quite a while.

Problem is, college is synonymous with gaining maturity, since for many, its
the first time they're truly on their own. Responsible for their own grades,
responsible for day to day life, responsible for projects and outcomes. Being
able to handle your life, handle deadlines, not think you can boil the ocean -
is very important for me as a manager. Having a bit of higher education under
your belt gives me a warm fuzzy feeling (maybe wrongfully so) that you can
hack it in the real world.

There are exceptions, but the stereotypes do fit most of the time.

~~~
nailer
> Problem is, college is synonymous with gaining maturity, since for many, its
> the first time they're truly on their own. Responsible for their own grades,
> responsible for day to day life, responsible for projects and outcomes.
> Being able to handle your life, handle deadlines, not think you can boil the
> ocean - is very important for me as a manager.

Do you think someone who had a career at that age had less or more
responsibility than someone in college?

~~~
jdhawk
Valid point, but generally speaking, I was looking for someone who was a bit
more mature than straight out of Highschool - and college gave me some concept
that they'd achieved that.

Hiring right out of HS would have been a higher risk in my mind

~~~
nailer
I see what you're saying and think we were at different ends: I thought you
meant 'I wouldn't hire someone who only graduated HS' rather than 'I wouldn't
hire someone who just graduated HS' and fair enough.

------
numbsafari
Here's my recommendation: you aren't going to make much money without solid
references. A portfolio is mostly meaningless. What you want are references.

But the market is strong right now for developers.

So, rather than racking up a bunch of debt, why not finish your BS in CompSci
at a state school part-time while working full time?

You'll be getting real, hands-on experience through your work, and buttressing
your non-CS skill set as well as your non-practical CS skills. Financially,
you'll be making decent enough money that you should be able to afford to live
comfortably and pay for school as you go (depending what state you live in). I
know it's possible because I recently did the number's for a friend of mine's
younger brother who is in the same boat. He lives in Minnesota. YMMV in other
regions.

After, say, 6 years, you should be able to have a CS degree and 6 years of
experience, plus references.

With that, you should be able to make great money _and_ be well positioned for
when the market isn't so good for developers.

A lot my friends in the 90s who dropped out of their CS degrees because the
market was hot had to either leave the industry, take massive pay cuts, or go
back to school and take on a lot of debt when the market crashed. When nobody
is hiring but the big boys, college degrees are the price of admission, even
for shit jobs.

~~~
tessierashpool
this was a better answer than mine. kudos.

------
davismwfl
A strong portfolio is far better than a degree most of the time. That said,
IMO a recent high school graduate would have a much harder time proving that
their portfolio is strong and that they are worth the risk over a college new
grad.

There are some high schools in the US (probably other places too) though that
have specific programs where their students are coming out highly trained and
with solid skills. My son is coming out of one next year, and while he is
planning to go to college as it stands right now, he is employable today. I
have used him as a junior developer on a few of our consulting projects in the
past couple of years as he can produce and do the basics. I am also
potentially going to hire 1 or 2 of his classmates as interns over the summer
because we have some temporary needs for basic HTML/CSS skills and to your
point they get to build a portfolio on real projects and products.

------
unoti
A college degree is important to many kinds of places, such as government
contractors who are obligated to have all of their engineers with degrees.
Generally the bigger an employer is, the more likely you're going to need a
degree. If you want to write software for Lockheed or McDonnel Douglas you
need a degree.

In the context of software development, the most important thing you can get
from a degree that you won't get from independent learning is the people
connections. If you're wanting to start your own business and you've been
living in a social cave for the last 5 years, you're at a significant
disadvantage compared to someone who has spent the last several years rubbing
elbows with the best brightest and best-connected people at Stanford.

On the other hand, you're going to spend years studying things that may or may
not seem relevant to you, when you could be learning and building things of
direct impact this month.

Most employers worth working for today want to see that you can do the job
effectively, and you can demonstrate that with a killer portfolio and
excellent interviewing skills.

I went straight into the software industry out of high school. Well,
technically before-- I got my first programming job at 16. I've never had
trouble finding employment except for a brief period at the end of the dot com
collapse in 2001. But not having a degree has always limited my options.
Almost all jobs 20 years ago stated they require a degree, and they meant it.
Today it's a small minority of jobs that state that they require a degree and
actually mean it.

The importance of a degree on paper is waning, and has been for some time. But
the importance of knowing a bunch of people who know how to do lots of things,
and have capitial: that is still vitally important. And a good university is a
great way for a young person to get access to those things, but not the only
way.

~~~
vonmoltke
> write software for ... McDonnel Douglas you need a degree

And a time machine. ;)

I agree in general with your post, though. Software development is a big
field, and some corners absolutely require a relevant degree for actual or
bureaucratic purposes. This is the case almost any time it intersects with
traditional engineering, and in fact many of those jobs would rather have a
$DISCIPLINE engineer who can code than a software engineer.

------
eranation
Another way to look at it:

If I need to hire someone for a specific task, e.g. a web development specific
job in a specific framework / language, I might prefer someone with "street
smarts" and a proven portfolio vs a fresh Stanford CS graduate, yes.

If I need someone to work on algorithms, big data, analytics, machine
learning, unless they are top of the line in Kaggle, or high rank in TopCoder
et al, then a degree will be pretty important for me.

As for you, as I said in another too long to read comment. do you want to be
that first guy that will always need to learn the hot new framework, grunt +
angular today, gulp + react tomorrow, you always have to keep up to be
relevant.

When you have a degree you still need to stay up to speed and be relevant, but
at least you have some fallback. It will be easier to find a job for a 45
years old person that had a CS degree and had all his career worked on a
mainframe as a mediocre mainframe developer, than for a "once guru mainframe
developer that used to speak in conferences and got to be on the front page of
the printed edition of mainframe monthly" but with no CS degree.

Also if you would like to get into the "big ones" (Google / Facebook etc...)
it will really help to have a degree. You'll need a really impressive
portfolio to be noticed without a degree. And you also need to know all that
CS theory to get passed their technical questions.

------
brudgers
I don't know how much value I would place on a degree in "web development"
because it would raise the question: Where are the gaps that would have been
covered in a CS or Software Engineering curriculum but weren't? I don't think
that the issues that exist in web development are the generalized cases of a
narrower set of CS or SE problems.

~~~
eli
Even if you're hiring for a Web Developer?

~~~
pmichaud
For sure. I view vocational style degrees like "Web Development" as a red
flag. My thinking is that the program is probably a bullshit money grab, and
the person who went there is naive enough to go for it.

------
eli
It's always tricky to generalize, but when I'm hiring I value a great
portfolio much _much_ more than a degree.

But I think you'd have a hard time getting that first job with no college
degree. Someone's gotta take a chance. Once you've got a few years of job
experience (at least to me) the lack of a degree is not important.

I personally think people should go to college, though, if they are able. I
think there's a lot of value in the social experience and in taking classes
that are NOT just teaching job skills. I've hired some really fanstastic
developers who were humanities majors.

------
morgante
As a hiring manager, here's how my impressions rank:

1\. Strong portfolio + CS degree 2\. Strong portfolio 3\. CS degree 4\. "web
development" degree

I would almost never hire someone who got a degree in IT or "web development."
Academics shouldn't be purely vocational, and it would raise serious questions
for me of why you couldn't complete a normal CS degree.

~~~
eropple
This is where I'm at. ("Game development" degrees are a similar question mark
in that field, too.)

------
tessierashpool
I got into web dev before web dev degrees existed also. at the time a strong
portfolio was certainly more than enough.

however, I'm talking about a time where they would hire anybody who knew a
smidgen of HTML. and I wasn't straight out of high school. I had spent some
time in the world of work first, proving that I could meet deadlines and
handle responsibilities as a production artist and graphic designer. and for
that matter, I went to a high school which got profiled on CNN as "the Harvard
of high schools." I was studying both Ancient Greek and Latin at the age of 15
or 16.

so, although I did it without a degree, and I've met plenty of great
programmers without degrees, or whose degrees are in linguistics or philosophy
or film, I would have to say, the responsible thing to tell a high school kid
is that a degree is pretty damn useful.

also, web dev has picked up a staggering amount of complexity in the
intervening decades. think of all the perspective you would gain if you were
to fully investigate, for example, the convoluted history of MVC - from the
GUI, to Rails, and then back to the GUI via the browser, where we now have to
host a kind of recursive MVC. or imagine having to make sense of JavaScript
without knowing that the "Java" in the name was a marketing gimmick from 1997.

yet at the same time, most CS degrees appear to suck anyway, and many CS
degrees probably even do severe and active harm, insofar as they encourage the
bizarre anti-intellectualism prevalent in STEM culture. you're more likely to
avoid an unthinking contempt for English majors, for example, if you never had
to find out what a major was in the first place.

so, like anything in tech, there's tradeoffs.

------
Bjorkbat
Straight out of high school? Well, if they had the experience and portfolio
for the job and won-out against the competition, sure. Just bear in mind, it's
hard to shine when you're fresh out of high school.

At the end of the day though, if someone came to me with a CS degree and a
weak portfolio, I probably wouldn't hire them over, say, someone with no
degree but a strong one. I value the ability to learn on one's own time 100x
more highly than the ability to learn in a classroom environment.

------
api
Depends on who you're talking to. For some people, college is huge -- those
also tend to be the people for whom Stanford, MIT, or Harvard counts more than
ten degrees from a state school. For others what you've done will count for
more.

 _Some_ degree is almost always preferable to no degree though. In some cases
it need not be in the field you're working in.

------
maccard
Remember that a College degree shows that you can stick at something for a
couple of years and actually finsih it.

~~~
brk
So can a similar 4 year run at a typical company. Especially smaller
companies, many got from zero to acquisition in that person, or zero to
release 2.0, which can be pretty significant.

Similarly many people get through college only showing that they can put in
enough effort to evade detection in the sense of total failure.

I don't think completion of a degree alone is a significant indicator relative
to alternative options.

~~~
67726e
I took the route of leaving college in my 2nd year. Several of my friends have
recently graduated, and there is the typical fracturing of those truly
passionate, those who just did the coursework, and those who didn't learn a
damned thing. The thing about the last group is, they still managed to
graduate with a degree. I'm not saying this to be a dick, but one of my best
friends graduated with a BS in Computer Science, and he cannot even do
FizzBuzz. He's not the only one I know like this. Say what you will about
"sticking it out for 4 years", but when you filter based on a criteria that
includes folks who can't do the most trivial problems, you might want to
rethink your strategy.

Maybe my microcosm is not indicative of most places, but of the companies I've
worked/applied to thus far, not having completed college has not been a
hindrance. Especially once you've gotten a few solids years experience under
your belt, if you're the type who is motivated and a solid developer, you
should have no problem getting a good job.

------
outsidetheparty
The work samples are key, whether they consist of previous work or of "the
examples they did in class". If candidate A has a degree and a portfolio,
they'll have an edge over candidate B who just has the portfolio. If A's class
examples are crappy, and B's work examples are great, B will have the edge.

(You have a bit of a chicken-and-egg problem for candidate B, though, since if
they've spent time building up a strong portfolio of work then by definition
they are not "straight out of high school.")

What kind of degree matters too, though; a real CS degree from a real school
is worth a lot more than certain for-profit institution's halfway-accredited
"you too can be a real live web developer!" programs.

------
jaegerpicker
Maybe? I think that hiring is one of those things that there are no hard and
fast rules for. I've met super talented but completely irresponsible people
that I'd never hire despite the amazing portfolio and I've met college grads
with only there school work to show and it's pretty great, who turned out to
be great hires. It's more about the individual person than a set of key words
to determine success.

All that said I think it really depends on the market, tech stack the dev is
aiming at, and particular companies that are targeting. I've had influence in
hiring at 5 different companies and each has had a different policy in regards
to a degree.

------
Bahamut
When I hire, I don't care too much about a degree unless it is from a strong
school - even then I still vet for technical skills.

But I only view degrees as upside, not part of the core decision making
process for me when evaluating a candidate.

------
sheepmullet
Id happily take a chance on HS grad with a strong portfolio.

I think the issue here is where does a HS grad get the time to focus on
building a strong portfolio? A strong portfolio is maybe 1500 hours of work,
and includes projects undertaken as part of a team.

At a pace of 10 hours a week it would take a HS student almost three years to
build a good enough portfolio. I'm sure some students could do this.... But it
would take a lot of dedication.

------
twblalock
How can one expect to have a _strong_ portfolio of work "straight out of high
school"? There simply hasn't been enough time to build a strong one. A few
student projects or a part-time summer job is quite different from several
years of web dev experience, which very few 18-year-olds have.

------
tdy721
I have a degree in Digital Art & Design, but I have interviewed for and gotten
jobs looking for a CS background.

I am a web programmer. Design seems to be an acceptable background for coding
positions. I think just having some degree is a key that will open doors. Then
it's down to your skills to seal the deal.

------
huangc10
Interesting question. I would say it really depends on company/location. HR
doesn't always have time to look at a portfolio and the first thing they
usually see/expect on your resume/CV is college. I'd like to see some
statistics on this.

------
stuxnet79
After the tough time I had trying to stay afloat in my undergrad, I don't
think I'd venture to hire someone who was unable to complete a degree (just
being honest with myself). I agree though that most actual learning occurs
outside of the classroom.

------
steffann
A good education shows the right data has been put into your brain. A good
portfolio shows you can produce good output. I think/hope employers value the
latter.

------
eugeneross
> "When I got into the web development business there were no college degrees
> for it, just CS at the time."

What specific field of study is this referring to?

~~~
k__
I got a degree in "Computer Science and Media" which is essentially software
engineering for web/mobile.

------
janpieterz
I've taught web development at a university and I can tell you, a portfolio
holds a lot, and by a lot I mean a hell of a lot, more value!

------
kgc
Degrees show the ability to jump through hoops, which is beneficial in many
organizations.

A portfolio shows aptitude.

The combination of both make for the strongest employees.

------
pcv
We hire people who have internships and we promote internships in govt. IT.
Degrees may not matter as much as projects completed.

------
Ologn
I have been in IT since 1995, and in my experience people with a BSCS have an
easier time getting a job, and are usually working better jobs.

Some jobs say from the get-go they're unavailable to people without a
Bachelors. Here is one:

[http://sfbay.craigslist.org/nby/sof/5058201264.html](http://sfbay.craigslist.org/nby/sof/5058201264.html)

"Bachelors in Engineering or CS is a minimum requirement."

Even if it's not a listed job requirement, some people like to see it anyhow.
It doesn't matter as much when things are buzzing, but it becomes important
during downturns like after 2000 or after 2008.

It is rare to meet someone without a BSCS who can explain what a finite state
automata is, or how you can prove a problem is NP-complete through reductions,
and that sort of thing. Or even with less theoretical topics, they're less
likely to know what second normal form is, or semaphore P&V's etc.

Of course there are different scenarios and exceptions to every rule. Some
people get a diploma while doing the minimum. Some people are superstars and
learn theory without a diploma. People can get jobs without a diploma,
especially in boom times.

I would go back again to the economic downturns. In 2000 a lot of companies
went under and people were let go. The same happened in 2008. You might be
laid off, and will then be competing for a very limited number of jobs against
people with as much experience as you, plus diplomas. You might think it might
not matter, and some other people might tell you that doesn't matter, but that
won't be much help when you're laid off, have a family to support and mortgage
to pay, and job listings say like the above ad "Bachelors...requirement". Or
even if it the job listing doesn't have that as a requirement, HR is taken
aback when you tell them you don't have a degree. You hear complaints about
people over 40 or over 50 not being able to find work in the Valley, imagine
being that age and not even having a Bachelors.

I can see someone, if they have to, working while going for their Bachelors. I
can even see someone out of necessity cutting school down to one night/weekend
class a week. For a young person to go into development without pursuing a
Bachelors seems very risky to me. You'll be the first one thrown into the
scrap heap when the economy sours, and by that time you might have a family to
support. You don't want to have the realization you need a Bachelors when
you're 35 with a family - between work, family and study you'll have no time
at all.

------
eranation
I see it this way: it's a choice between being mostly a craftsmen/engineer and
being an applied scientist (that can also become a very good
craftsmen/engineer).

If you want to limit yourself to jobs that need only concrete skills, specific
knowledge (e.g. knowing an API of some framework inside or out, or even
knowing the nits and grits of a specific programming language) then a strong
portfolio, and self learning might be enough. Although you will always be
looked down upon by CS college grad peers once big O and Algorithms / data
structures discussions are coming up. Even if you know it better than them!
(They just assume that you don't as you don't have a degree)

But the bigger downside if you truly choose to be solely a craftsmen is that
you always have to keep up or your are out. Technologies change, and if you
don't change with them, you are obsolete. Even if you know HTML5, CSS,
JavaScript and Rails to the level you memorized them and have built an
impressive portfolio with 2000 stars in GitHub and 10 HN front page
submissions. Ask yourself where is that guy who did this 10 years ago? I was
one of those, I had Flash stuff that was the equivalent to the above. Got
Macromedia site of the day, people in forums and myspace praised my work, I
got my work presented in FlashForward conferences. Does it worth anything now?
zip, nada. think 10-15 years from now. will a starred github JQuery plugin you
wrote get you that job when you are 35? 45? 55?

In the other hand, if you want transferable skills that are not framework
related, you need to either self learn it, (which is hard to prove) or get a
degree. the degree serves the following:

10% - the actual knowledge (you can get it anywhere), 40% - the self
discipline structure that forces you to "self learn". think of it as a
challenge, you pay tuition, they force you to stay focused and self learn by
going to lectures / watching them online. 30% - is the easy verification that
you know those things, instead of reading your portfolio and looking for usage
of data structures / algorithms (e.g. anything that is not just "trade skills"
or "craftsmanship", future employers can just see your degree, and assume (if
you got a decent GPA and it's a decent university) that you got that at least
covered. the last 20% is as others said - soft skills implied from graduating
college. employers know that you can handle life on your own, handle
deadlines, handle working with a team, handle pressure, and do something that
is not immediate gratification.

You can always choose to also be a craftsman after you get your degree, in
practice, specific technical skills are very important and valuable for
employers.

If you don't want to limit the jobs you can apply for, you need to prove 2
things -

1) that you have your CS basics (Algorithms, Data Structures etc) otherwise
you rule out many interesting jobs (not just at Google / Facebook, but also
many web startups that need more than just CRUD / web / mobile)

2) that you can actually code and use that knowledge in a specific tech stack.

You can prove #2 easily by going the portfolio way. You make it harder to
prove #1 by going the portfolio way, and make it easier by going the degree
way.

p.s. you can get a CS top 10 US education for about $10,000

Step 1: get an accredited US CS undergrad degree online for $4,000 at
[http://uopeople.edu](http://uopeople.edu)

Step 2: apply to Georgia Tech Online Master of Science (degree is the same as
on-campus degree, which is ranked #9 in the US for Graduate Computer Science
degree) and pay only about $6,600 and you don't need a GRE! (as opposed to the
on campus one). you just need to get B and above in 2 core courses to be fully
admitted (not always easy, but doable)

The amount of jobs you can do after that grows largely. And I think it will be
a little more interesting than just doing the same old CRUD / Mobile / UI
until you retire, and having to learn every 10 years or so a whole new
paradigm.

Just think of all the build tools, frameworks that there are out there, you
are a Grunt + Node + Angular guru today, tomorrow they will look for a Gulp +
TypeScript + React guru, and in 10 years OO GUI building will make a comeback
and people will return to writing UI using Swing / MFC like structure as you
can run it natively in a browser using ASM.js.

I'm doing web since 2000, and the amount of technology changes is
overwhelming, what is hype today, might not be even in existence 10-15 years
from now.

Programming principles, (OO, Functional, Reactive etc) and basic CS stuff
(Algorithms, Data Structures) will likely stay here a little longer. Although
you always have to keep up there too, the pace is though, a little slower.

------
joeld42
Portfolio.

