

Ask HN: Is a degree in computer science necessary? and how useful? - paglia_s

Hi HN,<p>I&#x27;m an Italian student attending last year of high school and I&#x27;m in the middle of choosing the university.<p>Right now the degrees I&#x27;m considering are: applied math, informatics (the most similar to computer science we have in Italy) and informatics engineering.<p>I&#x27;ve been doing development for a number of years (mostly javascript, both server and client side) and lately I&#x27;ve started doing some freelancing in my free time.<p>I&#x27;m a bit confused and would like to know from people that have already been through this a few opinions:<p>1-) I&#x27;ve learned everything by myself reading on the internet and I feel like what I miss mostly is not learning a new language but more math, algorithms and project solving. To get this sort of knowledge is a degree in computer science necessary or I can get it easily through other degrees like &quot;applied math&quot; which I think is very interesting?<p>2-) I like what I do right now and ideally I would like to keep doing this as a work. When searching for a development job is a degree in computer science a requirement or experience&#x2F;projects are valued more<p>Thanks!
======
cauterized
It depends a lot on your goals. If you want to work at a large corporation,
many of them screen resumes based on whether you have a CS degree. On the flip
side, I work at a startup where out of 7 excellent engineers only 3 have CS
degrees and 2 have no college degree at all.

A CS degree will help you get your foot in the door for your first job
regardless. Once you have a few years of experience your degree matters much
less - with a few exceptions (including the large corps mentioned above). If
you want to work on "hard" problems, a CS degree (or at least a minor plus a
math major) will be valuable for the work as well as the hiring. (A math major
or - if you want to work with hardware - an electrical engineering major plus
CS coursework are nearly equivalent to a CS degree for many employers in
general, but HR departments too often use software to filter by too-narrow
requirements.)

On the flip side, if you just want to build basic web and mobile apps, you can
get started in a career with not much more than basic practical knowledge of a
scripting language, one database, and HTTP. (But the more you know and can
demonstrate you know, the better!) For entry level jobs in this part of the
field, big corporations still tend to care more about credentials but startups
care more about demonstrated experience.

If you want to go into programming in any shape or form, and if you do have
the opportunity to take CS classes alongside other coursework, I'd
particularly recommend taking classes on algorithms and data structures
(including the infamous big-O notation), a bit about encryption, and if
possible the underlying lower-level underpinnings of programming (from logic
gates to assembly, bits, bytes, pointers, and machine language). And the
problem solving part mostly comes from experience!

