I thought everybody was a "dev-op" now? Have I been lied to?
You know what, f'it - just call me a guru. Sometimes I be in deep thought, meditating at my Amiga, but if an error happens, well...you know what that means.
Actually, I think Rob Pike in a talk said something along the lines of "they are writing code as opposed to programming", implying that "coding" is sort of "mindless programming". The output of "coding" is code, the output of programming is a program, which may or may not be code, though usually is.
Edit: Upon some googling, this comes from the book "The Practice of Programming" by Kernighan/Pike.
Very surprised not to see MIT and Duke on this list. They were such seminal universities for the hacking scene in general back in the 70's and 80's. I guess the landscape has just changed too much.
Yeah upon closer examination, I realized how poor the selection process was. Having it biased based on people that use hackerrank makes the list pretty useless IMO. It's far from an accurate portrayal of the best programming schools in the world.
Trust me, as someone who routinely interviews new grads from many "top" schools, MIT still has great programmers. So do CMU and Stanford, neither of which are on this list. HackerRank is unintentionally demonstrating that they are not a factor when it comes to evaluating interns and new grads from schools that are already well-recognized for having talented students.
It looks more like a list of places people are ready to do anything to escape from. Poor people engaging in (recruiting) contests to move away/abroad and bring back money. (When I say 'poor', I don't mean mediocre, of course, that's unrelated.)
So much this. If I am getting my degree from an established/well known university I am much less likely to do something like this. This is even more the case for top students from top universities.
My business school had all graduating seniors take a similar assessment and liked to advertise that our students scored in the top 99% of all universities on the test. The thing they left out is that the top 50% of business schools did even bother with the test.
That didn't make the assessment totally useless, but it also didn't mean that our graduates were in the top 1% of business schools.
Right, see the complete absence of MIT and Stanford as well as other top ivy league schools from this list. My assumption is that ivy league students have more important things to do than be on Hacker Ranker, still a good opportunity for developing countries and people with lesser means to get an education but I wouldn't trust these "Rankings"
I'm tired of these "assessments". Solving contrived algorithm puzzles is not an indication of programming skills, which mostly require organizational skill. I don't know how this sort of thing became so pervasive, but as someone who has recently been burned at a few job interviews because of it, it really grinds my gears. My ability to recall and produce a correct implementation of an RB tree on a piece of paper with no compiler feedback is NOT an indication of my ability to code your ReactJS website. Just because I can't solve in five minutes some brilliant logic puzzle that the interviewer read online and made it their go-to thing to prove how smart they are does not negate years of experience writing in the Language / Framework they said they were originally looking for. I have PTSD.
I wish more companies would hire based on code that you've written, than a bunch of contrived puzzles you're supposed to know by heart so you can solve it on a whiteboard without blinking. But, since that's how the fucking system works, I'm forced to spend time committing these things to memory than writing actual code.
I think maybe another way to look at it is that it mostly tests one's ability to handle stuff they don't necessary like. For ex, you are preparing for an interview. Suck it up and learn some standard algorithms and practice coding under a little pressure. That is the homework that you are supposed to do.
If you haven't done that, it is a good indication of how you will handing boring but necessary and important stuff at work. In all fairness, I think you can't fault people wanting to judge you based on that..
Not that I agree with it, but they're testing general CS knowledge at that point. What if they decided to switch from React to something else entirely? Have you made your future employer confident enough that you're competent enough to handle that and more?
That explanation is ridiculous. If that were the reason they would just have you dig 6 foot ditch. Implementing RB trees is not "boring and important work" either, if you're implementing them in your day job (for 99.99% of programmers), you are grossly incompetent because you don't understand how to use libraries.
I wouldn't mind doing homework that is related to what they need me to do on the job. Make me code. On a real computer. With a compiler. With an internet connection. On real problems, even if they're conventionally hard to solve. I wouldn't mind rejection if I can't produce something satisfactory in a real life setting. Sometimes, they ask things that are too far removed from what they need from you, and I just don't get it.
It's not about learning algorithms. If you do the Stanford MOOC on algorithms on Coursera, which is one of the best MOOCs I've ever come across, you'll find that the instructor emphasizes understanding over rote learning and implementation details. If you understand what data structures and algorithms fit where, you can look them up and apply them as and when you need to. Memorizing every nook and cranny of CLRS so you can reproduce it quickly in an interview is a terrible waste of time, imho.
''there's always lots of state to keep track of, rearranging of values, handling special cases, and carefully working out how all the pieces of a system interact''
These are the skills actually that are needed to implement an RB tree (lot of special cases to handle, hard to organize the code well), although I have never been asked to implement any balanced tree on an interview.
The best software developers I've worked with have been average "coders". Instead, they have an awareness of the broader context that allows them to deliver more business value, even if their implementations may not be quite as good as their more "advanced" peers.
The best "coder" I ever worked with was one of my least productive peers ever. We were once able to hand him a detailed specification for a complex interface. Several people (smart people, mind you) had tried implementing it already and the results were always flaky after a couple of weeks of development. In about 2 days he had a very elegant looking implementation that I don't think we ever had to edit or fix again.
But if you asked him a question? He would literally stare at you and not answer. Couldn't get anything back from him in meetings. I believe he was hired from a very algorithms-focused interview. We had also hired a few folks who actually had MBAs with emphases on Information Systems. They were okay coders, but they communicated really well. They were by far the more productive team members the rest of the time.
> We were once able to hand him a detailed specification for a complex interface. Several people (smart people, mind you) had tried implementing it already and the results were always flaky after a couple of weeks of development. In about 2 days he had a very elegant looking implementation that I don't think we ever had to edit or fix again.
While he may not have been "productive" in the traditional sense, it is quite possible that he saved the business and development team countless hours of lost time down the line by implementing the documented process to spec in such a manner as to not require future downtime or maintenance...
People don't want to admit that you can be pretty bad at CS and still get by. This isn't unique to CS. There are plenty of people slipping through the cracks in all fields and disciplines.
It's especially easy to do in this field, because there can be a strong disconnect between the business side and the tech side. Most everyone on here can name at least one person they've worked with that created more work than they completed. It would have literally made better economic sense to have them watch movies all day at work rather than mangle the code base.
Bullshit article and methods, click-bait and misleading title. I'm sure students in decent universities have more to do than solving HackerRank challenges. Actually, I've never met a good programmer that would waste their on some useless ranking; they prefer solving real world problems and have real projects.
I literally puked when it ranked my previous college (A very bad public university in India) along with UT Austin & UW. UT Austin & Other good universities' students are more likely to spend their time on something productive and therefore not fall into the rut of competitive programming, while companies coming to my college make the students believe that competitive programming is how they'll evaluate them(I blame Amazon & Google). The list very much biased towards India, Russia & China. Due to the low course load as compared to US Universities, students there generally have a lot of time on their hands to spend on Hackerrank. Also exaggerated by the fact that handful of companies that hire from there look at this kind of scores only.
Its made by so called "coders". All it says to HRs is that they'll assign a number to each programmer so that they can compare programmers. HRs, as they often tend to be, make their jobs easier without doing work.
I'm guessing hackerrank attracts more people NOT from prestigious schools, because they don't already have the status of having gone to Stanford/MIT/Berkley/whatever. People from those schools probably aren't wasting their time being "ranked".
There are best universities, and best coders, who do not use hackerrank. Infact most people will use hackerrank to brush up their algorithmic/coding skills, when they are looking for new job.
Their equivalent. Neither gives a detailed enough signal to be useful for anything other than posturing. My experience with competitive coders has been just as mixed as with the rest of the candidate pool.
I've observed a strategy of preferentially hiring competition coders have no discernible positive impact.
51 comments
[ 2.0 ms ] story [ 110 ms ] threadYou know what, f'it - just call me a guru. Sometimes I be in deep thought, meditating at my Amiga, but if an error happens, well...you know what that means.
Edit: Upon some googling, this comes from the book "The Practice of Programming" by Kernighan/Pike.
I'm glad, "Wired in" didn't take roots.
I still cringe when some guy who has 0 customers, but is throwing around, "When we decide to monetize?". Let's just go back to "Make some money?"
And the constant new acronyms. I'm even using acronyms because no one seems to care anymore?
Which Universities (that have students that participate in HackerRank) Have the Best Coders in the World (at HackerRank problems)
My business school had all graduating seniors take a similar assessment and liked to advertise that our students scored in the top 99% of all universities on the test. The thing they left out is that the top 50% of business schools did even bother with the test.
That didn't make the assessment totally useless, but it also didn't mean that our graduates were in the top 1% of business schools.
I wish more companies would hire based on code that you've written, than a bunch of contrived puzzles you're supposed to know by heart so you can solve it on a whiteboard without blinking. But, since that's how the fucking system works, I'm forced to spend time committing these things to memory than writing actual code.
James Hague said it best, "Organizational Skills beat Algorithmic Wizardry". http://prog21.dadgum.com/177.html
If you haven't done that, it is a good indication of how you will handing boring but necessary and important stuff at work. In all fairness, I think you can't fault people wanting to judge you based on that..
It's not about learning algorithms. If you do the Stanford MOOC on algorithms on Coursera, which is one of the best MOOCs I've ever come across, you'll find that the instructor emphasizes understanding over rote learning and implementation details. If you understand what data structures and algorithms fit where, you can look them up and apply them as and when you need to. Memorizing every nook and cranny of CLRS so you can reproduce it quickly in an interview is a terrible waste of time, imho.
These are the skills actually that are needed to implement an RB tree (lot of special cases to handle, hard to organize the code well), although I have never been asked to implement any balanced tree on an interview.
But if you asked him a question? He would literally stare at you and not answer. Couldn't get anything back from him in meetings. I believe he was hired from a very algorithms-focused interview. We had also hired a few folks who actually had MBAs with emphases on Information Systems. They were okay coders, but they communicated really well. They were by far the more productive team members the rest of the time.
While he may not have been "productive" in the traditional sense, it is quite possible that he saved the business and development team countless hours of lost time down the line by implementing the documented process to spec in such a manner as to not require future downtime or maintenance...
In fact, most of the people in the program were pretty bad at coding.
Source?
It's especially easy to do in this field, because there can be a strong disconnect between the business side and the tech side. Most everyone on here can name at least one person they've worked with that created more work than they completed. It would have literally made better economic sense to have them watch movies all day at work rather than mangle the code base.
I believe that more strongly now.
I've observed a strategy of preferentially hiring competition coders have no discernible positive impact.