6 ms·
>> The economy is moving towards knowledge-based jobs. >> A programmer with a CS degree and no internships, no open source, no working under experienced talent
by jshowa 14y ago
>> The economy is moving towards knowledge-based jobs.
>> A programmer with a CS degree and no internships, no open source, no working under experienced talent, is (nearly) worthless. An English major aspiring to write for magazines who has never published anything nor worked with a professional editor is (probably even more) worthless.
Seems you contradict yourself when you claim there is a move towards knowledge based jobs, yet in the very next sentence, advocate that knowledge without experience is "nearly/even more than" worthless.
So are you implying that a person with a CS degree who probably did tons of programming exercises and at least 1-3 projects (i.e. requiring design, doc., etc.), who was taught by these "under experienced" PhD's who have studied the subject, wrote about it, and have done projects for 10+ years of their life produce something that is "nearly" worthless?
Holy cow, either the students priorities were very screwed up or there goes logic and rationality out the door.
- potatolicious 14y agoYou're splitting hairs on semantics - the notion of a "knowledge economy" as we've been referring to it for, oh, 3 decades now, does not exclude the value of experience. Knowledge economy doesn't imply that experience or skill is unnecessary, it is simply a catch-all term that suggests that low-skill, menial labor jobs are disappearing (and they are). The level of training required for any in-demand job, whether it's an electrician or an astrophysicist, is much, much higher than it historically has been. > "So are you implying that a person with a CS degree who probably did tons of programming exercises and at least 1-3 projects (i.e. requiring design, doc., etc.), who was taught by these "under experienced" PhD's who have studied the subject, wrote about it, and have done projects for 10+ years of their life produce something that is "nearly" worthless?" I don't like to yell, but here it is plainly: YES. The kind of things they make you work in school, even in advanced degrees, is nothing like what private industry needs. Shit, the software engineering program at my alma mater spends a shitload of time on UML, as opposed to practical architectural skills that are actually useful in the real world. Your school projects do not in any meaningful way approximate a real software project in the real world. Your design docs are held to a completely different standard than real design docs, and the process by which they are synthesized, iterated upon, and approved is also either completely absent in academia or heavily bastardized. Likewise, programming exercises you see your typical CS or engineering program are incredibly simplistic compared to what you would run into the real-world once you're hacking on production systems at-scale. This is why open source experience is valuable, but class projects are not. A CS student, sans external experience, is like a Call of Duty player joining the Army. Heart might be in the right place, but by God they are a long way from ready. [edit] On-topic but aside: consistently the second worst programmers I've ever interviewed in my life are PhD candidates or holders. They are almost universally clueless, able to rattle off all kinds of incredibly complex knowledge, but are absolutely clueless about real-world engineering issues, and generally poor at implementation. Scalability and usability are theoretical constructs to the bulk of them. They can talk a lot of shop about algorithms, but to get them to implement their own algorithms (and do it well) is nigh impossible. Code quality is on the whole probably worse than fresh undergrads. Off-topic and aside: the worst demographic I've ever had the pleasure of regularly interviewing are current/former employees of outsourcing consultancies (Accenture, InfoSys, and the ilk). I'm unsure what percentage of their programmer population actually know how to code, but I wouldn't be surprised if it's < 25%. I've interviewed multiple such candidates who couldn't put together a loop in a language of their choosing.
- jshowa 14y agoYeah, never heard anything about a "knowledge economy". Must be made up. > I don't like to yell, but here it is plainly: YES. Really? I must have went to the wrong college then or you're interviewing the wrong people. Yes, there is a reason UML is used. Its used because its a standard. Its used because its unambiguous if you know it. Its used to identify relationships, areas of repeated code, state of objects in your code, and it can easily be used to generate code, if it is learned and used properly. I have yet to see any software development book or methodology that doesn't use some form of UML knowledge. Unless you code with no design. > Your school projects do not in any meaningful way approximate a real software project in the real world. Your design docs are held to a completely different standard than real design docs, and the process by which they are synthesized, iterated upon, and approved is also either completely absent in academia or heavily bastardized. Likewise, programming exercises you see your typical CS or engineering program are incredibly simplistic compared to what you would run into the real-world once you're hacking on production systems at-scale. This is why open source experience is valuable, but class projects are not. Here is what I've done as part of my CS degree: - Wrote linked lists, binary search trees, graphs, stacks/queues, and most of the well know sorting and searching algorithms used everyday by programmers FROM SCRATCH. - Wrote my own linux shell, complete with scripting interpretation, variable substitution, I/O redirection, and most of the features you find a normal bash shell. - Wrote several built-in linux commands and other commands (i.e. tail, ps, pstree, etc.) from scratch using only the linux kernel and system calls. - Designed a new calendar system for my university using the agile development methodology with all documentation produced (i.e. SRS, UML documents, requirements etc.) - Wrote a lexer and compiler, with a partner, for a made up language. - Experience implementing RDMS in mySQL and constructed tables and views for it. - Wrote a SMS text messaging system using uC/OS-II using a motorola HCS12 microcontroller complete with ring tone, memory management, clock, and serial communication. - Designed and implemented a solar charging station with COTS parts and arduinos to measure charge voltage and current (meter essentially) - Designed and implemented an RC tank, controlled via Wifi with a webcam and some small autonomous functionality - In the process of designing, implementing, and documenting a airborne particle counting network that uses rs-485 as a backbone and a control program written in C# If this isn't enough experience, then I must be living in a fantasy land. By the way, I've done no open source, but many of these projects (ones with arduino and linux) could qualify. > They can talk a lot of shop about algorithms, but to get them to implement their own algorithms (and do it well) is nigh impossible. Code quality is on the whole probably worse than fresh undergrads. Go figure, they know a lot about algorithms that the programmers probably just use API calls to do. Also, implementing complex algorithms in an interview isn't exactly easy or time conducive. All I know is, I've seen some crap code from programmers (with no CS degrees) that were commercially certified in the language they were running in. I mean I'm talking extreme no-no's (i.e. magic numbers, lack of enum use, lack of comments, no early exiting loops, god objects etc.) stuff that I actually got marked down for in my college assignments.
- zanny 14y agoI just graduated from a private school with a CS degree. Went there on a full boat with only subsidized Stafford loans to cover the cost of my room. I am now getting into foss since I failed to get in on any of my internships / summer of code last summer, since my piece of paper is effectively worthless. I do have project experience (a course scheduler in C# for .net, a tower defense game in swing, wizard design for a seismometer program the school contracts) but employers don't care about that, especially the projects the school contracted on that I can't show the source to. So yeah, I've been job hunting for ~4 months (some nice folks on HN even gave me some phone interviews, but it never got past that) and the lack of job experience drives away a vast 99% of employers. I have a good gigabyte and around a million lines or more of assignment and project code I could throw at them, they are just not interested :P
- EricDeb 14y agoI just finished a Master's in CS and am facing the same problem. Just suck it up (hate that expression) and play the recruiter/interview test games. Memorize the basics of all areas of CS (stuff that you would normally look up in 30 seconds) and practice a little whiteboard coding and you'll be fine :)
- jshowa 14y agoI wouldn't say that is anything wrong with your education. It probably has more to do with unemployment, the economy, and outdated/ineffective hiring system. And the fact that people on HN think a formal education is worthless, and damn does that non-logic show. Hint, if you go on to get a Masters, you'd be able to get into a government research lab with minimal hassle.