Hacker News new | ask | show | jobs
by SkyBelow 2322 days ago
>Based on my interviewing history I'm not in the 95th percentile of programmers - I'm routinely outright rejected and don't even land the on-site interview. And this is basically my best skill for which I've invested an enormous amount of time and energy.

This means you aren't high in the 'programming interview' skill set. While related, I consider it distinctly different than the 'programming' skill set. I think it shares more in common with other interview skill sets than it does with programming. I suggest not using this to judge your proficiency in programming, and if you want to improve this (say you plan to be job hunting soon), I would focus more on interviewing skills than programming skills. Especially if you aren't landing on-site interviews.

For starters, improving your resume to have a good UX and working on how to answer interview questions, especially the non-technical ones, would likely help. Things like how to 'correctly' answer "What is your biggest weakness?" or "Why are you looking for a job?". A lot of it comes down to learning how to lie without appearing dishonest (personally I hate how much honesty during interviews is treated as a bad thing, but I have to play the game by the rules that already exist).

5 comments

I think you don't get the point of OP's comment. Maybe they are simply not in 95th percentile of interviewees, or maybe they are indeed a middling programmer. Their point was more to accept your skills and talents for what they are rather than getting caught up in being the best, to the detriment of yourself and those around you.
>Based on my interviewing history I'm not in the 95th percentile of programmers

I wanted to call out the problem with this logic because it was something I also struggled with at the very beginning of my career. There is more to the response than what I replied to, but my reply is only limited to that specific line of logic and not the reply in whole.

Why lie?

Ultimately an interview is about convincing the interviewer that you can solve their problems (and extracting information to determine whether you want to solve them in the first place). Assuming you have the ability to solve their problems, it's a pure exercise in communication.

Take the "Why are you looking for a job?" question. The meme response is "because I need money duh!", but if you look at in a less literal context, you probably have long term goals of some type. Talk about those and how working for the interviewer will help you achieve those. If you don't actually have long term goals and are just in it for an immediate pay-day, well that makes you 1. A person who doesn't plan long-term, and will probably bring that same lack of planning to the job. 2. A less secure investment that will leave the moment they can get a 10% raise elsewhere. and possibly 3. Someone who doesn't really want the job and would just be miserable all the time/not be a good fit

The non-technical parts of an interview are about unifying stories and themes, and too many engineers seem to think it's "lying" to ignore individual data points. If instead of an interview you were trying to convince someone who knew nothing about the S&P500 to invest in the S&P500, you wouldn't talk about 2008 except maybe in passing as a minor risk. You'd say in the long term it's had an upward trend despite occasional drops and that trend is likely to continue due to reasons X, Y and Z. Assuming the person is looking for a long term investment then nothing about that is a lie.

> If you don't actually have long term goals and are just in it for an immediate pay-day, well that makes you 1. A person who doesn't plan long-term, and will probably bring that same lack of planning to the job. 2. A less secure investment that will leave the moment they can get a 10% raise elsewhere. and possibly 3. Someone who doesn't really want the job and would just be miserable all the time/not be a good fit

That’s an extremely judgmental way of looking at people. Some people have long terms goals in life, they’re just not related to their jobs. They see their jobs as a means to an end, a way to make money to accomplish those other goals. And some of them are really, really, really good at what they do at work, but really they just want a paycheck in exchange for their skills.

If I didn’t need a paycheck I wouldn’t be at the interview, or working at all. Getting a consistent paycheck is “planning long term” for 99% of people. Hell, half my social circle probably doesn’t even know what the S&P500 is.
So your long term goal is stability, and you'll be reliable and consistent in addition to the talent they've clearly already noticed by bringing you in for an interview. From a thematic perspective you're a sturdy foundation they can build their company on.

See how much better that sounds? And there are probably better ways of putting it. Granted if an interviewer isn't looking for that mentality it could be an issue, but that's a big sign you probably wouldn't want that job anyway.

I don’t think I’d be able to pass/stomach an interview where I need to justify the need for a consistent paycheck.
Then I'm not sure how you've stomached any interview with a private company. Companies don't give you a consistent paycheck because you have a natural right to one. They give you one because you wouldn't produce value for them if they didn't.

The S&P500 analogy is truly apt, because as a private employee you are by definition a financial investment for the company. They pay you on the condition you make more money/produce more value for them than you take. Every day at work is you justifying the existence of your paycheck. If you want a bigger paycheck you need to prove a higher valuation to justify it (either by producing more internally or getting a higher external offer). If you become a bad investment you will be treated the same way as an under-performing stock in a portfolio. Maybe held onto in the hopes that you'll improve, maybe held onto for legal reasons (they can't legally fire you due to X law) but eventually losses are cut.

Most interviewers expect you to at least be average so they're not going to insult you by asking you to work for free (that would make you less likely to work for them), but if you walked in and could convince them that you would produce quality work 70 hours a week, for free, until the day you were too medically infirm to work, and that you weren't too good to be true, they'd have no reason not to take you up on that offer.

> Then I'm not sure how you've stomached any interview with a private company.

Here's how: companies look for a professional to perform a job. You, as a professional, offer your skillset in exchange for paycheck. It really is that simple. There's no need to justify or excuse wanting to participate in such a mutually beneficial trade. Likewise, there is no need for the company to excuse or justify their need for a new employee.

Believe it or not, there are some companies out there that just look for someone who can do the job. They don't ask you why you want a job (or, gasp, that job in particular!), because it doesn't matter (and is mostly obvious anyway).

Stop paying salaries and you'll see how many of your employees aren't in it for the paycheck. Made-up stories about long term planning don't change that they're in it for the paycheck.

Getting a paycheck, for a lot of people, is planning for the next time they don't have a paycheck. The people in the former group that you mention might be long term investment, but imo are more likely to promise their future paychecks to a car dealer
Agreed with your points, although I wouldn't use the word "lie". "Marketing yourself" would be a better way to put it. It's not about falsely representing your experience; it's about knowing and emphasizing your strengths, and aligning that with the needs of the team.
I'm talking things like "what is your biggest weakness". You don't answer that honestly, you come up with a 'nice to have' weakness but that still seems enough of a weakness to not appear to be holding the question in contempt.

If it comes to why you are leaving your current job, depending upon why you actually left you could be able to give honest answers, half truths than hide the major reason, and twist the facts enough that it would be best described as a lie.

When asked what you are looking for in a new company, rarely will it be perceived positive to give any importance to money at that stage of the interview. Benefits can be mentioned, but you will have a better interview if you can give an answer closer aligned to the business you are interviewing at.

A major one is when you are asked what your current salary is, lying can be more beneficial than either not answering or telling the truth. You can stretch the truth a bit, say "A little under $130,000" when it is actually "101,000 plus a bonus that the company didn't give out last year". Is 101 a little under 130? It is subjective, and in some cases that wouldn't be a lie, but in this case it definitely stretches the truth.

Now, I'm not advocating lying about stuff on the technical side. Well, not by much. If someone in HR is asking if you have 15+ years experience in Rust (to those not familiar, it has only been about about 10 years), responding with an affirmative style answer is probably reasonable if you are experienced in the language. Don't do something like saying "Yes". More "I am very experienced in Rust and have had 3 large scale Rust products deployed with numerous smaller ones." This ends up being much better than trying to correct the HR rep that the language hasn't been out long enough for someone to have 15 years experience and better than answering no.

Has anyone ever had success with simply deflecting that question? I've never been asked but I wouldn't lie or start a therapy session if I was.

Examples of what I mean by deflection:

"My greatest weakness is for Gouda cheese."

"If I knew what my weaknesses were I would already have worked to resolve them."

"Triceps."

"I don't have any weakness, what are you talking about?"

You made me smile, here's my best attempt at something similar:

"My biggest weakness is probably job interviews, compared to anything else I do my interviewing skills are really bad..."

More realistically: honestly explaining that some of my greatest strengths are weaknesses in other settings.

The key is to lie about what is your biggest weakness, while still giving an answer that doesn't come across as a lie nor being dismissive of the interviewer/question. The political tool of answering a related but different question that has a more favorable answer plays well here, such as instead answering "What is one of your weaknesses and how are you overcoming it?"
When asked a "what is your biggest X" kind of question, I almost always wonder aloud if I am the best judge of my own biggest X, whatever X might be. I feel that then gives me freedom to answer the question relative to something that I think is a weakness that would be appropriate to the situation, and how I am addressing it.

For example, talking about being somewhat OCD about things can be considered a weakness. But for some jobs in this field, a little OCD is not necessarily a bad thing.

"Sometimes I'm too focused on creating shareholder value."
I’ve actually mostly answered honestly, but also follow up with what I’m doing to try to improve on this weakness. For example I know one of my weaknesses is I get impatient and cut people off half way, believing I already know where they are going. Besides being rude I’m also wrong some times. It’s a legitimate short coming, but the key is I’m aware of it and am activity doing something about it. Some interviewers are just looking to see if you are self aware.
But is that your biggest weakness? Or is that a smaller weakness that, while still being a definite weakness, is socially acceptable and something you can show improvement on?

If they asked what is one of your weaknesses and how are you working to overcome it, then that is a perfectly legitimate answer. Perhaps too many interviewers ask for the biggest weakness when they actually mean to ask a question more like that.

If your biggest weakness is a major problem, then hopefully it is also something you're urgently addressing. If you're unfortunate and have to apply for jobs while you're still working on that aspect of yourself, then you may need to find a way to sell it, but really for most people this shouldn't be something you need to agonize over for very long.

Of course everyone who asks this question is looking for how you reply, and don't necessarily believe you'll tell them the absolute truth.

But how do you define biggest? To me this is a big weakness that not only applies to work but also other aspects of life. We don’t have a clear ranking system for levels of weakness, so I can only pick one that’s important to me. I don’t think that’s dishonest.
It's illegal in the State of California for an employer to ask you your current salary.
Learned the hard way that lie is mandatory for some questions.

For example: many companies insist on asking how you did "x" (for example solves a conflict of idea of solution) in situation "y" (for example between two teams in same department) and you are obliged to answer something, even if you never been in that situation (a certain multinational company for example asked me that question three times across two different attempts to join them, both of times I failed because this question, I never worked in a company with many departments).

After a lot of Glassdoor reading found out people that got the jobs I wanted, all lied outright, not just embellishments, but outright inventing things that sound plausible.

I think you're overcorrecting here. I've been on the other side of the table for questions like that, and the intent is to ensure that you have been in the appropriate situations before. At most multinational companies, resolving conflicts between two engineering teams is an everyday occurrence, and any new hires above entry level are expected to know how to do it.

That some people manage to escape the requirement by lying doesn't mean lying is the intended strategy.

So you mean, that to work in a large multinational company above entry level, it is mandatory to have worked for one in the past?
Can you blame a company for prioritizing people who have worked in similar environments before?

In large corporations technical responsibility is often more distributed than in startups just due to size, so your technical skills, while important, are typically less important than they would be in small-business/startup land. What fills in the gap is communication skills and your ability to navigate corporate social networks. If you can't conflict resolve issues between engineering teams, well guess what? That engineering team you can't work with is going to hold you up and cost the company money while your superior, who really has better things to do, has to take time out of their day to address the issue you should have been able to handle.

Not saying it should be a mandatory skill, but you can't blame large corporations for filtering for it. It's a factor.

Most companies smaller than multinationals are still large enough to have conflicts between teams. The most common failure mode I see is people who simply opt out of those conflicts, preferring to keep their heads down and write code rather than talking about what should be done and how. I'm not familiar with how it works in older companies like IBM, but at the FAANGs of the world, participating in those discussions is what distinguishes entry-level engineers from more senior ones.

If your experience is only in companies with a handful engineers, yes, it can unfortunately be pretty hard to get a senior position at larger companies. It's not impossible, but people will have justified worries about whether you can handle the responsibilities.

You can get that same kind of experience elsewhere. It doesn't have to come from working in a large multinational company.

Now, working in a large multinational company would help ensure you have that kind of experience, but that's not your only option.

> resolving conflicts between two engineering teams is an everyday occurrence

And how difficult do you think it is to learn this skill?

If it's an everyday occurrence in huge companies, and any new hires above entry level are expected to know how to do it, it sounds like something anyone and everyone will learn. Which sounds like a real easy skill.

If it's a real easy skill, why do you need to have it already when you join? Why can't you learn it on the job, like you learn a bazillion other skills?

This kind of thing comes up a lot with technical stuff... people think that X (something you can look up on wikipedia or SO and teach yourself in an hour or two tops) is really important, therefore they can't hire anyone who hasn't learned X. But whoever they hire must be a person who's super eager to learn new stuff.

I agree it's not tremendously difficult to learn. The problem is that many people don't have the instinct to learn it. If left to their own devices, they'll just write code satisfying whatever requirements they're given, without any impulse to discuss or question what the requirements should be. I've seen many times where another team said "oh you shouldn't do X, you've gotta do Y instead", and a junior teammate of mine just accepted Y as another requirement instead of thinking about whether it was the right way to go.

So you don't want to give people the level of independent responsibility a senior title carries unless they've already learned how to avoid that.

What I've done in with interviews where I don't have the exact situational experience they're looking for, is I recall a situation that was similar, mention that it's not exactly what they asked for, and then go ahead and answer the question relative to that experience.

Many times, when they ask a specific question, they're not hard-locked on getting an exact answer that is 100% directly related to that exact situation. They're also looking to see how you might slightly redirect the question to something that is relevant to your experience, and then how you answer that.

Of course, sometimes they are hard-locked onto an exact answer to that precise situation, and if you don't have that experience, then you're done. You're not likely to know in advance if that's the case, but at least you got more interviewing experience, and you learned of another place that you do not want to work.

I think "What Color is your Parachute" is very insightful on what interviewers are looking for - or should be - and in what order:

  1. why us?
  2. can you basically do the job?
  3. what extra specials can you bring?
  4. will you fit in here?
  5. can we afford you?
Before all that, know what you want, will suit you, and your strengths - then select somewhere appropriate, where you can help.
Indeed this is something I've had to learn to do. I'll spend a few weeks working coding problems on whiteboards, practicing answering questions, clean up my resume, try to showcase my best work on GitHub, and spend hours on each cover letter.

It helps a little but I know it will never be something I'm very good at. Sometimes things in life are hard and never get any easier.