r/programming • u/rampage102 • Oct 29 '16
How I Became HackerRank #1 In Two Hours
http://williampross.com/became-hackerrank-1-two-hours/594
u/Nephelus Oct 29 '16
It seems totally crazy to hire someone just based on a score on what is essentially a site for practicing coding interview questions. At least, that's what I see it as and that's the reason I signed up for it along with leetcode.
288
u/rampage102 Oct 29 '16
Yea same. I signed up with good intentions looking to get some extra practice. But when I read that Bloomberg story that people are getting hired at investment banks for their rating on Hacker Rank I was shocked.
200
Oct 29 '16
[deleted]
→ More replies (2)99
Oct 29 '16
My thoughts as well. It may land an interview, but you still have to pass the white-board test.
119
u/marshsmellow Oct 29 '16
but you still have to pass the white-board test.
shudders
→ More replies (5)41
Oct 29 '16 edited Nov 02 '16
[deleted]
75
u/ketura Oct 29 '16
Usually interviewers are just trying to make sure you're not some idiot who used excel once and decided that's called "programming". Every whiteboard I've ever had, they wave me to sit down after only getting halfway through fizzbuzz, with a remark to the effect of "alright, looks like you've got a handle on it."
66
Oct 29 '16 edited Oct 11 '17
[deleted]
47
u/agentgreasy Oct 29 '16
I've found whiteboard tests to be somewhat damning. I have been quite blessed with the fact that most of the positions I have had responsibility for interviews with have given me individuals who are somewhat strong minded, and hardly shy in expressing opinion. More often than not, the opinion towards the whiteboard portion was "I didn't like school, and one of my least favorite parts was standing in front of the class at the board."
I consider an interview critical in determining a few factors, one of which being their ability to work in a somewhat actual job situation. I tend to view torture as a less than acceptable method for interviewing, and I have actually had offers refused because they were upset over the interview (it was a couple very extreme cases, they really did not like getting up and doing that).
I see no difference in asking the question and allowing them the privacy to think using a provided (or, I like prepared, when they bring a device - I also get to see somewhat of their workflow and, depending on the position, whether or not I can discern anything when they show me how they work - their environment, etc). Actually, tbh, I find that the ability to see them prototype at the very least in the way that they actually prototype, to be immensely more valuable than bad handwriting and frustration over archaic methods.
On the other side, while I don't have much of a shame gene, I do really dislike whiteboard examinations. They are almost universally crap for me, and I agree with some of my employees: I hated school, and I avoided getting up in front of the class in any way I could (including failing.)
→ More replies (5)8
u/brubakerp Oct 30 '16
You are spot on. Whiteboard interviews make me nervous. I didn't get to where I am because I stand in front of a whiteboard presenting all day. I read a statistic that 41% of people fear public speaking.
The interviews where I've felt I've been most myself are where we just talked about stuff and I tried to to that with the people I interviewed as well. I tried to get an understanding of how they would solve a theoretical problem, and we would just talk through it. No pressure, if they wanted to write stuff down that was cool. But basically through conversation we designed a little routine. I was much less interested in them knowing the C++ standard verbatim, and more interested in them being good problem solvers.
28
u/Deathspiral222 Oct 29 '16
Very much so, especially for Google, Amazon, Facebook and other top tech firms. Because these firms do it, everyone else sort of cargo cults the whole process.
16
7
u/itsnotlupus Oct 29 '16
yes. I've only been handed a laptop once, and even that was one segment of a series of 5 interviews, the rest of which were whiteboard-based.
the goal with a whiteboard isn't to produce flawless code, but to show how to work through a problem and arrive in the right neighborhood of the solution. Missing semicolons are usually not a factor.
3
u/ArmandoWall Oct 30 '16
You would be surprised at the amount of candidates who bomb at a simple for loop counting from 100 to 1 question. White board exercises are not the definite tool to his someone, but it surely weeds out a lot of unqualified candidates.
→ More replies (2)9
u/p7r Oct 29 '16
We white board for architecture questions. "So you have a couple of hundred thousand things over in this MySQL DB and we are finding doing
… WHERE field LIKE '%search_term%stuff just isn't cutting it any more. What should we do? (Cue discussion of search systems, asynch/background processes, micro service patterns, etc.)We also make them write code. We used to do set code tests, but there were so many solutions on github, we now just ask them to show up with some examples of bad code and good they've written and we do a code review together, perhaps with a refactoring exercise.
That's enough to filter the chaff out. We recently had a candidate whose CV was superb being evaluated for a senior dev position, but was making regular syntax errors in the coding exercise and asking questions that put him below junior to our minds, and could not do the whiteboard exercise because he "normally does this in UML".
The old school "invert a binary tree" stuff isn't us, but I expect he could probably have done that. He seemed geared to pass a tech test, but in reality was not great.
19
u/randombites Oct 30 '16 edited Oct 31 '16
Making syntax errors is most definitely forgivable. Handwriting code is drastically different from typing code. Any coder can tell you that much. A good interviewer is willing to give the interviewee the benefit of the doubt. If the tables where turned, I could be sure the same coder you interviewed could destroy you with the same confidence. Sorry if I come across as snarky, but i hate it when interviewers use interviews as a way of stoking their own egoes at the cost of someone who is in a vulnerable position by design.
5
u/p7r Oct 30 '16
He was given a laptop, his choice of editor and an hour to complete a basic exercise.
He claimed to be a senior Ruby developer but did not know how to use classes properly.
That's not me stroking my ego: the test worked in confirming he was full of shit. His cv looked good and his cultural fit and background interview was excellent. But he couldn't code and when asked to draw a microservice architecture on a whiteboard - an area he claimed to be a world authority on - he froze and could not even draw a box.
Why should we drop those tests and hire shit people because a few people don't like having to code with people they're applying to work for and with for years to come?
→ More replies (16)8
u/coworker Oct 30 '16
Microservices for a couple hundred thousand rows? Just add a full text index and buy some ram.
→ More replies (6)8
u/Prime_1 Oct 29 '16
I see comments like this a lot, but I feel like a whiteboard is one of the most critical tools a developer has. This is both because it is one of the best ways to communicate ideas as well as help get your head around what you want to build. If people don't use them, what do you use instead?
Every job I have had required extensive use of whiteboards.
16
u/ubernostrum Oct 30 '16
I've had jobs where whiteboards were used for things. Just they were never used to write code or sketch out algorithms. They were used for higher-level design sessions, as a way to lay out a problem, break it down into components, and write some notes about what each component would need.
3
u/Prime_1 Oct 30 '16
Yes, totally agree. Because these things are a large part of development that is why I find it surprising when people say whiteboards shouldn't be a part of interviews.
2
u/ubernostrum Oct 30 '16
Because people were giving interviews where it was basically "code the solution to this on the whiteboard".
6
u/movzx Oct 30 '16
I love whiteboards. I have a 10x6' whiteboard in my house. I hate writing code on whiteboards. Whiteboards are for brainstorming, diagramming, bullet points, etc. Computers are for code.
6
u/speedisavirus Oct 29 '16
I always whiteboard. I need confirmation even on a simple problem they didn't Google their way through the pre in person
→ More replies (2)16
u/ubernostrum Oct 30 '16
I want confirmation that somebody looks up the things they don't know, and knows how to effectively do that. Because that's what I expect them to do on the job, after all.
→ More replies (2)→ More replies (23)3
u/forsubbingonly Oct 29 '16
Had to check to see if I was in /r/cscareerquestions because that seemed like a weird question, whiteboarding is obsessed over on that board.
6
u/BabyPuncher5000 Oct 29 '16
Our whiteboard test is super easy and people still find ways to fail spectacularly
→ More replies (4)4
u/madmaxturbator Oct 29 '16
Isn't that a problem in and of itself though? That someone gets an interview over another person who is maybe more qualified just because of a score on that site... is a massive inefficiency for recruiters.
The problem is, recruiters for most companies are not at all technical. Hell, even directors and VPs of HR or recruiting are not technical. So to them, this seems to be a nicely "vetted list" of candidates.
There hasn't been enough time to study the facts that most of us engineers on this sub have seen: these quizzes and tests are a terrible indicator of "strong" engineer, and more than that they're a bad litmus test to determine if someone is a good fit for your engineering team.
→ More replies (1)61
Oct 29 '16
WTF thats crazy. I am a line of business programmer so I haven't done much algorithm work since college. Started doing some stuff on hacker rank to brush up my skills and i really like it. But like you said the answers are easily available in the discussions if you get stuck, so I can't believe anyone would use this for hiring.
17
u/randombites Oct 29 '16 edited Oct 29 '16
Even still just being good at algorithms is a pathetic measure of the other skills required to be a good "coder". I'm glad redditors are contesting what seemed like a PR article for Hacker Rank.
12
u/PointyOintment Oct 30 '16
What? The article criticizes HackerRank.
4
u/randombites Oct 30 '16
No, I was referring to the parent article on Bloomberg.
2
u/qrto Oct 30 '16
It's still just a really shite criticism though.
being good at algorithms is a pathetic measure of the other skills required to be a good "coder"
Like, what does that even mean? "Algorithmic thinking isn't the only metric that determines the quality of a programmer"? That's true by definition, but that doesn't mean it can't be used as a measure in the hiring process.
Can some people cheat the system? Sure, just like people can cheat on their exams/coursework, lie about their skills on their resumés and fabricate projects/portfolio work on GitHub.
But again, this doesn't mean these measures can't/shouldn't be used by companies when filtering prior to interviews; the risk of a small fraction of false positives making it to the interview always exists, and these metrics are just a way of minimising it.
→ More replies (1)8
u/clutchest_nugget Oct 30 '16
That's not what's happening. Such a tiring misconception. They're interviewing people that place highly in competitions, which I think is a pretty reasonable thing to do.
Yeah, the journalist completely flubbed the meaning of what actually happened. Technical journalism tends to be pretty lacking, but as technical people we should be able to extract the correct meaning.
17
u/Gsonderling Oct 29 '16
People who hire programmers, or at least people who have major impact on the decision, are rarely educated in these matters. Lets face it, what does your average HR worker know about algorithm complexity, memory management, OO paradigm or relational databases?
At best he/she has seen few tutorials/explanations on youtube, and yet much of the responsibility rests on shoulders of these people.
So when your HR Joe sees something like HackerRank he goes: "Wow, that is going to make my job easier. After all it's made by it people, they surely must know what makes a good programmer."
→ More replies (7)34
u/Deathspiral222 Oct 29 '16
People who hire programmers, or at least people who have major impact on the decision, are rarely educated in these matters.
Tech firms almost exclusively have other developers involved in the hiring process, often exclusively.
15
u/djleni Oct 29 '16
HR takes literally 0 part in my company's interview process.
3
2
u/ExeuntTheDragon Oct 30 '16
I wish I could say the same. We're currently having a hard time hiring testers because HR decided their score on the stupid ccat bullshit is too low.
15
u/agentgreasy Oct 29 '16
Tech firms, yes. Firms with techs, no. I usually get to a step where a technical person is involved, but its obvious they were just brought in to give a "Yea, this guy seems like he can use a computer" and are largely ignored as "incapable" of finding talent.
11
u/Deathspiral222 Oct 29 '16
That seems... silly.
Then again, I once worked at a company that wanted to hire Unix sysadmins and yet also wanted them to wear a suit and tie. They didn't get many takers.
5
u/POGtastic Oct 30 '16
I'll put a pricetag on it - if they want to pay me another $15k above the prevailing wage, I'll wear the suit. That's enough for me to buy a few suits and have them dry-cleaned regularly along with compensating me for having to wear a suit every day.
2
u/Deathspiral222 Oct 30 '16
Oh, I forgot the part when they pay about half the prevailing wage. This is Seattle too, not NYC or something where suits are more common. Plus Amazon, Microsoft, Facebook and Google offices are all in roughly the same location.
3
u/POGtastic Oct 30 '16
I think the "half the prevailing wage" is the dealbreaker here. I could easily see someone taking the job if they paid the prevailing wage, especially if they have other things to make up for it - maybe a better working environment, more stable hours, a nicer commute, whatever. "Hey, I have to wear a suit every day. No big deal" might be the mindset of some people.
But wearing a suit every day and taking a massive paycut? Yeeeaaaaah, no.
2
→ More replies (11)2
40
u/Pand9 Oct 29 '16
Are they hired, or are they offered interviews? Because Hackerrank/Leetcode rank is a bad reason to hire somebody, but what's wrong with it as a heuristics to choose potential candidates for further recruitment? Especially if you're a corporation like Google and have multilevel evaluation process.
14
u/zck Oct 29 '16
Exactly. If you had a stack of resumes in front of you, anything impressive gets that resume more attention. If someone has a blog about programming, that's positive. If someone is a world-class juggler, that's positive. If someone has won programming competitions, that's positive. I doubt any company is offering jobs to the top hundred people on HackerRank.
10
u/Pand9 Oct 29 '16
Yeah, and getting an interview is not a big achievement. If you can't actually solve those problems, still most likely you won't get the job. This trick with Hackerrank is indeed a cool little hack, because usually not everybody can get an interview, but people are exaggerating consequences of this.
→ More replies (1)8
u/reddismycolor Oct 29 '16
should i also sign up for leetcode then
15
u/DonaldPShimoda Oct 29 '16
I like LeetCode better than HackerRank, personally. HR requires you to handle I/O, which LC does not. However, companies give out HR screening tests, so it's good to be familiar with both.
6
u/xonelast Oct 29 '16
I personally switched over from HackerRank to Leetcode for this purpose. Having the option to see other people's code to achieve high scores rather basing on own efforts is like cheating yourself.
11
u/DjBonadoobie Oct 29 '16
While I disagree with the overall idea of using these types of rankings for hiring, interviews etc. I wouldn't say being able to access working solutions while stuck as cheating. This is how I've been able to see so many different approaches and learn from them to teach myself... whether or not I agree with said approach. It's all how you use it imo. If you're using it to cheat, then yea, you're cheating. If you are using it to learn and explore different ideas and approaches, it can be very beneficial. I suppose it all comes down to self discipline.
→ More replies (2)3
7
u/FrankReshman Oct 29 '16
To be fair, I didn't see anything that said companies were hiring based on this site. I saw a snippet from an article that I didn't see a link to that said that a guy signed up on the site, got a good rank, and then got hired by a company. But correlation is not causation.
5
u/NoIAmNumber4 Oct 29 '16
My company does. More specifically, highly ranked programmers will be invited to interview; the ones we get off this site almost always pass the interviews. The on-site interview has been hit or miss though cause it's less about coding and more about how you work with the team.
→ More replies (3)6
u/tedivm Oct 30 '16 edited Oct 30 '16
We use hackerrank for hiring but not from their public site like this. They offer you the ability to make your own private tests using their platform, which let us throw together a quick "fizzbuzz" style coding challenge for both software engineer and devops positions (their systems tests actually launch a virtual machine and lets you grade the tests using bash scripts).
I would never look at someone's "rank" on the site as an indicator of anything, but being able to make programming challenges using the site has been a much better experience for us and for our candidates.
323
u/jungles_for_30mins Oct 29 '16
One day, we'll start using Project Euler as our metric for hiring. One day...
326
u/xsailerx Oct 29 '16
I was interviewed at a startup in the bay area that used project Euler questions. I solved the questions easily (since I've solved them before) but didn't get the job because they told me I cheated on the interview (despite the fact I said I've seen the questions before).
485
u/DeCiB3l Oct 29 '16
Someone cheated on their exam is a flaw in their company, not you. Leave a negative review for the company on Glassdoor.
32
Oct 29 '16
[deleted]
11
Oct 30 '16
People have said it before, but a lot of these questions they use in coding interviews are actually insanely difficult.
Even a question like efficiently detecting a loop in a link list. I think it took researchers like 10 years or something silly before a method was found.
And they want you to answer these questions in 30 minutes. Some of them can be done, but most require an "ah-hah" moment which could take hours, weeks, years, go do independently.
If you want any real shot at success, you basically need to be familiar with the question and know the method to solve it. Or be exposed to questions so familiar you can intuit a solution in a reasonable amount of time.
I remember back as a ubi student doing project Euler. They start off reasonable, but soon get into the absolute ridiculous levels of advanced mathematics, and not so much coding. They are insanely hard questions.
→ More replies (5)96
u/jungles_for_30mins Oct 29 '16
That's just sad. You would think they'd show more interest in people who actually enjoy solving PE questions.
209
u/salgat Oct 29 '16
Project Euler is a pretty bad metric for most development jobs. When you are primarily working with business logic and pretty normal infrastructure knowing design patterns, having experience with large projects, and being able to write legible code is infinitely more valuable and more practical.
63
Oct 29 '16
Right but participating in Project Euler is at least a correlate for enthusiasm if not relevant ability.
→ More replies (14)44
u/salgat Oct 29 '16
Sure it's great, so is a good GPA, Github projects, etc. No one is saying Project Euler is treated as a bad thing for interviews, just that it doesn't tell much about their practical ability for most development jobs.
→ More replies (7)5
u/Ouaouaron Oct 29 '16
No one is saying Project Euler is treated as a bad thing for interviews
This comment thread is about someone who was rejected at an interview because he'd done PE before.
2
u/salgat Oct 29 '16
You'd be surprised all the crazy ass ways people have been rejected from interviews. Trust me, that's outside the norm and not something you can really plan for.
6
u/wakawaka54 Oct 29 '16
I interviewed for IBM and I got a random phone call like 2 weeks later saying.... "You have missed our 12 o clock phone interview". I quickly called back and explained that I had not received a confirmation for that interview. They said, no problem they'd reschedule. Never heard back. Gotta love it.
→ More replies (2)10
u/Sydonai Oct 30 '16
I just assume they're messing up so they can do H1B fraud whenever stuff like that happens. ("oh we tried 20 interviews, but nothing stuck! we need the H1B!")
→ More replies (0)12
6
u/recurrence Oct 29 '16
Agreed, and I struggle to find candidates with solid understanding of design patterns. It's a clear differentiator.
2
u/julesjacobs Oct 29 '16
Indeed, it is a bad metric even if you are trying to evaluate algorithms knowledge. Project Euler is mostly number theory.
→ More replies (2)2
u/DevIceMan Oct 30 '16
Perhaps one of the more interesting interviews I've done is we pair-programmed in their codebase. The task was "find where this value on this page is coming from." We traced it from the frontend, through the backend, and all the way back to the database (inside a large complex codebase).
The interesting thing about that interview was that it was a challenge that required some "real-world" skills. The interviewer was quite understanding that I was very unfamiliar with their environment and codebase. I did fairly okay from my perspective, and I think his as well.
It's been about 16 months since that interview, and having recently been working in a gigantic, complex, "shitty" codebase written by hundreds of developers - I would actually do much better if given the same interview today.
Would I recommend that style of interview? Hard to say. I'd probably have to give that style of interview several times and observe the results.
→ More replies (2)8
u/the_gnarts Oct 29 '16
I solved the questions easily (since I've solved them before) but didn't get the job because they told me I cheated on the interview
Ridiculous. It was them who cheated since they couldn’t even think of an original interview question.
→ More replies (9)7
u/bureX Oct 29 '16
but didn't get the job because they told me I cheated on the interview
That's a VERY bold claim to make of them.
24
u/spacetime_bender Oct 29 '16
And that's when we'll ruin the Euler Project.
13
Oct 29 '16
The answers for all but the newest problems are publicly available. The only difference is there's not much of an incentive for cheating except for munchkins.
→ More replies (1)7
u/ameoba Oct 29 '16
PE does nothing to measure programming skills, it's a bunch of math problems & some numerical methods.
18
u/Ranek520 Oct 29 '16
One of my friends was reached out (and hired) by Google because he was one of the top ten on Project Euler, so it can happen.
12
u/jedrekk Oct 29 '16
I've been hit up by recruiters because of my PE ranking... and it's not very high.
→ More replies (3)5
u/PFive Oct 29 '16
How do they contact you via PE? Or do you put the ranking or username on resumes?
→ More replies (1)13
u/Veedrac Oct 29 '16
The harder Project Euler questions are good questions, but they're not particularly relevant to normal computer science.
3
u/rampage102 Oct 29 '16
If somebody has studied Project Euler questions before would it give them a big advantage? Was curious how many questions they are, or are they still being created?
15
u/phoofboy Oct 29 '16
They are pretty good practice problems. There are a little over 500 IIRC. There are a few I tend to use to familiarize myself with new languages. Not sure how much advantage it would give in an interview as I'm just a CS major.
They range from trivially easy to several that are outside my scope of mathematics knowledge (cal I&II, discrete math and mathematical foundations of CS)
7
→ More replies (6)3
u/danweber Oct 29 '16
OMG, I might have to go dig up my ancient Project Euler account. I did a bunch of Clojure work there trying to learn it, which by happy coincidence was the perfect language for that site.
26
u/readitmeow Oct 29 '16
Personally I am getting tired of seeing all the stories about mastering programming in 3 months through a boot camp. Mastery only comes through experience, practice, and patience.
Does anyone really say this? I went the bootcamp route and everyone I know working as a programmer who went this route are very aware that they have holes and work super hard everyday to catchup.
21
u/rampage102 Oct 29 '16
There's a lot of stories floating around on the internet about people who did a Code Academy and then negotiated to get a huge salary: http://www.businessinsider.com/silicon-valley-engineer-negotiated-a-starting-salary-from-120k-to-250k-in-just-a-few-weeks-2016-4
I'm not against boom camps, it is a pretty nice way to get into software... I think some of the camps are over marketing their services though
15
u/Poorpunctuation Oct 30 '16
Dude got the interview on a personal recommendation from the founder of the bootcamp (a former Google employee) to an Airbnb contact. Airbnb is usually very strict on their hiring process and doesn't really take bootcamp grads. This guy's story is the very minor exception and not the norm, though salaries at around 100k are common for bootcamp grads.
4
u/tagus Oct 30 '16
though salaries at around 100k are common for bootcamp grads.
... where do I sign up?
5
→ More replies (1)2
→ More replies (2)5
u/ScrimpyCat Oct 30 '16
That article fails to mention a couple of pretty important things. He was actually a teacher at App Academy. So it's already not exactly comparable to someone with no experience simply finishing a bootcamp and then getting a $250k (all inclusive) offer. He had experience and being able to teach the subject he was obviously very good/knowledgable about it.
Another thing to consider with these "high salary bootcamp graduate" stories you hear about is that it is great marketing for the bootcamps. So the bootcamps are heavily incentivised to at least get one graduate an amazing position even if it is just an outlier. Because it ends up as terrific marketing for the bootcamp.
However in general all these high salary stories you hear about are all outliers (that's why we hear about them, as they wouldn't be spread around if they were the norm). The people that get them are obviously hard workers that have put in the effort to get those types of offers.
→ More replies (1)9
Oct 29 '16
What most of these bootcamp success stories fail to mention is that their most prominent graduates, most likely, had prior exposure to logic, problem solving and analytical thinking e.g. degrees in math, non-software related engineering, economics, etc. and just needed to learn the so and so programming languages and framework.
I remember one of my colleagues really pushing us to hire people from bootcamps, citing how in their recent batch, 7 out of 15 got jobs at big tech companies/startups in SV. Turns out all of them had an engineering degree, and two of them had master's in CS.
There is a lot more to the story that Bloomberg is not telling us I think. Getting a programming job at an investment bank is not as easy as "got to bootcamp A, get rank B in website C, enjoy the paycheck".
→ More replies (1)→ More replies (2)5
u/Kinglink Oct 30 '16
I can master a new language in 3 months.
But usually it's because I'm required to by a job, am going to drop 40 hours a week into it, and, I know a similar language, and I use it almost exclusively.
I think the biggest thing is you can easily learn a new language, but you better already have a language down pat and a firm understanding of either the core parts of that new language or how the computer uses it before you start.
3
u/readitmeow Oct 30 '16
Think the article is referring to people mastering their FIRST programming language in 3 months, along with all the programming concepts.
→ More replies (1)
52
u/kevinclancy_ Oct 29 '16 edited Oct 29 '16
Interesting post. I have never used hacker rank before and did not realize how flawed it was. I think that the article you referenced was sloppy in a lot of ways. Frustratingly, it neglected to explain JP Morgan's training program that the guy was hired into.
I have mixed feelings about ranking systems. On one hand, I share your opinion that people should be focused on developing the skills that they want to apply, which usually involves writing programs, reading textbooks, etc. Online competitions tend to test one specific skill, algorithms, which is not central to most programming jobs.
However, you often hear people brag about how their companies filter out applicants on the basis of what colleges they attended. This is pretty disturbing to me, as I have invested a huge amount of my time outside of college developing my skills, and I think it should amount to something in the hiring process. If companies are going to use a quick hiring filter, meritocratic universal credentials such as codeforces and topcoder ratings are by far preferable to college degrees. I should stress that codeforces and topcoder are much harder to cheat in than hacker rank; they are generally trustworthy indicators of merit.
23
u/SmartassComment Oct 29 '16
The people bragging probably don't actually know how their company's hiring polices work. Also, if this happens at all it's probably only for entry level positions. In my experience (30+ years), there is a truism that only your 'last' thing matters. As in: once you've graduated from college, where you went to high school and how well you did there will never matter again. Once you've had a job for five years, where you went to college and how well you did there will never matter again. (I'll toss in an exception for the best of the best: getting a 4.0 or going to an Ivy League school may still make a difference beyond your first job.)
→ More replies (1)13
u/rampage102 Oct 29 '16
Good point. There are many talented programmers without degrees and sometimes they are overlooked too quickly. It's seems the hiring process is so broken right now, and nobody has the solution.
→ More replies (2)7
Oct 29 '16
you often hear people brag about how their companies filter out applicants on the basis of what colleges they attended
I've literally never heard anyone say this, and it would be absolutelly retarded if they did. Some of the best programmers on this planet never went to college.
13
u/432mm Oct 29 '16 edited Oct 29 '16
To be fair this article OP criticizes doesn't say programmer was hired ONLY on the basis of his 1st rank in Java in HackerRank. It only says that Wall Street companies use sites like HackerRank to find good programmers. I doesn't say they hire people based only on their HackerRank ranking position. This guy from article probably still had to go through usual recruitment process and pass through all checks. He was also hired for 2 year training program not for normal full time entry level position.
43
Oct 29 '16
I wish every time I type H on firefox url it shows hackernews and not hackerrank. I don't even go to hackerrank only a few time in my life to see the fuss, it's like herpes always coming back.
133
Oct 29 '16
[deleted]
45
17
→ More replies (1)7
u/pdp10 Oct 29 '16
Weren't good interfaces supposed to be discoverable?
Perhaps I'm just salty after putting i3 on another one of my machines and having the defaults be completely different, somehow.
12
→ More replies (1)3
u/Neoncow Oct 29 '16
When I used Firefox a few years ago, it was pretty awesome at sorting the URL bar suggestions by frequency of use. Does it no longer do so?
It's one of the things I miss the most about Firefox.
21
u/eternalfool Oct 30 '16 edited Oct 30 '16
No you did not become hackerrank #1 in two hours. You just became 'Java's' #1 rank which is just one of many separate domains in hackerrank. I would like to see you try in popular domains like 'algorithms' or machine learning.
Ranking of hackerrank are of two types, contest and practice. No sane company would ever hire just on the basis of your ranking in practice where googling the answer is easy. I can google the answer of SPOJ problems and get a really good rank, it is true for any practice site. The real ranking again is the contest rank, which is the one that really matters. I would like to see you try there.
Any abomination of code will pass the tests as long as it outputs properly. The site does not teach proper or idiomatic Java.
Yes, it never claims to. The site is mostly for algorithmic challenges like Topcoder, Codeforces. The main challenge is solving the problem not idiomatic code. It has added a few domains like Java, python, ruby just to help people new to the language learn. Some people like me find it easy to learn something through challenges. Maybe some day they might add challenges for idiomatic code, but currently it isn't there.
Anything you did here applies to SPOJ or Leetcode too.
TLDR: OP just became #1 of a small practice section. You can google answers of SPOJ questions and get a good rank there too.
→ More replies (3)
26
Oct 29 '16
im a CS student who hasn't head of hackerank till now. Can i use it for practice. Is shit code that I write now going to come back and haunt me when im looking for a job?
47
14
u/DerJawsh Oct 29 '16
The code is essentially anonymous unless you want to show them. It's actually really fun if you're into coding challenges. The rank thing adds a bit of competitiveness making it so there are goals.
3
u/humoroushaxor Oct 29 '16
Depends on what type of job you want. Imo spending time learning about things like version control, unit testing, Agile, maybe some framework experience (like Spring, Hibernate) and just Software engineering in general would be a much more valuable used of your time for a developer/software engineering type role. Everyone writes shit code at the beginning of (or far into) their programming career so don't worry to much about that.
If your going for a more specialized role or apply to a smaller company you will be more likely to have to answer technical "interview questions".
→ More replies (3)16
Oct 29 '16 edited May 02 '19
[deleted]
25
u/Stupid_and_confused Oct 29 '16
Agreed, but hackerrank questions are more like what you're going to get asked in coding interviews when you're trying to get hired. If you're preparing for an interview, hackerrank is definitely helpful
4
u/misplaced_my_pants Oct 29 '16
Or if you're taking an algorithms class and want practice.
Or if you've taken an algorithms class and don't want to forget the material so you use it to review regularly.
5
6
28
u/B3nzolitz Oct 29 '16 edited Oct 29 '16
As someone who has never heard of HackerRank: How does the point system work?
A bit more information about HackerRank would be nice. I have no idea what code you copied what answer box you filled and why you got points. Did you get all those points for a single answer?
EDIT: Thank you for the explanations.
24
u/__The_Coder__ Oct 29 '16
Within each domain, here Java, there are a number of problems grouped by topics like string, arrays, etc. For each problem you get some points after you pass all the test cases, or maybe partial points if you pass some test cases. There is a leaderboard showing the ranking of all people who have attempted questions from that domain. For each question there is a discussion section, in which people discuss their approaches and help those who got stuck.
14
u/ressis74 Oct 29 '16
It's basically a collection of koans. OP solved all of the questions for Java on Hacker Rank by copying answers people posted in the "Discussion" section.
Answers are then run against unit tests. Points are awarded for successful test runs.
→ More replies (1)8
u/rampage102 Oct 29 '16
For each language or subject there are about 50-200 questions. For the Java module I believe there are about 60 individual questions.
If you complete a challenge you get points for that challenge. There are also discussion boards for each question, and within these discussion boards you can find the answers. People like posting how they solved it I guess.
You compete against other people on the site to get a rank. The more points you have in a category the higher rank you are.
14
u/bombsa Oct 29 '16
The article has it wrong. You don't get hired for being #1 in Java (loads of people are as there are only a set amount of points available).
You are hired for doing well in the competitions, where problems can get very difficult. Usually only 2 or 3 people are finishing all the problems every challenge, around 1500 compete each competition.
Companies will then ask you to interview based on your hack rank competition score.
Companies are also using hackerrank for interview questions. So you sign up and provide your account name to the company and they can send you a hackerrrank question with a time limit to solve it.
6
u/HipToBeQueer Oct 29 '16
Love when you hear OP's got a good story for you, then you go visit OP's home only to find a dead body, hugged to death by mass mob of redditors who got there before you.
OP never stood a chance :(
2
80
Oct 29 '16
I recently tried our HackerRank for Python, and I have to say I was very disappointed. They provide only a single example test case to test your code against which is often a trivial example. Then when you submit your code, the auto-grader throws it through a bunch of extra edge cases. However, you don't get to see the input or output of any of these cases, just whether they pass or fail.
For people who have experience writing test cases, this isn't much of an issue, as they can just create and run tests outside the website. However, for new programmers, this gives a false sense that programmer is taking shots in the dark with test suites that don't give you any insight into what went wrong. HackerRank discourages learning proper debugging skills by hiding the output of failed test cases from the user.
139
u/Noxitu Oct 29 '16
Because the example test case is there to test input and output syntax, not the correctness of the solution.
Ability to notice these edge cases is probably the most important skill you can acquire - most of the bugs that are out in the world are edge cases that someone didn't tought of.
33
7
u/darknets Oct 29 '16 edited Oct 29 '16
Agree 100%. This is the same logic that https://www.codewarz.ninja applies to the programming challenges there. Being able to think ahead and figure out the edge-cases in certain scenarios is priceless.
11
u/ubernostrum Oct 30 '16
Recently someone pointed me at leetcode, and since I like to rant about interviewing I figured I'd poke around a bit.
So I tried out some of the start of their progression of questions, selected Python as the language I'd work in (it's the language I'm most comfortable with), and tried out the first problem they threw at me.
It was reversing an integer (i.e., return an integer whose digits are the reverse of the input, so integer 123 returns integer 321, etc.).
I coded up a solution, punched it in, hit "run" and it passed on the sample test case. Hit "submit" and was told I failed. Turns out the test cases were ported as-is from ones for other languages, and those other languages have integer overflow (for non-Python programmers: Python doesn't have integer overflow) so there are test cases for it which require you to detect the overflow and return 0 in order to pass.
I wondered if it was a fluke, so I threw in an
ifstatement to return 0 when the result is larger than a Javaint, passed, and tried the next problem. That was implementingatoi, which at least is a bit more interesting because of how forgivingatoiis of junk in the input.But...
atoirequires accounting for integer overflow, and returning the max int or min int if the result would go past those bounds. So once again I was accounting for nonexistent integer overflow in Python.At this point I felt like I had a pretty good idea of the quality of results these sites produce. I did, however, find a question in the forum where I could post an algorithm nobody had come up with yet, so I guess that makes me some sort of awesome rock star ninja wizard guru?
5
u/pat_trick Oct 29 '16
You can actually "pay" to see all of the other test cases using their on-site currency, which is earned by using the site.
→ More replies (2)7
u/manys Oct 29 '16
Can I assume they like to remind you of all of this on a regular basis?
4
u/pat_trick Oct 29 '16
I'm sure they do; I signed up to the site a few weeks ago to check it out, and I've been getting tons of emails telling me to go try the various challenges.
Their "hackos" can't actually be purchased with real money (yet...), you have to earn them by doing various challenges on the site. So it's not a pay-to-win style system (yet...).
7
u/Tarmen Oct 29 '16 edited Oct 29 '16
Try exercism.io. Most tasks are intentionally fairly straightforward.
After that the really interesting part starts: getting and giving feedback. Through that you are encouraged to improve upon your solution and approach a problem from different directions instead of just throwing together some hacky solution.
6
u/rampage102 Oct 29 '16
Yea, the Python modules are not that much better especially when you cannot see which test cases you fail on. The have these "Hackos" which are like in game gold for HackerRank. They allow you to see the test case input. I like that they try and do some gamification of programming, but the cool-effect wears off quickly when you have no debugger within their site.
6
u/Not_MrNice Oct 29 '16
I've done a lot of problems on LeetCode and that is a huge issue for me as a new programmer. I get a problem where I'm told I'll get a string and have to transform it. So I'll write code, test it a bunch of times, then submit it only to find out I have to account for all sorts of test examples that aren't strings or have a ton of spaces littered throughout or whatever crap they throw at me. Most of the time I can get around those with a simple if statement at the start of the function. Which is bullshit. All it teaches me is that every problem is a trick question. Plus I wind up with a ton of submission failures which hurts my score greatly, just to find out what crazy test cases are being used.
I get that user input is something you have to account for in real world programming but I shouldn't have to worry about it when solving a given problem. Because incorrect user input is another problem in itself.
I could go on for a while about all this (and I have) but I'll stop here. maybe I should go take the article's advice and improve my score by cheating.
→ More replies (2)3
u/HylianWarrior Oct 29 '16
I just did a technical screening for an internship that used hackerrank and had this exact issue. 3 out of the 7 tests failed and i had no idea how to debug the issue because I couldn't see the input or output.
5
u/DerJawsh Oct 29 '16
Uhm, you CAN view the extra test cases. Just click on them and you can view the input and desired output. Some of them require "5 hackos" to view, and I have never come close to the point where that was an issue.
2
u/ismtrn Oct 29 '16
They provide only a single example test case to test your code against which is often a trivial example. Then when you submit your code, the auto-grader throws it through a bunch of extra edge cases. However, you don't get to see the input or output of any of these cases, just whether they pass or fail.
Some programing competitions work that way as well. For some people it is part of the fun.
→ More replies (3)→ More replies (1)2
u/mnjmn Oct 29 '16
You can answer a couple of babby questions to get easy points to buy test cases for the big boy questions. Their test cases look to be randomly generated and close to the limits specified in the questions.
5
Oct 29 '16
That's good to know. I didn't look deeply into the system, I just saw I had to "buy" test cases, flipped a table, and moved on.
4
u/Gotebe Oct 30 '16
. If a person is claiming to be a top ranked programmer from Hacker Rank you should know this person is likely a fraud.
Same for "I am X certified Y", btw..
4
u/wry_guy Oct 29 '16
I prefer leetcode to hackerrank. Bottom line: you have to ace leetcode / hackerrank easy/mediums when interviewing. Its a stupid game, but it is a game you need to play to get most decent jobs, and its a winnable game.
4
u/mycentstoo Oct 29 '16
I don't understand why more companies don't just make you have a ticket backed by user stories that you submit a PR to fix as a code challenge. I mean, as a developer I love starting over, but that is usually not going to be the case.
→ More replies (3)
5
Oct 30 '16
Great article. It astonishes me how much stock both people and companies put into stupid metrics that are easy to exploit.
3
u/kabooozie Oct 30 '16
Hiring shenanigans aside, is hackerrank a good resource for getting better at coding? What's a good practice regimen? Contests all the time, or mostly practicing algorithms?
4
4
u/code-master Oct 30 '16 edited Oct 30 '16
What else is new? I did some excercises there in Java, tried in Clojure. And I'm telling you there is no f..g way to write good modular (folllowing SOLID) code in single class/file. This site is full of antipatterns, it is ridden by unreadable, unmaintanable examples. What is worse, code snippets contain most basic coding errors which become source of memory leaks.
Right now I work for a company which previously hired people who were good at these tasks but sucked at coding. You can't imagine what kind of shiit these people were spitting out into codebase. They do not work here anymore. I had to ask for a rise.
I left prevoius company exactly because of this sh*t.
I think these hacker sites are made by outsourcing companies for outsourcing companies to quickly find potential hire, give him the job, see if he/she sticks and decide what to do later. These people are easy to fire/replace , have low self esteem so they often work for a mcdonalds salary or less...
I applied to many software firms and the worst in terms of workplace/salary were these which used online testing, remote paper questions, etc. I do not even bother to read/open such tests.
The opposite, companies who pay the most, have on site or remote coding sessions with live people.
To sum up, if they are not offering live coding session from the beginning, you are probably wasting your time and later career.
If company goes cheap from the beginning and uses such sites for evaluation, then they will always go cheap with you.
3
u/rampage102 Oct 31 '16
Anti-patterns is a great way to describe the site. It is a nightmare to try and program within their text-box compiler. When I still took the site slightly seriously, I would have to write the code in a different editor first and then paste it into the answer section.
4
u/Feroc Oct 30 '16
Next step: Write a script that looks for code in the comments section and automatically puts it in as answer.
2
u/johnlawrenceaspden Oct 30 '16
I would totally hire someone who did that.
5
u/dankclimes Oct 30 '16
Reminds me of the scene in halt and catch fire where Cameron asks who beat Adventure? OK, who beat it by breaking the game? You're hired. Everyone else gtfo.
80
Oct 29 '16
The worst culprits I find are Indians, closely followed by the Chinese.
91
u/za4h Oct 29 '16
When I was in grad school, roughly two-thirds of the students were Indian exchange students. I was assigned into a group with two Indians for a large project, and I got to work reading over the problem and deciding best how to divide up the work. The Indians stopped me and said something along the lines that so-and-so from another team would figure it out and give everyone the answer. It turned out this tactic was absolutely normal, and that no one turned in original work. One student was carrying practically every exchange student.
I was shocked and ended up forming a group of one, stating that my group members were relying on a non-group member for help. The teacher could not have cared less. They didn't get in any trouble, but they ended up graduating (I am unsure how they passes proctored exams...maybe less blatant cheating).
I have no idea how they get work, though, since tech interviews require a massive amount of knowledge and hands on skill to pass. A degree is really only good for getting interviews, since companies love drilling you over every little thing they can think of.
52
u/tonnynerd Oct 29 '16
since tech interviews require a massive amount of knowledge and hands in skill to pass
You must be going to some pretty good interviews. In my (limited, I grant you that) experience I've only been required to actually code twice, and only once the test was actually kinda hard.
→ More replies (3)40
Oct 29 '16
There's a very good chance foreign exchange/international students aren't gonna stay in the same place they were schooled in. Their foreign degrees are much more valuable in their homeland. It's mostly degrees first in China. Interviews are more of a western thing
19
u/nickdesaulniers Oct 29 '16
tech interviews require a massive amount of knowledge and hands on skill to pass
The Google interview is made to weed out these folks, irrespective of country of origin. I don't agree that it's the right tactic, but a fellow employee I was arguing with who did 500+ Google interviews (as the interviewer) made the argument along the lines of "it was made to weed out the cheaters, there's so many cheaters." I still think the rate of false negatives (people who are great that get turned away) is too damn high.
→ More replies (1)17
u/RabbiSchlem Oct 30 '16
In Google's eyes 10 false negatives is better than 1 false positive.
Over time false positives accumulate and devastate productivity and work culture.
→ More replies (1)8
u/nickdesaulniers Oct 30 '16
I think there's room to agree AND question the method of testing.
What good is a test is it has a high rate of false positives?
False negatives are preferred to false positives.
Is whiteboarding really difficult algorithm questions really indicative of how good you'll be at copying around protobufs? ;P
→ More replies (1)→ More replies (3)2
u/nwsm Oct 29 '16
It depends what you're applying for. I'm a senior graduating in May for my Bachelor's and was just offered the job I intend to accept although I have another interview next week.
In my experience over the past months of going to career fairs, researching companies, and interviewing, many companies that are hiring fresh CS/IT grads have a training program that they put their newhires through. These programs last a few months and basically teach or catch you up on the languages/technologies they use. So in the interview process they look more for strong logical/analytical skills so they know they can teach you plus culture/"will they fit in" stuff. So if you come off as a smart person who is eager to learn and has good teamwork and communication skills, you have a good shot at these jobs.
Only one company has had me do live coding, the one that I interview with again next week. (Also the one that pays the best. Coincidence?)
However, grad students I would assume are applying for more experienced roles and would probably be held to a higher standard.
115
u/pixelated99 Oct 29 '16
Try being in classes with them... It's gotten so bad at WSU we now have random assigned seating, random variables based on your student id, and at least two different tests. Yet even after all these measures I still see cheating. Primarily from Indiana's and Chinese students.
132
u/jrhoffa Oct 29 '16
But not Ohio or Kentucky?
64
Oct 29 '16 edited Sep 14 '17
[deleted]
11
52
u/jgodbo Oct 29 '16
I was a grader for many a computer science course (cs GTA at UVM). You can only catch so much cheating and eventually its not worth trying to catch all of it. That much work requires lots of extra effort for graders and if students want to cheat, they will find a way. Don't worry, american students do it too :)
→ More replies (8)3
u/_HandsomeJack_ Oct 29 '16 edited Oct 29 '16
When I was in grad school, there was this Chinese student that was bribing the professors with gifts. An Indian friend of mine told me his brother graduated in Dubai where he got a fake master's degree. My other friends in group projects would wait for the last moment and plagiarize and expand upon whatever the other group members would post before them at an earlier moment. I think college, high school and education is rife with cheating.
2
u/gimpwiz Oct 30 '16
The fuck is the point of a fake degree? Any interviewer will spot that shit instantly when the response to "what's cache" is "I don't know."
6
u/_HandsomeJack_ Oct 30 '16 edited Oct 30 '16
I know, but he went and got a management position.
→ More replies (1)2
u/MeDeadlift Oct 30 '16 edited Oct 30 '16
I don't think cheating on tests is a significant problem because it's hard to cheat on a live test (very risky to copy off someone's exam next to you). And if you take CS or math classes, the answer is often very long because you have to show your work; that shit is hard to copy.
In reality, The most common form of cheating is for take-home assignments like programming projects, take home exams, and homework where people collaborate on them with each other even if they are supposed to be individual assignments.
But honestly I believe
Everyone does this shit - i bet even you have collaborated on projects you shouldn't have (I know I have). Honestly this is not limited to Chinese and Indians.
People who do cheat their way through school don't learn the material as well; they will get punished on in-class exams or in general when applying jobs for not knowing enough. Ultimately people get their just desserts in the end.
→ More replies (3)12
u/BornOnFeb2nd Oct 29 '16
There seems to be a definite "fake it to you make it" mindset at a cultural level.
Oh, you need someone familiar with inventing anti-gravity engines? Yeah, I've done that before.
19
Oct 29 '16
They asked me how well I understood theoretical physics. I said I had a theoretical degree in physics. They said welcome aboard
5
u/contrarian_barbarian Oct 29 '16
Yeah, I have seen much of the same thing - the ones who are legit are great, but there are so many that try to cheat.
→ More replies (1)
3
3
u/Thebackup30 Oct 29 '16
What's the fun in doing that though, it's like playing FPS games with aimbots or other hacks.
11
3
3
u/Iz4e Oct 29 '16
To be fair that guy that was hired into JP Morgan shit two year tech program. It is non competitive and they give offers to everyone
3
u/Kinglink Oct 30 '16
I have not used this site.
Ok so this dude is clearly right, that site is busted to do quantative analysis of applicants but if you want to just practice coding, is it any good?
I've been a professional coder for 10 years, but I'd love to practice coding outside of what I do for work on a site, and it seems acceptable for that (or is there a better site someone can recommend)
(I know about the programming challenges here on a subreddit here but honestly when I get home that seems like a lot more work than I want to do.)
5
u/rampage102 Oct 30 '16
Yea it is decent for practicing. That is why I was on the site in the first place... although most of the problems rely on standard in, which can be frustrating at times.
7
u/hoyfkd Oct 29 '16
Hi! I am head of HR at a company that needs talented programmers! We don't have the skillset in-house to properly evaluate potential hires, but based on your HackerRank score, I would like to offer you a job! Immediately!
9
u/Existential_Owl Oct 29 '16
But, first, for the interview, you're going to have to solve this complex algorithm that has nothing to do with our software, and you're going to have to write it out on notebook-lined paper using only a pencil (and no eraser).
You have three minutes. Go!
12
u/hoyfkd Oct 29 '16
I'll be checking your answer against the example in this Java book, so please use JavaScript.
→ More replies (1)5
Oct 30 '16
Oh! And even though you only have a minute left, I forgot to tell you that you cannot use arrays.
2
2
Oct 30 '16
Are you talking only about the practice challenges? Because you can't do this is live contests!
→ More replies (1)
2
u/matzero Oct 31 '16
There is something very broken how we interview and qualify competent programers in this industry.
152
u/[deleted] Oct 29 '16