Live data from Hacker News

Code != computer science

ultrasaurus.com

101–110 of 148 posts

Re: Code != computer science

#101
post #36
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…

Also maybe some other reasons for downvotes: - 1.5 years experience isn't very much to base an opinion like this on - Finding other people's code hard to read is pretty common, no matter how good those coder's are. Your own code generally makes perfect sense to you, same as your writing. But communicating so that all can understand it is hard. That's why flame wars occur. You probably think your comment is a reasonab…

And when you've been writing code for decades, it becomes quite evident that "those other people" can easily be your past selves.

Re: Code != computer science

#102
True but:

Code people, should be open to learn theory when needed.

CS people, should be open to understand that writing code is not marginal and takes a lot of time to master.

Probably more cooperation would be needed.

Re: Code != computer science

#103

I did an undergrad in CS (Columbia) - in retrospect I should only have minored in CS. I'm not sure it's worth the workload! You will have _no_ free time and get reamed in GPA Very math-heavy and the project based classes were brutal.

[deleted]

Re: Code != computer science

#104

"So, please, go do that hour of code if you haven’t already. Who knows? Maybe you’ll want to become a software developer, but even if you don’t, it’s worth the effort, and might even be fun!" I need someone to please explain this last bit to me. He seems to suggest that it's pretty easy to become a software developer. This idea seems to be pretty common across hacker news. That all it takes is a little bit of researc…

I've spent some time teaching people web development (Ruby, Rails, Javascript) both as a professional trainer and as a volunteer through RailsBridge. I've seen a few motivated individuals go from non-coder to software developer in less than 1 year. Certainly you can get paid jobs writing code sooner, but these folks were doing real development in 6-9 months.

With an engineering background you already have a good foundation in problem-solving. I would recommend learning one language really well first. I like Ruby or Python for beginners. Javascript is very practical, but I agree with the other folks in this thread who compared it to C. It's lack of structure make it a hard first language. Then find a small open source project to get involved with. A lot of open source coders will happily mentor you if you put in the effort to contribute -- you can start by contributing docs and good bug reports. Get started, see if you like it. It's not easy, but it can be done. For me, it has always been fun.

By the way, I'm a she :)

Re: Code != computer science

#105

Earlier quoted context omitted.

Science != engineering. Engineers take what scientists discover and create and design solutions based on that. Computer science is not about engineering a large software solution. Rather it's about discovering and creating algorithms and techniques that engineers can use to design solutions. Much of the comments to this article seem to be happy to mix the roles of "technician", "engineer", and "scientist" when they a…

There are certain aspects of engineering which are definitely science. Science really is just the production of new knowledge with hard facts.

Engineers are Scientists with thumbs was what I was told when I worked for a RnD organization on CIT's campus.

The corollary to that is "but the technician is the one who really understands it :-) "

Re: Code != computer science

#106
post #64
post #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…

Where does one apply for their genius certification? Perhaps I can slap that on my resume. Seriously though, I like the assessment. I've worked with people from all three camps. Everyone has their pros and cons. I work in the medical space and end up spending a lot of time with more academic types. In my experience they haven't been the best "architects", but they have been great at solving tough problems and writing…

Mensa is one place. But there are others. Cerebrals Society, Intertel, Prometheus Society, The Triple Nines.

My role at Microsoft was as Subject Matter Expert. SME's don't write "much code" but we tend to prove problems are addressable in code and build proof of concept code.

My current role as CTO I work in python which is not a language I have been doing for very long. I struggle with Lambda's and List Comprehension, often opting to use slower constructs that a less experienced developer would use. But the logic is solid.

I also often am completely with out error handling, and just say. "Well duh, if you try and stuff HTML in my text field it breaks." or "Why did you use curly quotes I'm not handling your Unicode".

Part of that is "not knowing" because I don't do it 40 hours a week, and part of it is that it is cheaper to have other fix my code than it is to tie me up adding all the error handling and input validation.

Re: Code != computer science

#107
| Also most software has advanced features that require you to do things that use coding skills — setting up mail filters, creating spreadsheet formulas, even styles in Microsoft Word.

I've worked with many people who, while presumably listing Microsoft Office skills on their resume, spend time with repetitive tasks in Excel that could be done in minutes or seconds with a formula and a click-and-drag.

I've found that the hardest part is finding the best way to tell them that there is an easier way without being condescending or making them feel foolish. I usually go with "Hey, um, can I show you something?" But ideally this opens the window to realizing that you can make Excel (and computers in general) do stuff for you.

Re: Code != computer science

#108

Fundamentally,computer science = data structures + algorithms. in a data structure class,you learn the basic structures like PODs,structs,vectors and linked lists. in algorithm class,you learn various basic sorting algorithms plus the big O notation and thats pretty much it. Then you will take a few physics classes,then chemistry classes,then maybe calculus one and two,then probably discrete mathematics class,one or…

People are incredulous when I tell them I use 90% of the stuff learned while getting my CS degree. Stuff I've done in the real world: AI: I've lost count of the number of times I've had to implement A* Graphics: wrote a ray tracer; matrix transformations Data structures and algorithms: wrote an approximation algorithm for the travelling salesman problem (christofides); fancier data structures like bloom-filters, lru…

Sounds like you've had a very interesting career; I'm curious where you've worked. My impression is that most programming jobs are about CRUD-like problems, adapting well-known technology to solve business problems. CS seems like it could only help if there's a well-known algorithm (that would be taught in CS), but no existing implementation available - but in these days of open-source libraries that practically never happens.

FWIW I switched out of CS into Mathematics after one year. I've never implemented A*, I've used raytracers but not implemented my own, used a bloom filter but not implemented it, used an lru cache but not implemented one, used adaptive windowed linear regression but never implemented it myself. When optimizing database queries I've never needed more than EXPLAIN SELECT; when optimizing performance I've never needed more than a language-level profiler. I did actually implement an RFC from scratch (SMTP), but that was easy enough to do by, well, reading it and implementing it.

Re: Code != computer science

#109
post #44

Earlier quoted context omitted.

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 repo…

Science != engineering. Engineers take what scientists discover and create and design solutions based on that. Computer science is not about engineering a large software solution. Rather it's about discovering and creating algorithms and techniques that engineers can use to design solutions. Much of the comments to this article seem to be happy to mix the roles of "technician", "engineer", and "scientist" when they a…

Hm that's a fair point.

Re: Code != computer science

#110

Speaking from experience, this is true. You also don't really know when true CS is useful until you run into it. I graduated with the equivalent of a minor in CS. When I started coding for an web-based gaming start-up in 2007, it was mostly irrelevant. You don't need a CS degree to learn Ruby on Rails, nor is it necessarily useful (beyond your basic intro courses) to have taken CS courses. Flash-forward a year, after…

Here is the thing -- algorithms are NOT an order of a magnitude more difficult for everyone. That is simply an unjustified blanket statement.

Believe it or not, some people pick up merge sort or balanced binary trees faster than they can learn Rails (which has a BIG amount of content to master, by the way).

Post reply on HN