4 ms·
Exactly. I've interviewed recent UC Berkeley EECS [1] graduates and found they couldn't write a line of code, and Berkeley is a top 10 engineering and top 10 co
by SomeCallMeTim 13y ago
Exactly. I've interviewed recent UC Berkeley EECS [1] graduates and found they couldn't write a line of code, and Berkeley is a top 10 engineering and top 10 computer science school (or at least was a the time; haven't checked rankings recently).
[1] Electrical Engineering and Computer Science; their B.S. degree in computer science. I think they have a B.A. as well.
- angdis 13y agoCome on... do you _REALLY_ mean they can't write a line of code? I find that hard to believe.
- bhousel 13y agoI believe it. Sadly, cheating has become endemic in STEM degree programs.
- anovikov 13y agoI know Ph.D. in computer science who can't write a line of code.
- epoxyhockey 13y agoI know a Ph.D. in economics who can't balance his own checkbook. None of these anecdotes mean anything. Humans have strengths & weaknesses, experience & inexperience, interests & disinterests. Match the person with the job or train them if they aren't a 100% match.
- anovikov 13y agoAll Ph.D.s in economics who are in control of public finance can't balance it either, so that is okay.
- SomeCallMeTim 13y ago>Match the person with the job Absolutely. >or train them if they aren't a 100% match. If they're close, sure. If they're not, then odds are unfortunately good that they aren't trainable, at least with respect to certain categories of advanced programming. I could probably train anyone with decent technical aptitude to do web page work, or simple CRUD backend server work. There are probably still people who couldn't learn it; I think there needs to be an aptitude regardless. But core game programming (engine work, graphics work, but not simple scripting) and certain kinds of embedded development (especially if video is involved) are realms that I'm familiar with that have a higher barrier to entry, and where "training" is probably going to fail more times than not. As in fail 90% of the time or more. I think the cutoff is when you go beyond the point where a topic can be completely "taught" at all, and instead the task itself requires the developer to have exceptional learning and analytical skills. If a developer is good enough at figuring things out to actually get the work done, then any training would be unnecessary, because you would be able to learn what you need to know to get started on the job. Then what a new developer needs isn't "training" but just "orientation" to the tools and methods used in the domain in question.
- hackula1 13y agoNone of the lines that were requested anyway.
- SomeCallMeTim 13y agoProbably given very controlled circumstances of a language they were really familiar with, they could have written something. But they took my programming test and got a big fat ZERO on it. Some of the questions were very open-ended ("What do you NOT like about your favorite programming language?"), and I didn't even know they HAD a wrong answer until these two recent grads took the test, but they were very creative. ("I can't think of anything.") The only code I actually asked them to write was in a very simplified language that was completely defined ON the test. They only needed to know IN GENERAL how programming languages worked. And I'm not talking about picky syntax problems, but a lack of even an attempt to write the code. FWIW, the people I hired tended to completely ace the test. The one time that I ignored the results of the test because the guy talked well and seemed otherwise like a good fit, it turned out he couldn't do anything we'd asked him. There didn't seem to be many in the middle: Either they really got it and could ace the test, or they really didn't and they'd bomb badly. This isn't news; haven't you heard of the Fizz/Bang problem? [1] [1] http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html http://www.codinghorror.com/blog/2007/02/why-cant-programmer...
- anovikov 13y agoReally curious, may i have a look at the test? I was hiring people for almost all of my career (on my first job, my first boos quickly realized i was too good to just let me type code) and i know things are really bad, but not as bad as you put it... Maybe your test is too hard?
- SomeCallMeTim 13y agoMy test is obsolete, AND is likely designed to get a different kind (class?) of programmer than you need (statistically speaking; I have no idea what you do). At the time I was doing video game development. I still am, but WHAT you need to know as a game developer is different now than it was then. For instance, I still wanted people to know SOME assembly language concepts (and Berkeley EECS grads were required to take an assembly language course, so that wasn't unreasonable). Game development is still harder than most kinds of software development ("most" defined in terms of number of people who practice each kind), but the specific knowledge required has changed a lot. There are probably awesome developers today who have never tried to code a line of assembly language. This fact makes me sad, actually, because I feel that my grounding in assembly language gives me a perspective on WHAT the computer is actually doing that developers who have never seen a language lower-level than C can't really have. And I feel it's a healthy perspective to have. But I'm not filtering out applicants based on whether they know assembly language. At least not any more. Seriously, though, one of the questions was "What do you not like about your favorite programming language?" At the time the question may have been "What do you not like about C/C++?"; I can't remember when I changed it. This is a question that is designed to gauge what programming concepts the developer in question is challenged by, or what corners of the language they have trouble with. If they answer "Pointers give me trouble!", then they're too green, but if they answer "overloaded template and normal function selection priorities in C++ are too hard to remember," then I know they've been doing relatively complex things with the language. So it's a question designed to give me a glimpse of their current skill and expertise; none of the answers I imagined people would say are "wrong," even though some might make me not want to hire them. But to answer "I can't think of anything wrong" showed such an amazing lack of imagination (or fear of revealing the above) that it was the only time that I felt they'd managed to give a "wrong" answer to the question. If you can't come up with anything wrong with a programming language that you are saying you're skilled in, then you're not sufficiently analytically minded to work in games. Or at least not in a small indie studio where everyone needs to be awesome at something.