Live data from Hacker News

Code != computer science

ultrasaurus.com

41–50 of 148 posts

Re: Code != computer science

#41
My 2 cents on the computer science degree versus coding... (Full disclosure - I have a CS degree from a large public school)

1) Many of the top coders, programmers and data scientists that I know don't have CS degrees. (The top coder I know never finished school. He could move from Assembler to C to Objective C effortlessly, and could do everything from games to operating systems. He wasn't lacking for theory or versatility)

2) Despite this, a Computer Science is more difficult rigorous than most non-engineering degrees. Even at open admissions schools, getting a CS degree means being forced to solve difficult problems.

3) Because of #2, a higher % of CS majors make good programmers than most any other major. (I've seen English majors make good programmers, but at a much lower %)

4) Despite #2 and #3, there are still many unqualified CS majors.

5) There is no typical CS programs. Some are very flexible, some very structured. Some have an engineering focus, some are part of liberal arts schools. Some are too narrow, some are not specialized enough.

6) A few years after college, your grades don't matter. A few years after that, the school doesn't matter. A few more years and your major doesn't really matter. At that point, it's all what you've done with your time. (Though it can help to say, "I have a CS degree. I used to be technical.")

Re: Code != computer science

#42
The first thing anyone in this discussion has to realize is that different schools can have vastly different computing science programs. While there is conceptual similarities between most computing science programs, they can vary drastically in breadth and depth. And what one gets out of a program can also depend on the path the individual student takes.

If you feel you got nothing out of your education or that your education was mostly worthwhile, that may not reflect on computing science in general but just of one particular implementation of it.

Re: Code != computer science

#43
post #20

I look at this from the other side as well. I've worked with brilliant people with ivy league CS degrees who wrote much messier and less maintainable code than me, an autodidact designer/js dev with 1.5 years of experience. Maybe I'm wrong, and there was something in their code that I wasn't seeing, but I don't think so. There can also be a bit of an attitude, like the person is thinking "of course this is good, I we…

"If you hire too many computer scientists, your code base could be full of fascinating technical tricks, but creaky and hard to work with. Too many craftsmen, and you'll get stuck on simple problems. It's a balance." Your whole post is full over hand waving and overgeneralization. You've never met a CS major who wrote clean code without resorting to fascinating technical tricks? You haven't met a non-CS major who did…

Just my opinion, and I don't have much experience. I'm sorry if it offended you for any reason.

Re: Code != computer science

#44
post #31
post #20

I look at this from the other side as well. I've worked with brilliant people with ivy league CS degrees who wrote much messier and less maintainable code than me, an autodidact designer/js dev with 1.5 years of experience. Maybe I'm wrong, and there was something in their code that I wasn't seeing, but I don't think so. There can also be a bit of an attitude, like the person is thinking "of course this is good, I we…

People in academia simply don't care about the quality of one particular implementation of their ideas. There's no value judgement here, it's just not their job to write and maintain good software. Just as it's not a mathematician's job to maintain a cryptographic protocol or a physicist's job to keep a satellite in orbit. The people who went to schools with strong research programs are trained by people in that mind…

That last bit sounds amazing and highly valuable. I go to a well regarded top CS school and I regret that we don't have something like that in our curriculum that forces people to write multi-thousand-lines of code with a team and maintain it.

Our EE program has something like that where you choose a team and build something with them over the course of a semester while having an "advisor". At the end you make a report and present it to the advisor and the rest of the committee. It's a requirement for graduation. I think that's awesome and CS definitely needs something akin to that.

Re: Code != computer science

#45
post #16

When I was 16, I was obsessed with 3D graphics (hilariously primitive back 30 years ago). I learned programming to create , rotate, translate, and shade objects in 3D space. I learned computer science to understand how you manage vector lists, matrix math, and strange recursion algorithms. I learned that programming is computer science applied. Sort of like how math is a tool to apply calculus to real work problems.…

Isn't that exactly what the author is saying, though? He's saying that programming is part of computer science, but knowing how to code doesn't mean you know computer science.

That's not what I'm saying. Saying "code" and "computer science" are two different things is a bit ridiculous.

Re: Code != computer science

#46
post #31
post #20

I look at this from the other side as well. I've worked with brilliant people with ivy league CS degrees who wrote much messier and less maintainable code than me, an autodidact designer/js dev with 1.5 years of experience. Maybe I'm wrong, and there was something in their code that I wasn't seeing, but I don't think so. There can also be a bit of an attitude, like the person is thinking "of course this is good, I we…

People in academia simply don't care about the quality of one particular implementation of their ideas. There's no value judgement here, it's just not their job to write and maintain good software. Just as it's not a mathematician's job to maintain a cryptographic protocol or a physicist's job to keep a satellite in orbit. The people who went to schools with strong research programs are trained by people in that mind…

While I'm following you ideologically, I'm not sure that this idea bears fruit in evidence. The computer science community still uses large numbers of algorithms (via libraries) that were written by academics, in peer-reviewed journals, in Fortran, in the 1970s.

Even currently, a tremendous amount of the cutting-edge work in optimization and others is done at the university level: METIS for graph partitioning, and convex optimization work being done by Stephen Boyd et al. They care deeply about the implementation because quality and speed of solution are of utmost importance. A number (like Geoffrey Hinton and Sebastian Thrun) have moved into the private sector, but after contributing a lot via academia.

Re: Code != computer science

#47
This is like saying speaking fluent English doesn't make you a genius, and being a Genius doesn't mean you will speak fluent English.

Having a CS degree won't make you a genius, or guarantee you write beautiful code.

There are 3 factors at play. Brains, Fluency, and Theory.

If you have good theory you won't spend 100 years trying to figure out things people already have figured out.

If you have good Fluency you will write like people in that language write. "Your code is very Pythonic".

If you have brains you may solve a problem no one thought was possible.

I don't have a CS degree, but I'm a "grey beard" as a result I have good theory. I don't speak Python as a first language, or the language I think in, so I don't have good fluency. As a certified Genius I have a big brain and often solve things people didn't think were solvable. So I make up for a lack of fluency.

Re: Code != computer science

#48
I have a CS degree from a minor state school. It was okay, not as rigorous as the programs of a few friends who went to much more respected schools, but not bad either. I happened to have an excellent CS teacher in high school. Honestly, almost all of the CS I've employed in 15+ years as a professional programmer, I actually learned in high school.

Personally, I would advise young folks who are already passionate about programming and technology to either go all-out in a true engineering field or pursue something that will equip them with a very different skillset. For example, if you have programming skills but get a degree in business and focus on accounting, you could easily be the most productive member of your department. Meanwhile, you'd have the savvy and knowledge to spin up your own side business doing software consulting or, say, mobile apps.

I would go so far as to say that, assuming you are motivated and already coding and have a decent math background, a CS program isn't worth it unless it's from a really, really good school.

Re: Code != computer science

#50
My father sent me a link to lifehacker, and was surprised to find I really enjoyed it. I thought it was humourous yet well designed and it explained loops well.

The example I tried involved moving angry birds and zombies around on the screen, and it required a bit of thought. It wasn't rocket science, but it wasn't a walk in the park either. This movement will be successful as long as the right resources are available.

Post reply on HN