Live data from Hacker News

10000 things all CS students should do before graduating

tagide.com

111–120 of 164 posts

Re: 10000 things all CS students should do before graduating

#111

Earlier quoted context omitted.

> Hehe, I think this is the exact attitude the author is trying to prevent. Far too many CS students become too enamored and obsessed with language purity, the perfect design, etc etc, that they end up never building anything. I build plenty of things. I just don't get why you'd focus on PHP, which has little business value anymore (no NEW, serious project is going to use it) or Python (which is itself less questiona…

Wouldn't C# and Java be the two obvious choices for employability? Neither seems to show much sign of slowing down at the enterprise level, where there are huge numbers of jobs. Edit: I live 1800 mi. from the Valley.

I did say a big-iron language, did I not? Java and C# are certainly valid.

But, for example, it's not unreasonable at all for you to be expected to know how to set up and use Redis, even at a Big Company™.

Re: 10000 things all CS students should do before graduating

#113
I don't think you actually learn much from doing any of these things. For example, most of the developers I meet set up apache the following way: google a bunch of conf files; bash at it until it works; never touch it again. In any case, what good does it do you to rote memorize how any one piece of software works? What if Apache didn't exist, what if it was 1999 and all these shiny Web 2.0 APIs didn't exist - how would you write a web server or communicate with other applications then? Seems like that's the sort of knowledge you want to have, and precisely the sort of handwavey theoretical stuff you have the luxury of spending time on in college.

Re: 10000 things all CS students should do before graduating

#114

I think a lot of people here missed the point. This isn't a list of "stuff that will make you SUPER BALLER," it's a list of easy things that teach you very much and give you a lot of confidence for a very small amount of effort. Plus, all of these tasks are highly relevant in our web database-driven world. Not everyone wants to be Johnny Writes His Own C Compiler Geek, but every CS student SHOULD be able to configure…

I agree. While most of the items on that list are web based, they are easy enough things that can be worked on while taking classes. Working on projects like these get you into the hacking/diy mindset that really differentiate the top and low level CS students. Will every CS student need to build a web app or use MapReduce? No, but learning new technologies and getting your hands dirty teaches you to ask questions, start something, and learn as opposed to being complacent with your current level of knowledge.

Re: 10000 things all CS students should do before graduating

#115

Earlier quoted context omitted.

I think that's a very valid point. I've had some wtf discussions with software engineers that were widely respected in their careers (usually Microsoft MVPs, for some reason) yet didn't understand something as simple as how to configure a web server, or what the significance of a subnet mask was to their ability to have a functioning network connection. It was "beneath them", yet to me that's like an airplane pilot t…

Difference in specialties. I'm in my mid 40's and I've been programming since I was 18. The very first time I had to configure a web server was about 5 months ago when I got nginx running on my laptop. Ask me about microcontroller programming or writing code to control the real world and I'll talk your ear off. Ask me about web stuff and my knowledge stops at PHP.

Valid point, but if you were writing code meant to run on the web, you should be expected to know a little bit about the server stack that will host your application.

Re: 10000 things all CS students should do before graduating

#116
post #83

Earlier quoted context omitted.

Umm... I don't think so. If you are thinking of CS as in Computer Science then that is CS and what the list mentions is what someone who wants to work in IT would need to know. Computer science is much more than just web technologies and many many people on HN will testify they got jobs because of knowing what this list mentions I am not denying that there are many others who would say they got jobs by knowing stuff…

Indeed, university professors, programming languages researchers, compiler and IDE developers and others do certainly need theoretical knowledge. Could you speculate for me as to the number of job openings for compiler writers as opposed to the number of jobs for web monkeys like me?

The skills learned from writing something like a compiler or operating system can be applied to any type of software development job and are more valuable than anything on the OP's list.

College isn't a vocational school where you learn X so you can get a job doing exactly X. The idea is to learn a broad range of CS, Mathematics, and general problem solving skills. Doing so will allow you to write any type of software.

Re: 10000 things all CS students should do before graduating

#117
post #62

I'm a computer scientist, not a web monkey (FOOTNOTE). I'd say these are not the things all CS students should do before graduating. The field has much more to it. How about: 1) add or modify a significant feature of a working kernel 2) write a toy programming language 3) program in a programming language with concurrent constructs (e.g., erlang) 4) study some theoretical area, develop a practical application based o…

Those sound like engineering problems, not science problems.

Re: 10000 things all CS students should do before graduating

#118

Earlier quoted context omitted.

Indeed, university professors, programming languages researchers, compiler and IDE developers and others do certainly need theoretical knowledge. Could you speculate for me as to the number of job openings for compiler writers as opposed to the number of jobs for web monkeys like me?

The skills learned from writing something like a compiler or operating system can be applied to any type of software development job and are more valuable than anything on the OP's list. College isn't a vocational school where you learn X so you can get a job doing exactly X. The idea is to learn a broad range of CS, Mathematics, and general problem solving skills. Doing so will allow you to write any type of softwar…

You believe that a toy compiler or operating system (which are common in CS curricula) will teach you more about software development than a toy LAMP application?

Re: 10000 things all CS students should do before graduating

#119

Earlier quoted context omitted.

The skills learned from writing something like a compiler or operating system can be applied to any type of software development job and are more valuable than anything on the OP's list. College isn't a vocational school where you learn X so you can get a job doing exactly X. The idea is to learn a broad range of CS, Mathematics, and general problem solving skills. Doing so will allow you to write any type of softwar…

You believe that a toy compiler or operating system (which are common in CS curricula) will teach you more about software development than a toy LAMP application?

Yes. Absolutely.

Re: 10000 things all CS students should do before graduating

#120

Earlier quoted context omitted.

I think you are being a little shortsighted. You may mean it doesn't get you jobs in the specific area that employs most of the people you share online/offline time with. I'de bet most of the guys that programmed the operating system you were running when writing that post got paid for they job. The same goes for people developing compilers or VMs, like, you know, the one Python/PHP runs on... and don't get me starte…

That is definitely true. But how many compiler and VM jobs are there? How many web monkey jobs are there? It's like automotive engineers, as opposed to mechanics and drivers. Now, I realize that we're being trained as automotive engineers, but most of us get jobs driving. I think the blog post's advice is much more useful for that.

Good analogy, but then developers are more mechanics than drivers.

You can use your cool and deep automotive engineering knowledge to "do mechanics", but most of the time is not efficient cost/benefit wise. Most of the time it's more important to get the thing running in order to start the business.

Post reply on HN