> It's not you: The first thing I told him was that 80% of whether you get hired at a company is nothing you can do anything about. It depends on the company, your skills, their needs gap, the timing, the manager, so if you're batting .200, that's pretty good.
The second thing was that there were some really basic stuff to make sure you're doing every time you interview that you CAN control to narrow that gap further:
> Dress: wear dark jeans, nice shoes, a button down dress shirt. This outfit is almost never "too fancy" or "too casual". If the company requires more fancy than that, might want to question if you're a good fit (unless you like wearing a suit shudder)
> Give Specific Examples: Always try to start your answer with a summary, then give a specific example then abstract it into a generalized theory. Don't start with the generalized theory and never give specifics
> Know your stuff: If you list something on your resume, especially in a recent job, make sure you can not only explain it but that you have an opinion about it and that you've considered other opinions.
Edit: the outfit above applies mainly to men, I'm less versed in what the equivalent would be for women. If someone wants to add that, I am sure it would be helpful.
This is just to illustrate that "It's not you" may sound trite, but it's true.
And even that comment doesn't give an example of a shortcoming relative to one of those bullet points.
I mean, from the comment it sounds like kaspm literally told the candidate: "hey, sometimes it just doesn't work out, you should be glad at 'batting .200'.". I don't see the actionable feedback.
Edit: I added the specific examples of each item that I gave the candidate but decided to remove them so as not to expose them publicly should this candidate read hacker news.
People can PM me if they'd like to know more information about the way this particular candidate could have benefited from the above.
But I don't really see the privacy issue if the name is left off and there's no way to figure out who it was you interviewed.
Please reach out to twitter@web007 or ryan at geekportfolio with anything you can share - I'm working on a side-side-side-project for increasing employability, and this kind of info is exactly what I want to promote.
I interviewed for company X, where I spent an entire day with more than a dozen engineers, answering the same types of questions over and over again: "Here's our platform, how would you fix it". At every turn, I would speak about X,Y,Z issues that would need to be solved and how this or that technology might be applicable in a broad case. Diligently, in every session, the interviewers were taking copious amounts of notes about what I was saying... NOT how I was doing on the interview, but rather, the content of what I was saying. "How do you spell Corfu?" (as an example).
At the end, they told me they really liked me, and would have an offer for me in the next day or two... Two days passed and they called with "We're sorry, but you're just not technical enough for us".
I basically gave them a free day of consulting.
I'm not sure HOW to fix the problem, but it is definitely getting worse.
Exactly. (I mentioned this in my response to the OP.)
What I realized as I entered my 30s is that some people are okay with that. Some people are okay with endless streams of bullshit and office politics, with building sub-par products, and with anxiety-inducing whiteboard interviews. All they want is a paycheck and all is well. Last year, I discovered that I'm not one of those people. I tried hard to fit in that mold and just be happy -- but what makes me happy is fundamentally at odds with being a model "company man."
Why the job search sucks is that there's a lot more people in the former camp than in the latter. It's the same reason why most people don't start companies, don't try to write novels, and don't compose orchestras -- a fundamental lack of creativity. Unless one of my projects really takes off, I'll inadvertently have to get another "real job" soon, and even though I loathe the process, I'm happy that this time away from work really helped me reflect and figure out who I truly am.
This experience has reshaped how I think about savings though, that's for sure.
So don't. If they don't meet your communication expectations, then it isn't a good match anyway. So don't wait. Move along.
> These tests and whiteboarding are not indicative of your skill level
No, they indicate your ability to work and talk through problems. I'm not sure where this idea that whiteboarding is about skill level came from. You can cram/study algorithms. But you can't fake the thinking process, or how you approach a problem. You can't fake your communication style. And that is what doing it in a stressful situation shows - how do you really think and communicate under pressure?
> Maaaaan, go fuck yourself.
Hmm. OK, you are being honest about your feelings, but... does anyone ever get a better result in their job search after ranting about it online? Does an employer ever call you and say, "Well, we were on the fence, but after seeing you F-bomb other companies, we decided we liked you!" I'd save these rants for AFTER you get a job.
Totally different type of pressure. You're assuming timeline pressure and social pressure is the same thing. It is not.
>does anyone ever get a better result in their job search after ranting about it online?
I don't believe that was his objective. Maybe some hiring manager will read this while simultaneously complaining about not being able to find anyone and a light will come on. Maybe not.
If I'm applying for a senior developer/architect position, I should be able to think of a high level solution on the spot. When I was looking for a job a year or so ago, I thought I was interviewing for a regular developer position. I didn't realize I was interviewing for a lead position and they were looking for someone to create a development department from scratch. The first thing my now manager asked me was what steps I would take in the next 3-6 months to create the department.
Thinking and describing it is a lot easier than coding it on a whiteboard. I explain ideas to problems all day. I don't code it on a piece of paper and hand it to the board.
If it's an important problem, I actually take some time to roll it over, as should anyone solving any important problem.
White boarding code is a farce used by people who don't have any better ideas.
Am I going to have a hiring power? Is sufficient budget guaranteed to launch the department? Double yes or fuck off.
You do realize this is like, every employer right? Or maybe I have bad luck.
Your last point is good and I thought about it for a good minute before I decided to go with it anyway because, if these companies don't care about me, why should I care about them? I'm already in the reject pile, right?
People are allowed to be frustrated, and they're allowed to use colorful language to express that frustration. The author's opinions are certainly not out of left field; anecdotally, I've been through the same process he has many times. It is frustrating and is completely unnecessary. I especially agree with his feeling that job searches are opaque, with several layers of impenetrable bullshit to filter through. In fact, I've had companies outright lie about why they were hiring me or what working at their company was like, let alone clueless recruiters just trying to make their 20%.
All these companies screaming they can't get good candidates. IMO a major part of it there are tons of people that no longer want to go through it so they are not actively looking like they did in the old days.
These big tech companies have seriously damaged this entire industry with all this bullshit. Yes I blamed the big companies because they get all the press and everyone copies them.
Right, and that's fine, so long as the interviewers are actually using it that way, rather than just, "did they reinvent this obscure algorithm? yes/no"
The complaint is that, in practice, most of them are doing the latter.
They indicate none of that. Hiring pressure is different from work pressure. Its totally useless for anything other than entertainment.
I write my rants on physical paper. Then I burn it. You feel better and you don't accidentally make yourself unemployable. Well, as long as you don't accidentally burn down your house.
You don't have experience 99% of employers want, and your response is to stubbornly write it off as a fad? Maybe that's got something to do with it? If you have zero experience, how do you know it's gross?
I would have discarded this as a meaningless complaint coming from a hardcore backend developer who is repeating the principles of single responsibility and separation of concerns he has heard in older days and has not yet had a chance to realize that a component is no lesser way of thinking about separation of concerns than an html or a css file. But judging by the appearance of the blog site, the author is a frontend developer, with pretty decent skills. I am confused.
Maybe "fad" wasn't the best word choice but you know how it is. How many frameworks are introduced to HN? You never know which one is going to be popular.
Don't get hung up on what job listings say verbatim/literally. Most people are reasonably flexible about it, they just have to put something out there. If you know what you're doing and are otherwise a good hire, you shouldn't let the details of a single bullet point on the job listing deter you.
The more significant thing is probably that they can tell you're looking down on their decision for React before you're even in the door. If you sound open-minded about it, and especially if you flatter the interviewers by stating that you're excited to learn it from them, you'll probably start doing better here.
I agree with the substance of many of your complaints (to be honest, I just skimmed the post, but the overarching points of way too many hoops and arbitrary dismissals after wasting a lot of time are solid) but I think there is too much edge/hostility in the post. I understand it's posted as "a rant" so maybe it's just about the venue/context, but I think you're going to get a lot of complaints about the tone here.
In interviews I've had, I get questioned about frameworks so I figured stating my experience upfront would be one less question. I haven't thought about it possibly being perceived as dismissive before.
Guess what, in this scenario, you (specifically your labor) is the product.
Especially in larger projects with multiple developers it keeps the codebase much more manageable than oldskool js.
If I'm going to make you get up at a white board (and I might) it isn't going to be to write code on it. We don't hand designers white board markers and say "draw monkey draw" - because it isn't their medium and neither is it ours.
If I am going to get you up at the white board it is going to be to show me a diagram (probably database) or how you think something "should flow" (boxes and arrows) to see if you can COMMUNICATE a concept. If you can't do that then we have issues -- because at some point your going to have to do that very thing to convey an idea to a colleague and if you can't we have a PROBLEM. There isn't really a "right" answer to this setup, but there are plenty of wrong ones - ones that show you either lack basic knowledge or communication skills needed to do the job.
Dealing with ambiguous scope is the single biggest thing I want in a candidate, so if you don't like dealing with that, you're not going to like working with me anyway. But here's the thing, from my perspective: when's the last time you worked with product or business people who gave you 100% perfect information and specs up-front and then didn't change them? If you can build in a way that allows for future change based on the needs of the team/company/market, then you're very valuable.
> I've never met someone who performs exceptionally well with thinking on the spot in front of people they've never met when the grand prize is gainful employment.
I also want to know, based on this line, how many people the author has interviewed themselves. Cause I've interviewed a few (it's at least in the 100+ area) and have seen as many people do well in that sort of environment as have frozen up. Not uncommon for them to do better than I'd expect myself to do, either, algorithmically - but neither does that always translate directly to an offer, if they're bad at the communication or wrinkle-handling parts.
I haven't had to go through this process in years, but from what I recall, you are the exception, far from the rule.
React is just a library for mapping state to ui elements, right? I've been using react and all of my css lives in separate .css files. Is that not typical?
Maybe they are just venting frustration but maybe blowing off what employers want is indicative of other issues or a bad attitude.
Unfortunately with this and many other articles I've read on HN over the years, the common theme is that decent/good programmers are not making it past HR.
Everyone that wants to work in tech should instead navigate through the meetup/social space and build up a decent network for this kind of thing.
Anecdotally, at 1 interview I went for, I knew the hiring manager and our "interview" was a 15 minute casual chat. That's it.
If it's truly because there was an algorithm question with no correlation to what the team worked on, that sucks. But I've seen the other side of enough of these rants to take any single anecdote with a giant grain of salt.
There's a few potential audiences for rants like this, but most of them are unproductive. Other frustrated people don't have influence to change things, and hiring managers not experiencing hiring issues don't have incentive to listen to you. The group you need to find, if this is how you're feeling, is the hiring managers who aren't having luck right now. Maybe because their company doesn't have as much name recognition, or as much money to offer, or a sexy office location in the Bay Area, whatever. They're gonna need to expand their pool to compete, and that's where potential matches are. It takes a lot more leg work and sales work of the "here's why I don't fit exactly what you're looking for but why you should be confident in my ability to get there fast" variety, but it can be accomplished - I did it about 7 years ago, myself, to get from the land of "boring jobs" to the land of "interesting jobs building 'interesting' experience," and have seen other people pull off the same path since then. You also generally will do better starting in a smaller environment like that with more face time with the key players in the company, than as another line-level cog at BigCompany.
Have you tried MacPorts? But more to the point…
> but is it outside the realm of possibility that you can make something a lot of people find useful for some situations and still not necessarily be qualified for or entitled to every job out there?
Let's drop the dig regarding entitlement for a moment. Shipping a nontrivial tool like Homebrew and getting pretty much every Mac power user (except me and a handful of other MacPorts holdouts) using it should show far more qualification for an engineering position than inverting a binary tree on a whiteboard. Software is a complete system and process involving decisions and unsolved problems, even if those problems are "how do we solve these problems in a better way than they are already;" inverting binary trees is… an algorithm. One I can probably find with ten seconds and a search engine should I ever need it.
Granted, perhaps Google was hiring for a position where knowing how to invert a binary tree off the top of your head is crucial. Who knows. And I'm sure there are people out there who know that as well as how to create, ship, and maintain a useful product. But if I personally were looking for someone to hire, I know which would impress me more.
By the way, for those wondering, if you're ever asked to invert a binary tree on a whiteboard, here's how to do it:
1. Draw binary tree on whiteboard
2. Remove whiteboard from wall
3. Rotate whiteboard 180 degrees
4. Reattach whiteboard to wall
Yes, this is absolutely the best way to do it. There's a lot of anxiety and guarded interactions in an off-the-street hiring process, and it's hard for either party to feel fully trustful of the situation, and both end up taking a gamble. This is not entirely obviated by pre-existing relationships and experience (especially when new hires feel like their pre-existing relationship justifies shirking job duties), but it is significantly lessened on both sides.
We have this sanitized myth we've built up about objectivity, but the fact is that it's still about who you know, and most of all it's about being likable. Skill and competence are ambiguous areas that people can and do endlessly debate over, as in "If you can't invert a binary tree on the spot, you are clearly inexperience and incompetent" or "If you think you have to invert a binary tree on-demand without reference materials to provide value as a coder, you're inexperienced and incompetent", but in the real world, being likable and pleasant is the reason that people bring and keep others on board.
If you want to get hired, it's much more important to brush up on your charm and presentation (and maintain that standard throughout your employment) than it is to memorize a particular algorithm. There are always going to be new algorithms that you don't have memorized. Strong social skills will take you much further.
I put a day or two into a job application. (Which may be excessive, but it leads to a high conversion rate). Preparation includes researching the company, their products and projects, their history and my possible contribution – and tailoring my application package to their needs. If the company can’t be bothered to write me a short email “Nope, sorry. HR.” then that company is not worth my time.
In effect, “Only short-listed candidates will be contacted” tells me: “1) We are too lazy or incompetent to set up a mass email reply. 2) We don’t care about candidates enough to save them the time and stress of unnecessary follow-ups.” By extension, I will assume that company does not care about its employees either and has effectively disqualified itself from my becoming a part of their team.
(Macdonald’s, Goldman Sachs, line cook, VP legal, same law, everyone, everywhere)
There exists a very inefficient, unbalanced social practice. Needs a regulatory nudge. Simple law. California goes first. The world follows. Onwards.
But I don't think it's a special case. Good software developers are by nature great at hacking systems and plenty of them would find it more profitable to keep interviewing rather than work a regular job.
If it does need a regulatory nudge, paying people to interview is the most naive way to do this.
Just paraphrasing something from my sons leadership project ;)
I don't see how that is possible, ignoring the fact that doing that would be about as fun as gold farming on WoW circa 2007.
You'd have to interview about 12 hours a week (including Christmas and Thanksgiving), every week at only SV type companies and only for $300K jobs and pull it off for a year without getting caught before you hit $100K.
As an example you could ask openly about the company's hiring processes, rankings, followups, and the like. If you receive answers that satisfy your preferences, that's great; otherwise, you can move on to prepare for the next company.
All my applicants know within a few days of whether they are getting an interview.
All my first round interviewees know the next day if they are getting a second round interview.
All my second round interviewees know the next day if they are hired.
As you see above, there is only two rounds. There isn't any white boarding, because I find it a waste. For web developers, I ask a very simple one page site to make.
I try hard to make sure the applicants at least know where they stand pretty quick. Because I've been on the other side of that.
I think a majority of the people making hiring decisions in these companies have never been where I'm at (and where you've been).
Before people jump in with "what about negative Glassdoor reviews" or "negative reputation", I'm saying that all things taken into account, the equation is still in favor of the company.
I don't know.
I don't want some random company, I want a supermodel!
Unless your company is hot or you can poach people from your network you will have big problem hiring.
They are losing out on so many good candidates which does affect the bottom line.
 https://www.glassdor.com (to find out interview questions asked by companies)
 https://www.jobscan.co (to optimize your resume against job descriptions)
 https://www.pramp.com (a peer-to-peer mock interviewing platform for software engineers)
Or so is my experience.
Needless to say maybe I have been looking in all the wrong places for remote opportunities, but getting paid a reasonable rate + being remote seems hard to find.
I think the general nature of interviews is flawed - I've seen companies pass on great candidates who test well over some silly comment they made about a previous project, or because of "team fit".
I'll be honest I just haven't put much effort into it quite yet - still trying to arrange a few other projects in the event one of them takes off.
I am just resided to the "if it doesn't exist - make it yourself" but it sure is taking a lot of patience out of me to make it so.
Thanks for the insightful responses!
When interviewing with a good interviewer, he (or she) knows that whiteboard sessions / tests / projects are just hypothetical situations. If I throw an unfamiliar API in front of you, and you ask certain wrong questions, I know you're not going to work out. If you "get it" and can move forward, I know you're going to be able to learn all the weirdo stuff that you need to learn in order to do the job.
But, something I learned when I was in a similar situation: Companies that demand a LOT of upfront, grueling time in the interview process should be avoided. Once a call drags out beyond 45 minutes, or the coding test is just too time consuming, it's time to walk away.
Regarding whiteboarding, if the candidate argues with me about why we're using a particular API, I pretty much reject the candidate. (No, we can't use the new threading API, I want to see how you can learn this API. No, we can't use an ORM, I want to make sure that you understand how to use a database.)
In this case, I'm trying to filter out the morons, and people who can't disagree and commit. The idiots who argue with me that we should use a different API (for the interview question) get rejected immediately. The actual programming question is pretty mindless and any competent software engineer should be able to figure it out in under 10 minutes.
But the bigger reason is that in an engineering situation, people who argue over subjective things often times just waste everybody's time. Certain decisions were made and there is really no good reason to go back and revisit them.
YUCK. One of the first things I will do when presented with a technical scenario is start questioning the problem's parameters, including API choice.
Interviewer: "Show me how you'd store a list of items in C++." Me: "Well, depending on the expected usage pattern I'd reach for one of the standard library's containers like std::list since it is time tested, robust, and comes with the compiler." Interviewer: "No, er, I mean if you don't have std::list... I want to know you can implement something from scratch." Me: "Am I really going to be working on a project without the language's library?? You generally don't want someone's hand-rolled linked list in production code."
I guess not wanting to waste the company's time re-implementing a wheel makes me a bad candidate.
I try to hype myself up with a "thank you sir may I have another" once I get through solving what I think is a silly question.
I remember being asked to solve a linked list problem with callbacks in JS where a service returned a Node and the API call to the next node in a list.
I had to just build a function to traverse the async list - I'd have wanted to just redesign that API, but instead I had to solve their silly problem.
I got the job, and it was all due to forcing myself to have a positive attitude and being happy to solve the problems vs questioning why one would ask it.
Just seems that every big firm does it. Recently I had a take-home assignment - spend like a week at night working on it only to be kind of insulted by the folks who interviewed me. They didn't even spend 5 whole minutes looking over my work. I was far more frustrated with that than I was being asked to implement a Linked List in front of someone on the spot.
Similarly jsx is writing HTML in JS. The whole evolution of web was to separate, modularize, componentize the concepts (DOMs, CSS, JS, HTML5 APIs, templates etc.), what on fucking earth happened?
Left tech years ago, but assumed that many/some of those tests and sample projects were employer attempts to procure free labor w/o any of the burdens (liability) of internships and employment.
> Rounds of interviews
Perhaps its helpful to look at the whole process from a different vantage point. Saw an article on CNBC a few days ago about the importance of, essentially, seeming desperate and wholly committed to whatever position it is one is applying/interviewing for. Seem too smart... too ambitious... have options for doing something else if this doesn't work out... etc? Don't expect to get hired. I can actually attest to that.
Anyway, the implication is that if you are still available and willing to go through rounds of interviews, you probably aren't 'all that desirable' in the first place. Yes, there is some irony there. But I know this having spoken w/ a # of HR people.
-- Dear Paul, Hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha NO.--
Yeah, that would be, at a minimum, courteous, but...
Workers are for the most part, commodities. As such, feedback isn't merited. Could say more here, but won't.
> How to deal
Obviously, each person's situation is different, but my experience tells me the best solution is to position oneself for independence (as much as is possible in a society). While in my last job, I pretty much decided that I'd focus on (hopefully) not needing another job. And while I didn't get everything right, I think that mindset and planning was instrumental in me pretty much being able to walk away from a job market that is pretty stacked against the typical applicant.
I know tech is supposedly immune to such stacking, but...
Last year I listened to an applicant's conversation with a recruiter. The applicant was getting robbed, so much so that a guy, who I think was/is homeless, told the applicant as much. I mean are people really going through all this work to get paid $25/hr... in California???
I feel like I need to hear the other side of the story to get the full picture.
Companies think this rigamarole will separate good candidates from bad candidates.
It's why I use the hated recruiters now. I get to skip the BS of applying online. (At the employer's expense too!)
I miss the old days, you submitted your resume, then they called you for an interview. You interviewed and either got hired or didn't (they'd typically call and say if you didn't).
Why we need 80 layers of BS between the job seekers and employers is beyond me. I've also never seen a competent HR person in my 20+ years of working in IT. If you can't tell by their resume, HR isn't going to give you anything more so skip that stupid step as well.
At no point was I just twiddling my thumbs waiting to hear back. The recruiters always knew where I was in the process. One day, I had 6 phone screens with different companies. Another day, I had a morning interview and an evening interview.
I'm not trying to brag about myself, when you have a recruiter it's just so much easier finding jobs you are qualified for. They've also worked with the company before so they can prep you a little more for the interview.
Also, you hardly ever walk into an interview knowing whether the salary you are expecting is in line with what they are willing to pay without a recruiter.
1) Every time I talk with a recruiter, salary is the first thing brought up. It saves so much time to go through an interview process only to find out they're going to pay you 30% below market value.
2) A recruiter brings you an job position that you did not know about in the first place usually. There are thousands of companies in an area, and not all of them post to the job boards you're looking at.
3) Using the recruiter means the company is motivated to filling that position. They need someone now and the usual means of getting people in to interview in that company is broken.
4) Developing a relationship with a recruiter is valuable, because they know what's hot, and what companies are willing to pay.
I've only been around for like 15+ years though but been running in consulting circles for over 10. I'll admit that there are a fair number of crappy ones.
I generally avoid recruiters too - just against working with them on principle.
I wish there were an easy middle-person to use to find high quality project work. I think the tried and true referral system is all that has worked for me the entire time.
I've never applied cold to something and done it, and been happy about it.
My impression is "recruiters" has become a sink term for anyone one is facing during the recruitment process (various recruiters, agencies, POs, PMs, HR, CTOs, teasing puzzle smartasses, whatnot). In fact my personal experience with HR departments is rather good, and my attitude towards real recruiters is neutral at worst.