Forgot your password?
typodupeerror

Comment Re:($CS-- != $programmers--) (Score 1) 839

Actually, most of the programmers I've dealt with over the past 15 years tended to rarely comment (much less document) code unless forced to do so by tech writers. (For reference, I was a CS major, and I've worked at SGI, Oracle, Yahoo, and several small/startup companies)

Also, their coding styles ranged from (most commonly) incomprehensible to others (and occasionally themselves, when they had to go back to it) to (rarely) so elaborate they never got things finished without micromanagement from above. It was very unusual that someone else could just sit down and modify/fix code written by another coder without either the original coder assisting, or else the modifying coder spending a great deal of time figuring out what the code's details and nuances were before trying to fix anything beyond a blatant error. Knowing how to code cleanly and with an eye towards maintenance is a far cry from actually doing so. Even with peer code review and coding standards. Plus, in "fast" environments (such as startups or early-stage small companies), taking the time to do it right from the start often bogs things down too much (yes, this will cost you later... but right then you just want to make sure you get to "later" -- it's all about balance.)

As to hiring, many of us (I can only speak about those I have compared notes with) found the following preconceptions to greatly assist the process of hiring a good coder:

(Remember, these are empirical/anecdotal generalizations from which to start, not "rules", so don't flame me for bashing or promoting school types... Each, except Stanford, had clear strengths and weaknesses.)

(also, all these generalizations are talking about fresh graduates from undergrad, not advanced degrees)

  • State schools usually produced folks who would hit the ground running and start producing useful code almost right away. These hirees, however, most likely would not rise too far up the ranks to be managerial or visionary. They typically came to us already knowing current languages and systems, plus usually had co-op or extensive internship experience, but with little theory or extended conceptual understanding as a basis from which to grow.
  • More theory oriented schools (e.g. CMU, Princeton, Berkeley) generally produced folks who would take around 6+ months to get up to speed, but then would contribute not only productive code, but (useful) insights and vision for improving the products or market positioning, and most likely would advance well up the management ladder. This group of people were more varied, however, depending on what internships or projects they had worked on before graduating.
  • We always had to be careful with MIT folks. Their resumes typically had impressive sounding courses and project work, until further questioning would reveal that these projects were done in a language such as ML, Lisp, or Scheme, which are wonderful for theory, but have great difficulty translating into useful skill with C-derived languages (C, C++, C#, Java, much less unstructured langs such as perl and javascript).
  • Stanford produced amazingly inconsistent folks. Most often, their undergrads came out with serious ego and attitude issues (even compared to MIT or Harvard grads) with skills and experience inversely proportional to said egos. Stanford grads usually were viewed with skepticism unless/until proven competent. I know that if I had a kid going to school for CS, I would never suggest Stanford (or perhaps would strongly suggest it, as reverse psychology... :) ).

As to Computer Science in general, I've always half-joked: if a field has "Science" in its name, it probably isn't (especially with all the 80s focus on science and engineering plus PC-ism: sanitation engineers, Social Sciences, Soft Sciences, etc.). I've always been proud that my alma mater never fully gave in to this and kept their "Politics" department, rather than changing it be "Political Science" like every other school seemed to do. :)

(Think about it: all the "real" sciences don't need "science" in their name. (Astro)Physics. Mathematics. Chemistry. (Molecular) Biology. When they become more applied, they become Chemical Engineering, MAE, etc. No one needs to be told "this is a science field")

Slashdot Top Deals

Real Users never use the Help key.

Working...