The Great Web Developer Hiring Experiment

Get yourself a snack and a drink, this is a long thread that has been 2 years in the making. I have nearly 40 posts prepared.

BACKGROUND: I live in Malaysia. The law here states that I can only hire locals. To hire non-Malaysians, I need a "foreigner-hiring" license, which costs RM1,000,000 (about USD$250,000). This is an important piece of info, in case you later ask "why are all the resumes from Malaysians?" or "why not hire someone from Russia or India?"

Malaysia is a third-world country, but it is one of the much, MUCH better third-world countries, with a healthy economy and a solid educational system. Unfortunately, while this educational system is producing fresh grads that do well in almost all other aspects of life, it is failing miserably when it comes to programming. The FizzBuzz experiment, which states that the overwhelming majority of people applying for programming jobs do not know how to program, holds true here as it does everywhere.

In this thread, we are going to see just how BAD the situation is in the programming world. I am going to post some sample resumes that I received from applicants, some sample code snippets from the interviews, and my 2-year-experience as a recruiter/interviewer.

It is my hope that you find this helpful. Or amusing. Probably both.

So I needed a web developer. Tasks that need to get done range from the simple "here is a design, here are the assets, please turn these into a web page using nothing more than HTML and CSS" to the more complex "the site needs to get data from this database, check if the data conforms to x/y/z criteria, selectively displays certain data to certain visitors based on geolocation" etc. I already have a senior developer who can handle complex tasks, but it is only *one* developer. Adding a second developer of high skill means more complex work gets done faster. Adding a second developer of low skill means that the simple tasks get done faster, freeing up my senior developer to focus on the complex stuff.
---
>I am self-motivation

I was ready to hire a web developer, and that web developer can be of ANY skill level, as long as it is above zero. Yes, _my_ only two criteria are:
1- A web developer
2- Of non-zero skill level
There is a third criteria, but it was not my own: It was imposed by the government.
3- Must be a Malaysian citizen
This third criteria is something I can remove in the future, once the company makes enough $$$ to apply for the foreigner-hiring license. It will come into play later, because I discovered that "reading the job description" is not an important thing for many people applying for the job. A significant number of non-Malaysians paid no attention to what I put on the job ad
>SORRY WE CANNOT LEGALLY HIRE FOREIGNERS
>THIS JOB IS FOR MALAYSIAN CITIZENS ONLY
and applied anyway.
---
>Can speaks and written in Bahasa Malaysia and English

My first attempt at hiring a new webdev in ~January 2016 was a total disaster. About 50 people applied, and I found that approx 10 of them seemed to have a decent resume. I called all 10 for a face-to-face interview, and they all failed that interview. And not just failed, but failed hard! Several of those candidates would not even attempt to write a line of code on a piece of paper. It was not a case of
>This is the code that I wrote on this paper, but it may have errors
No. It was
>Yes, I have a paper and pen in my hands, but I do not know what to do next. You have asked me for two lines of code, but I have no idea what that means.
There are candidates who could not write down *anything* on a piece of paper! Not bad code, not pseudocode: Just a blank!
---
>Linkedin URL

I realized that I made a mistake in asking candidates to come for face-to-face interviews directly. I should have done short (15-20 minute) preliminary interviews on the phone first! Since FizzBuzz was too well-known by then, I chose different questions to ask in the phone interview:
1- Count down from 700 to 200 in decrements of 13
2- Find all the odd numbers between 0 and 100
3- Sum all the integers between x and y, assuming y is greater than x
If you are thinking that both of these are significantly easier than FizzBuzz and are therefore useless at filtering candidates... read on!
---
>Unparalleled manipulator of the BlueJ

One year later in January 2017, I was ready for the second round of interviews. This time, there were around a hundred candidates, of whom only 3 or 4 could answer the simple questions in the phone interview. In the face-to-face interviews, I would ask the same programming questions that I asked in the phone interview, plus additional questions like:

1- Show the 12x12 multiplication table
2- Make a standard deck of cards. Shuffle the deck, and draw two cards at random. Display the two cards. (this is my hiring question)

All of the candidates in the face-to-face interview failed when I gave them the easy phone-questions, and none of them got to the hiring question. One of them was only a borderline failure. Since I was quite desperate at the time, I decided to give that fellow a try. He left after about 4 months of trying, and changed careers from programming to business.
---
>Born on the 1th of March, this candidate is a fast leaner

This resume is honestly sad wtf

I learned a lesson from my two experiences. For my third attempt, I decided that in addition to the phone interview, the candidate must pass the face-to-face interview as well. And since I was already two-years late, this time I will keep trying and trying until I find my webdev.
---
>No aspect of this resume can be salvaged.

It gets worse. Much worse. These are just the resumes! Wait till you see the code!

Now we come to mid-January, 2018. I posted the job ad on LinkedIn, Jobstreet, "Skoots", Facebook, upwork, blog, twitter. We even paid for Google ads so that our job ad can appear to Malaysians searching for a web dev job. I also set aside all other work and focused exclusively on finding a good candidate. It took about a month in total (mid Jan to mid Feb) before a suitable candidate was found. Let us take a look and see what I received in that one month.
---
>Formatting R' Us

FIRST PHASE: FILTERING THE APPLICANTS

More than 160 candidates applied, as you can see in the pic. That is a lot of candidates! More than the previous two rounds, combined. It is here that I need to stress on something that many applicants do not seem to know about: The 5-second-test.

If you care enough to Google it, you can get the info in detail. If you want the tl;dr, a recruiter typically scans your resume for 5 seconds, before deciding to put you in the "let me reread this" pile or the "trash" pile. How big is the trash pile? About 90%.

As difficult as it might be to stomach, this is the harsh unadorned truth: Your resume has 5 seconds to tell the recruiter: "Do not trash me." Those of you who send 8-page resumes, or who hide the skills section in small font on the bottom of the second page... yeah, you need to redo your resume. Your skillset needs to be front and centre, in BIG BOLD letters, larger and more prominent than anything else on the resume.

Why?

Because I am a guy with a small budget, in a small country, recruiting a webdev for a small company in a small low-population city, and I still get 160+ applicants. A guy with a bigger budget in a bigger country recruiting for a bigger company in a big city is going to easily get 5000 applicants. If they take just ONE minute to read each resume, that is more than 80 hours of work, an entire week gone!

If there is only one lesson that I can get out to all those who are looking for a job and are sending resumes, it is this: Please makes sure that your resume passes the 5-second-test.
---
>All these resumes, but with me, you paused.

THE GREAT FILTERING

Now let us take a look at our 160+ candidates who applied. These are the statistics of this round , but the percentage breakdown is about the same in the previous rounds.
STARTING POINT: 160+ candidates

-100 Either non-IT non-programmers, or non-Malaysians
--About 80% were people who had careers as designers, chefs, cleaners, photographers, and so on. The other 20% were non-Malaysians, and I cannot legally hire non-Malaysians. I prefer to hire programmers for programming jobs, not chefs. I also like to hire people who can read, and I had "MALAYSIAN CITIZENS ONLY" more than once in the job ad.

-30 had no experience in programming
--These are people who were from CS/IT, but had zero experience, no portfolio, no programming projects, no internships, no "I know Java well" or anything similar. Some were not fresh grads, but had a few years of experience in completely unrelated fields: Worked as a cashier, a kindergarten teacher, a delivery guy for a pizzeria, etc.

-5 did not pick up the phone the first time I called
--I made sure to call a minimum of 3 times: Morning, afternoon, and the next day. Then I move on.

-5 did not pick up the phone the second time I called
--So I call, thank the candidate for applying for the job, and ask when is a good time to have a preliminary phone interview. I always (ALWAYS) make sure that the candidate chooses the date and the time. When the time comes and I call, some candidates do not pick up the phone. I usually call at [time], then again at [time+15m], and a third and final time at [time+45m]. Again, if they do not pick three times, I move on.

BODY COUNT: 140/160 did not make it to the phone interview. Yeah, out of 160 candidates, only 20 made it to the _phone_ interview.

In other words: If your resume is relevant to the job, and you pick up the phone, and ABSOLUTELY NOTHING ELSE, you are in the top 15%. Congratulations.
---
>Why would THIS guy apply to a webdev position?

SECOND PHASE: THE PHONE INTERVIEW

So we have killed 140 people out of the original 160, and have 20 left. What extraordinary powers did these special 20 possess? Some programming experience, and the ability to pick the phone. That is it. Let us see what sort of devilish questions we have prepared for the hell-on-earth ultra-reaper death-to-all-those-with-sub-200-IQ phone interview.

1- Count down from 700 to 200 in decrements of 13
2- Find all the odd numbers between 0 and 100
3- Sum all the integers between x and y, assuming y is greater than x

I typically ask one of these questions on the phone, and save the other two for the face-to-face. And the results?

STARTING POINT: 20 candidates

-18 people could not answer "count down from 700 to 200 in decrements of 13" or "find all the odd numbers between 0-100"
-2 could

BODY COUNT: 18/20 did not make it past "find all the odd numbers between 0-100".

Two, and only two, from an initial 160+ applicants, can find the odd numbers between 0-100, in a phone interview.

Two.
---
>As an exercise, highlight the portion that was copy/pasted. Now read everything else.

THIRD PHASE: THE FACE-TO-FACE INTERVIEW (candidate A)

Alas, there is no such thing as a "perfect phone interview". I can only ask questions, and make assumptions about the candidate based on their answers. If I ask what time they would like to have the interview, and I call at that time and they do not pick up, I assume they are in the bathroom. That is why I call again after 15 and 45 minutes. If they do not pick up 3 times, I assume they are not interested.

If I ask "find the odd numbers between 0-100", and they answer "it is impossible!", I assume they are not very good programmers. If they can answer, I assume that they are "not bad", and ask them to come in for a face-to-face interview, to see if they are just "not bad" and nothing else, or if they are actually "worth hiring".

Unfortunately, I discovered a flaw in this logic. There is a second meaning to being able to answer my questions on the phone: The candidate can Google really well, and read in a very natural voice.

You see, when I ask "find the odd numbers", and I hear typing, followed by a voice that is clearly reading, I assume they googled it. So I ask: "In your code, line 3, what does that mean?" That usually causes the candidate to stop functioning. In 99% of the cases, simply asking the candidate the meaning of their code is enough... but 99% is not 100%.

(to be continued)
---
>The original pic

THIRD PHASE: THE FACE-TO-FACE INTERVIEW (candidate A, continued)

This particular candidate gave me perfect code, and was able to explain it. Cool. I invited the candidate to the face-to-face interview, where I asked the following KILLER DEATHMURDER questions:

-Count down from 700 to 200 in decrements of 13
-Show the 12x12 multiplication table

Those of you who are observant will notice that these two questions are _easier_ than finding the odd numbers.

So how did the first candidate answer?

Pic related.

See that one line aided by Google? The candidate asked, more than once, if they can use the phone for help. I said no, but at one point I turned away from the candidate for about 5 seconds, to find the phone out and google-search in progress when I turned back. I politely asked for the phone to be put away, and later noted that the sole correct line of code was written with Google's aid.

BODY COUNT: 1/2 candidates could not answer "count down from 700 to 200 in decrements of 13".
---
>What happens when you cheat the phone interview

THIRD PHASE: THE FACE-TO-FACE INTERVIEW (candidate B)

With the second candidate, things were much easier. I asked:

-Count down from 700 to 200 in decrements of 13
-Show the 12x12 multiplication table
-Sum all the integers from x to y, assuming y is greater than x.

Since the candidate answered all of these with ease, I moved on to...

The Hiring Question.

-Make a standard deck of cards (52, or 13x4 cards). Shuffle the deck. Randomly pick and display two cards.

This question combines assignment, loops, arrays, randomization, and logic. Trivial for an actual programmer with a few minutes to spare? Yes. But all the complicated real-job work that I need to get done will be, at most, at a similar level of complexity.

Second candidate took a few minutes to answer "shuffle a deck of cards", then asked: "What next?"

I said: You are hired.
---
>Always loking forward.

So I finally, FINALLY, had a suitable candidate. That candidate was ready to join, and the joining date was set for March 1st. My webdev journey was over, hopefully. Let us take a look at some statistics.

HIRING DATA SUMMARY:

The percentages are (roughly) the same for all three rounds of interviewing, which is a total of more than 250 people.

-80% of applicants have no related skills or experience, or are illegal to hire
-5% do not pick up calls or show up for the interview
-14% cannot complete the most basic of job-related tasks
-1% gets hired

Now we can look back at FizzBuzz, which states that out of every 200 applicants to programming jobs, 199 have absolutely ZERO programming skill. As we can clearly see, this holds true for me as well: Only 1 out of 260+ applicants was worthy of hiring.

The rest were mostly... well... look at pic related.
---
>Paramedic masseuses make the best webdevs.

This is the last of the resumes that I am going to share for now. After this, we will look at some code sample, and then we will take a look at the conclusion of this 2-year-long experiment.

Now 80% of the candidates who applied, got rejected on the basis of the resume alone. Yeah, 4-out-of-5. So if you are thinking: "My resume is not that good, but it will do", then you are doing yourself a disservice. Resume writing is a long topic that deserves its own thread, so I will just summarize a few points here:

-Make it one page
-Put your job-relevant skills front and centre, in BIG BOLD FONT, so that it is the first thing that the recruiters eyes see
-Keep the formatting and graphics simple.
-Remove all non-relevant info. This is a resume, not a CV
-Go easy on the personal details. Your name and contact info are important. In some countries (like Malaysia) citizenship is also important. Almost all other personal information is not.

As an example of what NOT to do, take a look at pic related. This resume keeps the formatting simple, but it fails all other criteria. It also takes the prize for "Most Packed with Useless Information". I know the candidates age, the configuration of the candidate's genitalia, their height and weight, their race and religion... and none of that is important to the job. The objectives section lists no objectives. The professional skills section lists no professional skills. After reading this resume, I can only say that the candidate did "logistics" at some place, and is now working for a "car booster", which sounds highly illegal.

I have one other resume that I will post at the end of this thread. Keep an eye out for it.

>and later noted that the sole correct line of code was written with Google's aid.
So does your office not have an internet connection?

I find it extremely hard to believe that you are an "employer" and require a web dev and you've been sitting on your ass looking for the RIGHT GUY to come in for over 2 years.
Fuck off, you STUPID south east asian jew.
Nobody fucking likes you and you have to give people free games in order to justify your trip.

Let us take a look at some code samples, shall we?

We all know of FizzBuzz, the experiment that says that 99.5% cannot program at all. In some cases, the candidate is incapable of producing any code whatsoever, but this is rare. In most cases, the candidates understand that there is something called a "variable", and that there are things called "for loops" or "while loops", and that some languages require semicolons at the end of some lines. If you asked:
>Make a loop that goes from 0 to 10
they could probably do it, because they did that in class. If you asked:
>Make a loop that goes from 700 to 200 in decrements of 13
they cannot do it.

Both of these loops have exactly the same level of complexity, but the difference in candidate response highlights the issue: 99.5% of the candidates have no problem solving skills. They do not understand that a loop is a tool. They do not understand that you can combine two or three simple concepts together to solve programming challenges. They are incapable of original thought, and thus they divide all questions in the world into two categories:
-Questions that have Googleable answers
-Questions that cannot be solved.

Count from 0 to 10 in increments of 1 is Googleable.
Count from 700 to 200 in decrements of 13 is not.

As such, for the vast majority of candidates, "count from 700 to 200 in decrements of 13" is on the same level of complexity as "write a program to launch a space shuttle into space, and bring it back".

>This was from a face-to-face interview. The black line separates two distinct attempts at solving this question. Candidate had 5 years of programming experience.

Common issues faced by candidates:

-Inability to produce any code (whatsoever)
-Assignment (declaration, initialization, assignment vs comparison)
-Logic
-Inability to carry out simple instructions
-Inefficiency
-Being unprepared for the interview

You will see these issues manifest themselves in various degrees of severity, as we go through the candidates' code.

Take a look at this example. Candidate clearly knows about loops, and is aware of the modulus operator. This is a good start... relatively speaking. Unfortunately, the candidate does not seem to know how to use the modulus operator. Beyond that, the candidate expects the "result" variable to work by magic. The candidate did not know the difference between assignment and comparison.

This sort of candidate can be salvaged by good mentor, probably in a moderate amount of time. This is not a case of "candidate is dumb" but a case of "this candidate's teacher failed miserably."

If you need internet to answer "count down from 700 to 200", I do not want to employ you.

Both of these examples are self-explanatory. For the second candidate, the spoken words were
>One, three, five, dot dot dot, ninety-nine.

Such candidates cannot carry out simple instructions. Neither of these candidates can be salvaged. First candidate needs to learn to solve the problems that are given, not problems that are imagined. Second candidate needs to change career.

This was a genuine puzzler.

This candidate was quite stubborn, and refused to explain their code. I usually let the candidate answer in whatever language they prefer, but that was a mistake in this case. Is this PHP? Is it _valid_ PHP? Does it work? Maybe the second answer works. I do not know, honestly.

>So I needed a web developer.
what languages/frameworks exactly would you want a fully qualified applicant to be proficient in? (I'll take html/css as a given)

>Malaysia is a third-world country, but it is one of the much, MUCH better third-world countries, with a healthy economy and a solid educational system.
No it's not. It's a third world shithole. And if you're going to only offer third world shithole pay for a third world shithole job, you're going to only get third world shithole applicants. All the smart people from there are already aboard or working for an international company.
So the only applicants you're going to get are LITERALLY the bottom of the barrel. And you're somehow criticizing the quality of them, when you're the one at fault for not offering an attractive enough position? Holy shit you are absolutely retarded.

>WAHH WAHH WHY CANT I HIRE CS PHDS TO WORK AT MY DEAD END WEBDEV JOB FOR 20 CENTS A DAY
Fuck off you retarded attentionwhoring tripfaggot.

A recurring theme is to declare or initialize a variable inside a loop, when the value of the variable is non-temporary. Many candidates do not know what assignment of data is. They do not understand the difference between declaring, initializing, assigning data, and comparison.

I'm going to stay for this but only because Falcon is my nigga

Ah, the classic. I think this is Sup Forums's favourite! This bit of code has no syntax errors, but it has as many logic errors as it has lines! Candidate's understanding of "double" makes it a gem!

Angular, and a bit of database knowledge. I am mostly looking for the ability to piece together two or three lines of functional code.

There were a couple of very rare cases where I asked the "make a deck of cards and shuffle" it question on the phone. In this case, I regretted it. Strongly. You see that cards array? I watched it get typed live, with no copy/pasting.

Another case of serious inefficiency. I asked this particular candidate if they could not think of a more efficient way to find odd numbers, but they said that this is the best that they can come up with on a short notice.

>Make a standard deck of cards (52, or 13x4 cards). Shuffle the deck. Randomly pick and display two cards.

What the fuck are you even asking? Do you want a poker card deck (4 houses) or is 1-52 in an array sufficient enough? You're actually retarded if you think others can read your mind.
In any case, this is way too difficult and way past anything that a lowly webdev needs.

The final code sample. This one took the candidate nearly 30 minutes to write, and seriously tested my patience as I watched it live. I kept the peace, but it was difficult.

The first two variable declaration sections and first loop are an attempt to create a deck, with three (count 'em) different layers of redundancy. The second loop is an attempt to shuffle the array, because there is a math.random() in there and that is the only possible explanation. The final loop... is... something, I think. What _is_ it? I tried to figure out the candidate's intentions, but I cannot. Perhaps some Sup Forumsenius can let me know what is happening by the time we reach the final loop.

A deck of cards can be stored in a single array. This candidate used nine (9!) arrays. At the moment, due to the extreme inefficiency and downright bizarre code, this is the worst bit of programming that I have ever gotten.

I remember when you posted this one in a different thread LMAO

This whole thread needs to be saved and screenshotted for future reference. Furthermore, I'm gonna go ahead and assume this is a /largely/ malayasian problem

This one isn't so bad imo. Some people simply don't think well under pressure like an interview. I think you should've taken that into consideration.

Let us take a look at some non-code answers to code questions.

I want to put a disclaimer here. For all the code questions, I wrote down the code that was given by the candidate, or I copied the code that they wrote on codeshare, or the code was written on a paper in the face-to-face interview. So for all code samples above, the code is verbatim.

For the non-code answers, I only wrote down the answers after the interview was over, so this is to the best of my ability to remember. It is not verbatim. And I corrected the grammar.

This candidate shot himself in the foot.

If the interview is face to face, I give them a deck of cards which I have in the office. If it is on the phone, I always say:
>Do you know what playing cards are?
>There are four suits. Diamond, heart, club and spade?
>Each suit has 13 cards total.
>Is that alright? Are we clear on what cards I am talking about?
Third-worlders are getting this, and you are not?

Two short and sweet answers.

let us know when your company is able to hire foreigners. life in malaysia probably isn't too bad.

This candidate gave me pause. I appreciate the honesty, but why would this candidate give me an answer that was non-functional on multiple levels? As for the incomprehensible code, the candidate gave it to me like so:
>First we take i, then we set i to be equal to the numbers, then we add. So then, we put i inside the loop, and see first. Got the function or not? Then we have a variable, and we print the variable.
I tried to ask the candidate to read the code as written, without any explaining or commentary, but the candidate's response was:
>Yes, ok I read it. So first, we take i, and then set i to be equal to the numbers...
And repeated the exact same incomprehensible stuff. The combination of the candidate's inability to communicate and inability to follow simple instructions was enough to cross them out, but the candidate proceeded to give a third reason that was much more memorable.

This is the standard. The candidate was polite, professional, experienced, and spoke decent English. Skill-wise, they had nothing. Absolutely nothing. Where did the 10 years of experience go?

>I'm gonna go ahead and assume this is a /largely/ Malaysian problem
In all other threads similar to this, and from reading various articles from around the world, I can conclude that it is universal.

You see this on Sup Forums, sometimes. "A whiteboard! How can I code on a whiteboard?" Code is code. You can write code on a typewriter, or punch code on a card, or trace it in the sand, or scratch it on a prison wall, or urinate it on snow.

Even though this interview was very short, this candidate showed that they are simultaneously smart, cheeky, and honest. Easily my favourite type of person, and the best to have in an office. Unfortunately, you also need skill to get work done.

You have seen my worst code sample, and this is my worst non-code interview. I still feel bad about it. Hopefully, I did not cause any permanent damage.

I only have two more posts with relevant pics after this one.

Why are you asking real programming questions from webdevs? They probably only know HTML and CSS

You have seen the worst code sample, the worst non-code interview. Now witness the worst resume. Read it all, do not skip the large paragraphs. It is worth it.

So what have I learned, after 3 attempts to hire a webdev, over a period of 2 years, with 260+ applicants reviewed, and over 50 candidates interviewed? Who are these mythical top 1% of applicants who are worth hiring?

The top 1% are not geniuses, or people with 85 years of experience, or people who come with 50 certs and 700 recommendations. Being able to successfully complete basic tasks is enough to put you in the top 1% for the overwhelming majority of programming jobs. Why? Because the overwhelming majority of programming jobs are not at NASA, moving people into outer space. No, most jobs are just moving a few pixels on a screen, and you do not need genius or 85 years of experience for that.

Because I want to have a site with a bit of functionality, not a blog.

Remember the candidate who failed FizzBuzz, and got upset enough to write an article saying that the FizzBuzz question was not relevant in a technical interview with a developer? Maybe you felt that that was an absurd reaction from the candidate. Maybe you thought that that candidate was dumb, or very weird, or was displaying rare behaviour. With this thread, you can take a look at the resumes, code answers, and non-code answers from a large number of other candidates, and compare.

No, ladies and Sup Forumsentlemen. Pic related is the standard, typical candidate for a webdev job. Pic related is the 99%. Pic related sucks, has no skills, and is unaware... all that is true, but there is more important thing:

Pic related is the norm.
---
>FizzBuzzed

And now, we approach the end of this 2-year saga... right? I have, after all, found a suitable candidate who can create a deck and shuffle it! A candidate that is (literally) 1-in-260! A top 0.5% code artisan/code guru/code maestro! And that candidate accepted my job offer! After two years of frustration, is my search finally over?

This must be the end of our tale, right? How could it be otherwise? The candidate applied, was interviewed, passed the interview, and accepted the job offer!

What could _possibly_ go wrong?

>a creative genius
>umparalleled
She forgot to say the humblest person ever alive. And wtf is up with these gay ass resumes?

Mine was literally written in plain text and exported to pdf.

This is what heartbreak looks like.

I never imagined that finding a decent webdev was going to be this hard. I thought that it would be easy. After all, I am just doing a website, not embedded systems for the Air Force. But even simple sites require a little bit of programming skill, and that little bit of programming skill is rarer than hen's teeth.

Final conclusions:
-The FizzBuzz conclusion is as valid as ever. 99.5% of people who apply to programming jobs cannot program in any capacity whatsoever.
-There seems to be no correlation between years of experience and programming skill. Fresh grads, 2-3 years of exp, 5, 10, 15 years of exp... all of them were equally unskilled. More experience meant that the candidate was able to _talk_ better about programming. That is it.
-There seems to be no correlation with regards to level of education, either. Self-taughts, diploma-holders, degree holders, and those with Masters... all failed. I did not interview anyone with a PhD.
-Programming skill is an extremely rare skill amongst programming job applicants. If you have it, you are in HUGE demand.
-I have wasted 2 years of my life, and am likely to waste a third, looking for a local dev. Life is suffering.

I hope that you enjoyed this thread, Sup Forums. More importantly, I hope you learned something from it. Not just about what typical candidates are like, but about what a recruiter (or HR) have to go through. Think about this, and apply the lessons learned to improve your resume/CV, improve your interviewing experience, and get hired easier.

As for me, well...

...there is always next year to look forward to.

Is having 1-52 functionally any different from ACE OF SPADES, 2 OF SPADES etc if you agree that they 14-26 are spades?

>kuala

Have you considered placing job offered ads in CS classes at colleges or other places your prospective applicants might be?

inb4 someone googles the resume text and finds out who OP is

I put no restrictions. I just want to see 52 cards, shuffled, and two picked at random. If you name them with the suits and ranks, that is great and you get bonus points. If not, then it is fine.

>12x12 multiplication table

I've seen you ask this before, do you want them to just print out:
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16 etc ...???

>it will take a long time to type

I show the candidate this picture.

I'm not a programmer, and I never wrote a line of code, but this thread has inspired me to apply for a programming position anyway

Goddamn, I wish I got these questions on interviews.

I've been looking forward to this thread for a long time, thanks OP. You're an inspiration to not fuck up programming interviews and become a screencap.

He just wants literally anyone who is capable of programming anything at all (that isn't identical to something they wrote in class and which cannot be pasted from stack overflow)

I see that you are posting my resume on a public forum, and you are deriding my honest efforts. The info you have leaked is enough for doxxing. I am glad I did not take the job, you are not professional

>shuffled
So "sorting" randomly within the data structure using a seed? I'm still not sure what you're asking the candidate to do for this. On top of that, it's confusing that the 2 cards are drawn at random. Why does it need to be random if the deck was just shuffled?

Enjoy!

>and
No "and". None of the resume people were interviewed. It is one or the other.

Not even kidding how do you do this?

If the candidate is in a face to face interview, I take out my real-life deck of cards, and give it to the candidate.

>This is a deck of cards. Take a look.

They look at the card, then the candidate gives me back the deck. I shuffle the deck in front of the candidate. Then I ask:

>Can you shuffle a deck of cards in a similar way, but using a program?

Then I pick two cards from the deck, and say

>These are two cards that I took randomly from the deck. Can you randomly pick two cards from a shuffled deck, using a program?

Seriously?

If it is on the phone, I say:

>I am running a casino website. When my visitors come, I want to display a deck of cards. But I do not want it sorted, and each visitors sees the exact same sorted deck, no. I want it shuffled, so that each visitors get to see a different deck of cards. I also want to pick two cards at random, separate them from the deck, and tell my visitors that these are the two "lucky" cards for this visit.

Cool, no?

I don't know, have 2 arrays and multiply them by eachother iterating 1-12?

>each visitors
visitor*

Squeeze my English, she is broked.

Holy shit bro.
X sangka pulak grad kitaorang teruk camni.

kek, this really is a shit country.

Country is fine. Graduates in other fields are probably also fine.

It is CS students, and those applying for programming jobs.

>country is fine

You know, I wonder if I should've moved to Singapore during my student days.
It seems like a bigger mistake with each passing day.

wew, two years. you could have saved a lot of time if you admitted to them you are a dick in your job posting. we all know here this, so the thread is also worthless

I deliberated choose to not take the job as I had better prospects. Listen babi, my uncle in KL works for the police and I am sending him this thread for legal guidance. I have saved this entire thread as evidence, you can't delete anymore. You have no right to publicly shame

t. LARPing faggot

also, if you suck this much from your resume alone I would highly suggest hanging yourself from the closest tree

two for loop ?

Without tables unless you're a faggot

>for (int i =700, i>200, i++) {
>i++
>i = i - 13
isn't this going to decrement in 12's? lol

You wouldn't have to. Assuming you shuffled the deck val deck = 1.to(52).shuffle(), you could just grab the first two deck.take(2).

I suddenly feel a lot better about my third world education. These bozos are fucking useless.

Great thread OP.
I just realized that I have to get my shit together. Learn how to program (properly) and be more confident about myself.
If 249 people who don't know shit are able to send their resume then why shouldn't I?

Epic thread.

And there's a return statement in the loop...

But at least you can tell what the candidate is trying to do.

Take a look at and

retard

for(int i = 1; i

honestly, after reading the question i just looked at how the incremented in the for loop since it seemed like the obvious first place to fuck up. the whole thing is amazing, indeed.

i feel your pain. I do about 3 interviews per week at my unicorn startup job and the majority of candidates, even with arguably excellent credentials, are terrible.

For phone interviews I'll ask the candidate to write a power function. I'd say about 25% pass that - keep in mind these are people who've already sorted through our recruiters and presumably demonstrated a modicum of knowledge in compsci.

Today I interviewed a "senior software engineer" with about 4 years experience at a major, well known internet company. He didn't know what a hash table was, nor that they could have collisions.

Hiring programmers is fucking awful.

lol I'm the retard, here's some formatting

for(int i = 1; i

How am I a retard if I knew what to do? Checkmark, you had to Google it

these aren't arrays

What country are you in?

>Hiring programmers is awful.
Too true.

I didn't realize that writing in English was an art.

united states (are there any unicorn startups outside the US?)

i cannot imagine how shitty it must be to deal with interviewing in the 3rd world. my advice to you would be set time limits for your interviews, state them to the candidate ("i want to respect your time and mine"), and hold yourself to them. If you say "45 minutes for this conversation" and you hit 40 minutes and it's gone nowhere, stop whatever they're doing and say "we have 5 minutes left so are there any questions I could answer for you about the job/position/etc" and end it.

Are you a retard? How do you not know what a "standard deck" would be

what state and how much are you offering?

I stick to about 5-10 minutes for introductions and non-technical questions. Then I move to code questions. 95% of the time, I know whether the candidate is a programmer or a non-programmer within 2-3 minutes of asking the code question.

...

NYC, pay depends on experience but it's in line with the big 4: think 115-120 base for juniors, 120-135 for normies, 135-220 for seniors. equity is offering in 5 year plans with a 1 year waterfall, usually net upsides of 50-100k per grant for junior to mid level, senior equity grants vary a LOT - I got promoted last year and was re'upped for another 80k grant on top of my existing 120k one.

you could make more in finance/hft but i prefer having a life outside work.

politeness is a bitch for us - it's important to maintain our reputation as fair, respectful, but hard interviewers so even if candidates are bombing we see it through for the stated time.

Hire me illegally damn you. I'm out here doing things like knocking down walls with hammers and shoveling shit for less than minimum wage while I write card games (with shuffling) for shits and giggles.

Do y'all speak English in the office?

>politeness is difficult for us
Yeah, being a professional is not easy. One good thing about always (ALWAYS!) doing a phone interview first is that you only need to control your tone of voice.

Because in these phone interviews, I am looking at the candidates' code and my face is guaranteed to be like pic related.