Hacker News new | past | comments | ask | show | jobs | submit login
They Rejected Us (rejected.us)
522 points by deepaksurti on Dec 7, 2018 | hide | past | web | favorite | 361 comments

The best one I've come across yet is Brian Acton being rejected by Facebook [0] ends up creating Whatsapp and in turn selling it to Facebook for $19B. Talk about comebacks.

[0] https://twitter.com/brianacton/status/3109544383?lang=en

This resonates.

I'm terrible at big tech company interviews--kind of a generalist, read Cicero rather than Knuth in college, tend to start out problems kind of muddled, etc. After a while I concluded the only way to get into large SV companies was to sell a company to them. It's easier to go through due diligence than the corporate interview process in a lot of places.

(That's how I got my current job.)

I spent most of my college evening getting drunk with philosophy majors and pretending my math degree meant more than my CS fallback -- but I haven't found the corporate interview system to be that terrible.

I do however think it's a game that conflicts with certain personality types, including myself early in my career.

I'm always curious what you (or anyone else!) think could be done better.

In my experience SV corporate interview processes are biased in a couple of ways that lead to more homogeneneous and potentially weaker teams.

1.) They select using criteria that are easy to test, such as writing quicksort on the fly. That's a small part of engineering --you also want people who can recognize big-picture patterns and communicate them clearly. This is a lot harder to evaluate so many interviewers simply don't.

2.) They select for people who are already in similar positions. For instance, white-boarding kubernetes application design is pretty easy if you are already doing it. As an interviewer it does not really tell me much about your ability to think originally or whether you can adapt.

Getting around these biases is hard. One way I test people now is to ask them to show me their favorite design or code and explain exactly how it works. That starts them off on comfortable ground. Then I start to tweak the boundary conditions to see if they can adjust creatively. It removes the stress factor and is a lot more illuminating than coding up something totally new from scratch, especially if you only have 45 minutes to extract as much information as possible about somebody's thought processes.

Very interested in other thoughts on this topic. It's a hard problem.

The all day interview process selects for a kind of person who is confortable with arduous processes. With poor scalability.

IMO any team with an SLA should be avoiding these people like the plague, because they will tolerate bullshit manual processes that take all day. They have no motivation to make foolproof automated processes with good visibility and repeatability. The smartest of them will fight attempts to change the status quo because the status quo makes them look good and everybody else look like idiots.

Three of my favorite bosses were from the Fire All Heroes school of management. Two actually gave a speech to that effect in front of the entire engineering dept. They helped me get out of the hero racket.

It’s great to be needed. But it sucks being the bottleneck.

My problem is that it's all cargo cult, and none of it is rationally thought through to pursue desirable qualities in an engineer.

Even within Google, Facebook, Amazon, and Microsoft, you're usually being interviewed by a fresh-out-of-school 20-something who has no idea how to do much of anything, let alone evaluate candidates fairly. And yes, they "train" these kids -- but you basically can't train someone to do something that relies heavily on intuition. That requires experience, but 20-somethings don't have experience. So instead, they're "trained" to do the one thing you can do repeatably: ask coding puzzle questions from a book, and reject anyone who doesn't regurgitate answers with 100% fidelity. It's the McDonald's food of interviewing: not the best (or even good), but consistent across a large organization. Sort of.

So while big companies need people who can work on a team, exercise good judgment, communicate clearly, write clean code and not be racist/sexist/evil jerks, they get...people who can memorize questions from a big book of programming questions. I can easily come up with tests that get to each of those properties...but they rely on interviewers having good judgment, and most do not.

I get itchy when I get asked to write code that I would veto in a code review.

My internal dialog when asked things like a linked list or a hash table is "Oh god, does this mean they like code like this? I bet some 'clever person' at this company wrote their own hash table/event queue/template engine* and forces everybody else to use it."

* Unfortunately my current employer is just like this but I didn't pick up on that in the interview process.

You and me both. And it feeds itself, too, because every line of code is an opportunity to reinvent the wheel or do something clever (it sometimes seems like they want to see that, or else this class of question wouldn’t be asked??).

The downsides of avoiding the algorithmic interview process is that you will end up hiring people who talk a very good game, but cannot write code to get out of a paper bag.

One of the most painful interviews I have ever seen was a guy who had a resume listing a number of interesting projects. He could talk energetically and in detail about them. Then we asked him to write some code to solve a simple problem. He said he didn't know our primary language, but was very familiar with Python. I know Python, I was good with that.

He didn't know Python. I tried to help him, but he didn't get much farther. I eventually called the interview, with a complete 180 of my hiring opinion. Nice guy, but he couldn't be what we needed.

This is a real problem. If you are hiring coders you have to have a couple people in the team go deep on coding chops to ferret out the charlatans. Personally I like to show people a piece of code from a big system they've never seen and let them walk me through what it does and what they would change to make it work better. Some teams I work with also give 'homework' exercises, which I believe is fairer than trying to do it in front of somebody else. (Unless that's how you actually write code on a day to day basis.)

Good interview processes reflect complementary broad and deep concerns. It's kind of analogous to the way a strong team is better than the sum its parts.

> Personally I like to show people a piece of code from a big system they've never seen and let them walk me through what it does and what they would change to make it work better.

This could be the first coding interview style that actually makes sense to me

You can easily do programming problems without algorithm questions.

I don’t think I’m against the algorithm part as strenuously as I am against the gauntlet part. You shouldn’t be locking someone in a room for 6-7 hours and then judging them on how they keep their cool, for many reasons, including those I mentioned above.

As I mentioned elsewhere I think you can ask questions that look like work but aren’t (go too far the other way and you’re into IP problems)

Can you please elaborate more on the Fire All Heroes philosophy? I looked into it and couldn't find anything describing it in depth

I’ve only met a couple people who say “fire”. That’s a little overwrought. The less dramatic version is “we are too big for heroes” which unpacks into something like this:

You don’t want an organization that relies on one or two or three people to swoop in and save the company every time there’s an emergency. A production issue should look like disaster preparedness. Document, train, drill, prevent.

More concretely, make the important parts as obvious as you can, as similar to production as you can, so anyone can set up a system and try to repro the problem. Config, build, and deploy should be push button (very robust scripts with every cheap sanity and safety check you can manage). No flakiness is okay. Nor obscurity. Everybody should understand how it works.

Document everywhere diagnostic data comes from and goes to. Don’t let your most senior people solve production issues; assign them to people one step down (and throw in some promising mid-level team members for diversity and longevity). Five why’s every outage and be sure your resolutions always involve making the problem easier to detect next time, not just prevent.

Thank you! That was a great explanation. I like it wrapped up in such a memorable phrase

On the other hand, if Facebook had hired him, it's unlikely he would have had enough freedom to create Whatsapp or anything like it. Even if Facebook knew what was going to happen, Facebook still made the right choice when they rejected him and later bought his company. Rejection can be a good thing for everyone.

Maybe.. but maybe he would have been on the Messenger team and made that What's App.

I doubt that. In most companies the Managerial chain kill bottom up innovation.

There’s less than 1% chance Facebook messenger would be able to live to the philosophy of “no ads, no gimmicks, secure messaging”

That’s why startups can disrupt. It really does reward bottom up innovation.

We are talking about a startup that sold to Facebook for $19 billion dollars whose founder was rejected by Facebook when he interviewed for a job there before he started what's app. I know this is make believe world but had Facebook hired him and had he worked on messaging I bet he would have beget a similar product (in make believe land). The problem most of us Americans didn't understand was that SMS cost money (in the rest of the world) and not in the USA. Most American text plans were free and unlimited in the beginning... that was until the US mobile networks caught on to the Europeans and realized they could charge per text. So that what made what's app. And FB could have saved themselves $19B.. still.. if you are right then he probably would have left FB and started What's app on his own.

There’s a reason why the founders quit even after Facebook bought them.

Facebook is a growth at any cost kind of company. They really wouldn’t have listened to him even if he joined Facebook in the first place.

The messenger on Android sends all your text messages and phone logs to Facebook. Mark approved that in the name of growth.

There’s absolute no way Whatsapp would have been invented at Facebook. Facebook only bought it because it could have been a serious threat to their dominance.

FB would not have allowed him to make Whatsapp. It was built with a philosophy of correctness ("We can never drop a message") and privacy. Contrast that to FB's "move fast and break things" and disregard for privacy to the point that they stole users' call logs right off their phones.

So there's no way they would have listened to Acton and let him build Messenger the way he wanted.

Add to that the fact that Acton's ideas didn't yet have any market validation. Once WhatsApp was a proven success, FB was willing to pay for it, but even so they are now destroying what made it good - https://www.theverge.com/2018/4/30/17304792/whatsapp-jan-kou...

That's assuming that some other app wouldn't have filled the messaging space.

It could mean though, that he's a very good tech entrepreneur, but Facebook was hiring him for software engineering, and he didn't meet the standards.

There's something that I learned too about entrepreneur, once their company is bought, they usually don't stay long, often they only stay the length required by the contract. Sure money is a factor, but usually, an entrepreneur wants/needs more than a simple job.

Brian Acton himself left 3 after later, months before all his options vested. In his case it was about Whatsapp monetization, but it's in the same vein (lost of control of the company).

But isn't that the optimal outcome because $19B dollars indicates it was clearly very valuable to Facebook and it's not likely he would have created it if he was working full time at Facebook.

That there is a stunning amount of randomness in hiring is, I think, by design.

This really highlights how hard it is to hire, at least in Tech. We come up with processes and fantastic lists of questions that verify how well a candidate knows minutia, and use that as proxy for how well he/she will do in a position where the primary required skill is speed of learning and growth.

I'll hire someone who knows how to find out what they are missing over someone who knows a lot of details but can't grow. But that is hard to justify and involves risk: what if I misread someone's capacity to learn and I just hired somone without the skills nor the ability to learn? Joke's on me!

So larger orgs will naturally go for process-driven hiring practices, so they can cover their behinds (and part of that is due to the requirement of applying the same standard to everyone—can't fault them for that).

But this is how small orgs can win, by taking chances on candidates that are very driven to grow, and can create impressive teams that will outlive the company: good teams always find a way to recombine at least partially in other companies.

So the corollary for candidates is: you have to reverse-engineer the hiring process of the large company you're trying to join. Or you can go for smaller companies* that do something you want to get deep into. Total comp is less but look at it in terms of you getting paid to learn. Then make yourself available so that large orgs come trying to hire you. When that happens, it will be on your terms.


* Note: small companies don't have to be startups. While startups can be fantastic places for growth, they can also be sh*t shows since the entire company is trying to figure itself out, so be sure you properly interview their founders to get a feel for their integrity/sleaze.

How do you determine "can't grow" ?

If there are two good candidates and I pick one of them, it doesn't necessarily mean you were 'rejected', you just weren't selected. I've been 'rejected' by plenty of companies but I try not to take it too personally.

Still, it's pretty silly when a company says you're not knowledgeable enough in X when you literally wrote the book on X.

Being told, "You obviously don't have experience" by a company when it's literally untrue really grinds my gears.

I think you have to take all interview feedback with a pinch of salt. People make emotional decisions then try and rationalise them. You will rarely hear what the emotional issue was.

Yeah, I understand it. The _public_ reason for a rejection is rarely the same as the _actual_ reason for a rejection.

It just grinds my gears when a company adds that little bit of insult at the end of it, by somehow making it your fault in the end for supposedly lying to them.

This is why a lot of companies just don't bother to give any substantial feedback.

Maybe its semantics but I only represent myself as rejected when I fail the interview loop. That’s a lot more frustrating, especially when you were stoked about the company.

For a company with infinite headcount (any of FAANG), it does mean you were rejected though.

It's not just that. Candidates can be perfectly capable and qualified, but have work style, or even values, that don't align with the company.

Or they're not a good fit because the recruiter who found them isn't recruiting for a team where they'd be a good fit.

So it's not just they they weren't selected, they weren't selected for that role.

> Candidates can be perfectly capable and qualified, but have work style, or even values, that don't align with the company.

That is the candidate's decision to make, not the company's.

Why do you think it's not both? If you were running a startup (company), hiring people who match your team's work style and values is as important as capability.

This would be much easier to deal with if companies gave some reasonable feedback. With the way things work as an applicant you don't know if you were completely rejected or almost selected. It's the same.

And it can be completely subjective. I applied for a position and interviewed with two different teams there. I had a friend on the interview board. One team said that I seemed "inflexible" and the other team thought I was "too compliant" and potentially wishy-washy. So my feedback consisted of opposite perspectives.


It has nothing to do with the passive voice. “You were rejected” and “You were not selected” are both passive.

“I was given an awesome job by Google” is passive. “Google gave me an awesome job” is active. They mean the same thing. The only difference is whether the sentence puts the emphasis on the entity getting or giving the job.

You should reframe negative events like a job rejection.

There is a clear distinction in my opinion, I've outright rejected candidates because they simply didn't have the skills. And not selected a capable one because someone else edged them out. It's not semantics. There was a decision made based on the individual.

The end result is the same but there is a distinct reason for the decision.

Try getting rejected at the final executive approval (i.e., their magic eight-ball) after passing the in-person day and the hiring committee.

Once you've seen the inside of the hiring process, you'll never take this stuff personally again. It's utter garbage. At best, the process manages to select for a few traits that are probably useful, while de-selecting for others they didn't realize were crucial for ultimate success.

If you doubt this, ask yourself how one of the tightest hiring sieves in the world managed to produce Google+.

There was one company I applied to, for which I passed the screening and the technical interview, that I got a "Welcome Aboard" email from which also included paperwork for getting started. I just needed to meet the CEO as a last step, but they told me it was basically a formality and that I was hired.

I arrived on time and was told to wait outside the CEO's office. Through the wall, I could hear him talking to someone over the phone about football and what flavor chicken wings he wanted to have ordered and delivered to him. I sat there for 25 minutes hearing his muffled dudebro voice ramble on as if his schedule was clear for the day.

Finally, he let me in. At least he remembered my name. I told him why I wanted to work for Acme Corporation and the skills I planned on bringing to the table. He told me almost nothing and had me out of there in less than 10 minutes.

Not even an hour after I left did I receive an email from the same HR person who told me "Welcome Aboard!" that they wouldn't be moving me forward in the hiring process. It was one of the most devastating moments in my life because that initial email and the phone call I got after was a sign that my shitty life was finally going to turn around.

It did help teach me a good lesson that I would learn multiple times(with much softer landings) later on, which is that most people involved in hiring don't know what the hell they're doing and that just because a company makes a lot of money doesn't mean that forms of insanity aren't baked into their processes. You've just got to let rejections roll off you.

Or you can do what I did, rip them a new one and tell them that their process is shit.

Could be just as you detected 'dudebro'... he didn't, and thus you didn't make the cut. Consider the bullet dodged.

Back about 2004, I had the same experience, minus the CEO, with Google.

As someone who's gotten rejected by more companies than I can even count or remember, I think this is great. I have a bitter, guilty fantasy that I could go back to some of those harsh rejections long ago and show them the updates to my resume since they declared me useless.

I wonder if/how companies try to measure their false negative rate. Despite how straightforward it is to fire someone in the U.S., they keep saying "it's better to reject a good candidate than hire a bad one." Is that really true? I wonder how many big companies have thought about testing that assumption, maybe changing their selectivity and measuring the effect. Have they really measured how much it costs to hire/fire a bad performer and shown it to be greater than the productivity they'd get out of a good performer they are inclined to reject? Does their strategy of holding out for months, looking for that unicorn candidate instead of hiring someone who's "just fine" today really work? How do they know? Have they measured it?

Are they even serious about their existing selectivity? Is it baked into their annual performance process too? How many of them apply their selectivity bar to their existing employees? One common thing I've seen at companies is many of their "old guard" long time folks would never pass today's interview hazing. The most difficult thing most people ever do at a company is pass the interview.

Guys like Spolskey did enormous harm to the industry by pushing this inane meme that a single bad hire will destroy the company overnight. It just isn’t true. The vast majority of work doesn’t need a superstar, it just needs basic competence and a good attitude. And probably most of the candidates you interview can do the actual job.

Plus it just isn’t plausible that the finest developers in the world were flocking to work on a web based project management tool so how was he an authority anyway...

>Despite how straightforward it is to fire someone in the U.S., they keep saying "it's better to reject a good candidate than hire a bad one."

It depends on the role. Sales tends to be pretty performance-oriented without a lot of leeway if you miss your numbers.

But, for better or worse, the attitude for most roles at most companies is that, once they hire someone, they mostly don't want to fire them if they're doing an even halfway competent job so long as the company as a whole isn't doing layoffs.

> they mostly don't want to fire them if they're doing an even halfway competent job so long as the company as a whole isn't doing layoffs

This doesn't sound anything like the "bad hire" everyone claims to be paranoid about.

I graduated from Fullstack Academy, and I've been rejected outright by most companies I applied to; only a couple have given me over-the-phone interviews, and nobody brought me on-site.

I have all but stopped applying, am doing freelance work to keep my skills sharp and pay the bills, and plan to start my own company in the future.

My motto: If you can't join 'em, beat 'em.

Edit: most companies I applied to are not of FAANG caliber. Also, I don't feel entitled to be hired; in most cases they didn't even deign to write a rejection email.

A couple of pointers to help you forward. First, don't give up. Keep building up your experience and portfolio. To be honest, Fullstack Academy graduate means to me that you're completely entry level. That's fine, but when I'm hiring I almost never want entry level people. And even if I do want entry level people, I've got about 1000 CVs from people to choose from (and that is not an exaggeration). Landing that first job is really, really important.

How do you land the first job? You have to stand out. It is possible (and even likely) that your CV is not great. The first thing I would do is to make sure to attend as many meetups as you can for areas relevant to your experience. Try to find a few experienced people and see if you can get some feedback on your CV. Reassure them that you aren't looking for an interview per se, you would like some independent feedback so that you can make your CV look better.

When you get an over the phone interview, your attitude should be that the in person interview is nearly 100% guaranteed. There should only be 2 reasons for not getting the in person interview: the job is wrong for you (which you should be able to detect) or you have flubbed the phone interview. Without being too much of a pain, get to know some senior people in meetups and chat with them about technology. Try to get some honest feedback on what they think about your potential as a programmer based on those conversations. Over the phone interviews are a bit like that -- you should have the feeling of just kind of geeking out about your chosen field and chatting with like minded people. Practising conversations like that will help you a lot. Getting feedback is really important as well.

Now, here's where it gets hard. When I'm in a big city and go to a meetup, I often find myself chatting with someone who is clearly not very strong as a programmer. Usually they are looking for work and usually I'm not interested in bringing them on board for an interview where I work. However, it's hard to give good feedback because you don't know the person and can't tell how they will react. It's important to pick up on that vibe, because of the next step.

If you find that people aren't going out of their way to rush you to an interview, probably it's because you don't present yourself as being a solid enough candidate. So this means you need to figure out what your biggest weakness is and work on that.

The biggest red flags I've found with really junior people (and sometimes even senior people) are:

- they have funny ideas that they obviously haven't tried in realistic situations because they aren't going to work. e.g, "In my foobar server code I discovered that it runs faster if I name all my variables, a, b, c, etc." Maybe not quite so stupid, but often pretty close.

- they have strong opinions on stuff despite having almost no experience "Ruby is the best programming language, OO sucks, Testing is stupid", etc, etc.

- they regurgitate stuff they've heard or read and present it as gospel "Why isn't everybody using microservices? Super-programmer Sam says you are a dufus if you don't and I believe in Super-programmer Sam".

- just generally clueless without realising it "I'm good at Rails. It's the best way to write front end apps".

What I'm looking for in a junior developer is someone who knows a little bit, understands that they know only a little bit, is hungry to learn more, enjoys programming and demonstrates a knack for learning.

Things that really impress me are people who meet me one time and if we get talking about TDD, for instance, will go away and at the next meeting flag me down and say, "I did this. Can I get your feedback on it?"

Doing freelance work is great if you can manage it. However, you should also take the opportunity to build things that will help your life (even if it's just a TODO app, or even if somebody has already written something better). Use the opportunity to practice. Write it one way. Rewrite it a different way. Listen to senior people who tell you "X is amazing, you should use X" and then try it. Go back and say, "I tried X and I'm not sure that I understand how it's better. Can you have a quick look at my code and tell me if I'm doing it in a good way?"

As strange as it sounds, this is exactly what I want in a junior person at work. I want them to be eager, humble, always learning, and engaging. I want them to bug me constantly about how to improve. I want them to listen closely to everything I say and to try to integrate my advice. People like that are gold for me and I will seek them out.

But the biggest thing is that you need to be interacting regularly with people in the industries. Meetups are best. If you can't manage that (due to your location), then devote yourself to working on open source projects, hanging out on IRC, etc, etc. It sucks that you have to work so hard at the beginning of your career, but it will pay dividends!

Anyway, good luck! As long as you are always thinking, "What can I do to become a better programmer", everything will fall into place.

Thank you for your honest advice! It's great to learn about the thought processes going on at the "other side of the table."

Some more context which clarifies my decision to "pave my own road":

-Before Fullstack Academy, I founded/co-founded two startups (we succeeded in building the products, but failed at marketing). I've also taken some actual CS courses. Bootcamp filled gaps in my knowledge and taught me how to collaborate better, but it wasn't my first time coding or interacting with fellow coders.

-Most of the jobs I applied to are entry-level. If a company is looking for senior talent, they should state that clearly and not waste junior developers' time.

-When I get excited about a company, I put a lot of time and energy into my cover letter/introductory email. In return, most companies didn't even bother with a template rejection.

If you're willing to put the time in, use your network to find someone that works at company X. LinkedIn is good for this. You can even send a link request to someone on LinkedIn that works there. But don't use the default, "I'd like to connect." Say, "Company X looks cool because ... - Do you have time to meet for coffee and tell me how you wound up there?"

I got a few warm introductions. In those cases I sometimes got further in the process, but never to an on-site.

Dude thank you for this!

> What I'm looking for in a junior developer is someone who knows a little bit, understands that they know only a little bit, is hungry to learn more, enjoys programming and demonstrates a knack for learning.

I'd like to believe that describes me... now I just need to figure out how to better communicate that in my job apps.

Maybe it's just me but it sure does seem like a lot of these people ended up at Twitter. And I don't see a lot of Google.

The obvious explanation would be that the maintainer (who used to work there) hit up colleagues for stories, or because it circulated among Twitter employees for whatever other reason. It's not very likely to imply anything about Twitter's or Google's hiring.

This is accurate. I see a lot of my twitter-employee friend network represented here.

(Also, this feels like it even started as a twitter thread.)

It could also be that twitter has a better hiring process with fewer false negatives.

That's possible, sure, but the evidence here doesn't support that conclusion any more than it supports the reverse. When you have a small group of things that clearly weren't chosen at random, the safe bet is that they don't imply anything about the set from which they were selected.

The evidence doesn't support any conclusion really. We are just guessing. I'm merely calling what what A could be in A implies B.

It seems like Google filters hard on whiteboarding, questions and Twitter filters on something at least somewhat orthogonal.

I guess you could argue that using Profitability as a metric as a guide to how succesful the hiring strategy was?

I wouldn't, but you could...

Since the major component of Google's profitability is its search business you would have to filter for that. Much of the rest that they do isn't exactly a shiny example for profitability. Also, it's not exactly easy to say who and what exactly contributed to profitability, it is way too complex and environment also plays a role, as well as competitors (if they mess up big time, does that mean you are good?).

Sure, an accountant will be able to give you an answer how one individual human or piece of equipment contributed to the result. It will be a different one depending on what you need the number for though (to calculate taxes? to make an investment decision? to allocate production resources?), and it is quite arbitrary.

Do practice interviews at companies you don't really want to work for. It takes the pressure off and makes the real interviews easier.

Who has time for that if you have a full time job? Do you spend all your vacation in interviewing?

Your first job is your job, your second job is working on OSS on github to make yourself look good, and your third job is interviewing :^)

> your second job is working on OSS on github to make yourself look good

Sounds good on paper. In practice, what people do on Github is worthless.

I've only one company ever actually looked at what I made on GitHub. Otherwise, they'll never check out what I've done even if a project is listed on a resume. Nobody has the time or amount of shits to give to actually review your own code. Very few people I know who are working as software engineers even have any serious projects or contributions on GitHub.

As much as I love doing side projects, the idea that companies care what I do on GitHub is some of the worst advice I've encountered. Now my profile is full of trash I've forked along the way and it hasn't made a lick of difference as to how many interviews I've gotten.

I’m not frequently involved in hiring, but when I’m looking at a resume for a potential coworker I will check their github. If it’s shit, that doesn’t matter at all to me, but if it has some neat stuff I will look deeper, and the bar for “interview” and “hire” can be substantially lowered for the in-person interview.

Basically, I’m looking for good signal, but that can show in a lot of different ways for different people. If OSS or side project or whatever is something you enjoy doing, or if you’re not working full time and struggling to prove that you can bring the goods, these sorts of things can help you.

It’s a bit extreme to say putting projects on GitHub is worthless when it comes to generating job opportunities. In my experience, if you’ve got a project that delivers a ton of value to a suffiently large set of people, somebody usually will reach out.

I had a look at the github of someone we were interviewing. He had azure credentials committed in one of his projects. We have him a pass.

Most interviews are during my work hours. Do you take a day off for each?

You have 2 choices. You can do it discretely; after work hours, no the may not contact my employer. Or, you can do it openly; multi-hour lunch breaks, lots of personal time off, and your LinkedIn profile is super active.

The latter will either get you a salary increase or you'll be shown the door. Ask me how I know.

I haven't had an on-site yet that didn't require blocking off an entire day.

I have had half-days (my company does that too) which pretty much require a full day off.

I guess it helps to work remote a lot. Much easier to disappear for a while.

Is this serious advice? Because this sounds to me like a great way to get burned out...

No, it's a joke.

I don't want a second/third job. I want to spend my time off with my family and loved ones.

Sorry, you're rejected for not being passionate enough. Also, you have a family, so you're too old to work here anyway. But we can't say that last part out loud.

No, because I have a job I like now. When I had a job I didn't like... Yeah, changing it was a pretty big priority. Why wouldn't it be?

Recruiting is a time consuming task for all involved and for you to casually waste peoples time in that manner is horribly disrespectful

Sure, but that's a two way street. Companies disrespect candidates by making them jump through irrelevant hoops.

The job candidates didn't create this problem.

You're right, it is a two-way street. Candidates go in to the process hoping to get a job and employees go in to the process hoping to get a co-worker. Both are acting in good faith

Most companies disclose what their process is up front and you're free to opt out at any time. Intentionally wasting the time of the recruiters and engineers at companies you don't want to work for just to "practice" just seems really rude

> Most companies disclose what their process is up front

That's funny. You should do stand-up.

>Recruiting is a time consuming task for all involved and for you to casually waste peoples time in that manner is horribly disrespectful

The argument cuts both ways. If the company rejects most people they bring for an on-site interview, then they are OK with wasting a lot of people's time. It is the company's responsibility to screen their candidates better.

Among the FAANG companies, 7 different recruiters contacted me this year (including multiple recruiters from the same company - for different divisions). I didn't apply to any of them. I got past their screen and they brought me on site.

Considering the way tech companies interview these days, I'm not really feeling a lot of compassion.

Multiple, full day interviews are horribly disrespectful.

Imagine looking at a website like this without being in the tech industry (or, more specifically, the "highly successful" tech industry). I can't imagine people in many other occupations looking at a site like this with any amounts of sympathy.

We truly are in a fortunate "bubble" where we can sympathize with those who don't get exactly the top-paying job they were looking for and had to "settle" on Twitter, Microsoft, etc.

The Big Co interview process is a binary classifier (hire/no hire). It's actually reasonable to tune it to minimize false-positives, since a bad hire can be disastrous for all parties involved - imagine an employer changing their minds on you during your first few months. Tradeoff is that this will increase false-negatives, saying No to great people, and lead to stories in the link above.

Other thing worth mentioning is that "culture fit" might make companies turn down excellent developers, who don't happen to have the founders' same personality type.

Salty software engineers :)

It gave me a good laugh, it's comforting to find some people who are saltier than me. It made confronting my own saltiness easier.

Thanks for sharing this. I'm switching careers, and I've lost count of how many rejections I've received at this point. Probably my highwater mark so far was getting to Google for an onsite interview. The day after I was so proud for getting there, and not completely bombing the interviews (i.e. I was always able to at least arrive at a solution for the problems, if not always an optimized one). But ultimately that wasn't good enough, and it is back to square one.

It is easy to say, "don't take it personally", but when you're starting from a non-traditional background, and therefore the amount of rejections you receive is probably higher than normal, it is really challenging not to let it get into your head and think maybe you're just not cut out for this line of work.

Like most, I've been rejected by a few companies. It hurts but it is normal. I've had what I thought was great interviews but not got it, and on the other side been offered jobs after what I thought was a terrible interview.

And I've been on the other side of the table many times and rejected good candidates simply because we had what we perceived to be better candidates.

So it is often not even be your fault, just for some arbitrary ranking/preference done by the interviewers that day someone else got the role(s).

I wonder how safe would be me post my own stories... Since I don't have a major company job, would it stop my hiring chances?

But basically: one company rejected me because was against company policy hire people without experience... Except they wanted to be the first company in my country to hire someone for that role and wanted to hire a local. No wonder they even wrote magazine articles complaining of not finding anyone...

Another rejection: person that was supposed to phone interview me didn't shown for work at all, they asked another person to interview me, that person had no idea what was going on, stuff didn't went well at all... Had to answer questions for coding language I didn't knew because the person didn't knew the language the job offer was for...

I have evidence to suggest that I have been subjected to illegal hiring discrimination in the past. However, I'm not going to share my story because I know a ton of HN people will defend the discrimination as justified (even though it's not, and even though it was illegal).

But I don't give a fuck. A company wants to reject me on stupid grounds? I'll go get a different job at a better company. There's _tens of thousands_ of software employers in the bay area. If one decides they dislike me so much that they're willing to do this, it's probably a bullet dodged anyway

This implies that there's a stigma to being "rejected" for a role.

The answer is that you're not entitled to a role, just like a company is not entitled to have you. There's no stigma in saying "You're not exactly what we're looking for right now", even if it's the case that you might be _really great_ somewhere else or even ideal for that exact role in future.

I don't understand people who take a "no thank you" personally, some of the comments are along the lines of: "Ha! sure showed them!" but really it's just like dating, sometimes you get passed up for no other reason than you weren't the person the other was looking for at the right time. Understand rejection, don't treat it like an enemy.

> I don't understand people who take a "no thank you" personally, some of the comments are along the lines of: "Ha! sure showed them!" but really it's just like dating, sometimes you get passed up for no other reason than you weren't the person the other was looking for at the right time.

Perhaps that makes sense if you don't make it past the application or initial phone conversation

However, once a company gives you the opportunity to demonstrate your professional skills, either via a technical phone screen / homework / on-site whiteboard-a-palooza, I don't think its accurate to state that they're just not that in to you.

Your personal performance in that session is the reason for you advancing forward or not and when you don't, it is hard not to take that personally.

> I don't understand people who take a "no thank you" personally

Probably because they've been personally rejected for a job.

I get what you're saying in the context of one job, perhaps when you already have experience. But when you're just starting out and get rejected repeatedly, of course it's disheartening.

Maybe things are different today but I remember applying to jobs out of school as being very much a numbers game. I'm sure I had dozens of rejections and those are just the ones that got back to me. By contrast, every subsequent job (well, all three of them) came from very narrow targeting and my personal network.

I totally agree with your sentiment and aspire to a more stoic / optimistic approach, but personally have found it difficult to avoid taking things like this a bit personally - especially when you're excited about the potential role, think you'd be a great fit and you believe the company may have gotten a bad read on you.

Do you automatically reject about half of country music on the grounds that "you just weren't the person the other was looking for at the right time"?

I'm not saying that a steady diet of heartbreak songs makes for the best listening, just that the impulse is widespread, and so arguably understandable.

The lesson is you will be rejected for a variety of reasons but it has no reflection on your ability. Candidates with less ability will be hired before you. Not because of you because they are not good at finding the best. The best they can hope for is good enough to not look badly on them.

How many places whiteboard an interview but once you are hired no whiteboards can be found. We are a far ways away from when companies start interviewing with specific questions that relate to the actual role. If that happens you can start taking rejection personally.

Way back when you got actual rejection letters, I kept them and started to build a collection and would compare them (which was interesting in itself).

Once I made a game of it, I could actually have a tiny bit of fun ("yay! another one down! keep going!)

It still stings, but if you want to be truthful, you need to make a friend of failure if you are doing anything worthwhile.

I'm really surprised at how they managed to get so many big names from the open source community to share their stories.

Maybe success isn't tied to grinding out a bunch of leetcode?

Hot take: success is almost always accompanied by a healthy dose of survivor bias. For each of these success stories, there are a lot of good people who did the exact same thing, but it didn't pan out because of timing, location, or other similar factors.

It's very fashionable for successful people to tell the story how they "failed" or got "rejected" but with enough persistence they found success. There is something to be learned from that but you never hear the stories of people who do the exactly the same thing but never succeed and keep getting rejected. There is a lot of survivorship bias in this.

How I Failed and Am Still Failing to This Very Day

> I'm really surprised at how they managed to get so many big names from the open source community to share their stories.

It helps that, it's pretty silly to claim that someone like Kyle Simpson "doesn't know Javascript" (when the title of his series is literally "You Don't Know JS").

I don't think it hurts his brand any to be open about his rejections.

success is pretty tangential to being good at coding, at any large company. As long as you're good enough to get by.

I'm starting to think institutionalizing this kind of convoluted hiring/hazing ritual also keeps developer salaries down. Imagine if whenever you interviewed, instead of getting say 1 offer in 5 you got 4 out of 5. Now you'd be in a better bargaining position when considering offers.

This might be good, except there's no difference between "You're good but someone else was a bit better" to "You should get out of this industry and stop wasting your time. You aren't owed a living." which is generally the more correct thing.

I wish people gave better signals for the latter, so you might know better whether you should keep applying, pivot careers, or check out.

In response to these people being hired by twitter: I think all of these statements are being sourced from twitter, and the links to their names all point to twitter, so it makes sense that people working at twitter would more often say how they got there on the platform.

Many others in the list never made it past the phone screen for twitter.

This is really wonderful. As someone who just landed a job after going through so many dehumanizing and demoralizing technical interviews, this makes me feel __a little__ better about my situation.

At one time long ago I worked in IT before moving to another industry that was more who you know and personal rep (interviews were a formality). What sticks out to me here is the number of people who say they were 'escorted out' in the middle of an interview or otherwise had one abruptly terminated.

Beyond the rudeness, it smacks of arrogance. Even if you sense the the person will not be a good match, there are ways of wrapping up a little quicker without being a *bag. And we wonder at the coarseness of our society today.

This is an example of and response to the poor state of hiring that takes place in development.

Rarely do I know why I'm rejected, even if I ask but it feels like it could be anything, like a keyword. Applying for jobs is basically Bumble but, less fun. Instead of pics of you on a horse, you have a CV.

I bet if you combined up-front testing (like hackajob) or a boot camp course with short-term contractual work from various companies, you could create a decent hiring funnel too.

Subtitled "A Compendium Of 'Ha! I Sure Showed you!'".

Well, sometimes that, and sometimes:

> Anne-Gaelle Colom@agcolom jQuery

> I was refused a reference by my supervisor in France who thought the male student on my team did all the work.

I didn't say it was always unjustified...

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man." --George Bernard Shaw

I like rejection. Well, maybe 'like' is the wrong word, but I appreciate the results it brings to my life. I deeply believe that a healthy working environment only comes when both the employer and the employee are right for each other. I would rather fight through rejections to find a good home than have string of mediocre roles that aren't quite right.

You'll like it a lot less when you need a way to feed your family (or just yourself), and rejection is all you get. You can't pay your rent and grocery bills with rejection.

Aye. I'm making $13 an hour while trying to apply to every job that I can, while building out my portfolio projects to improve my resume, and grinding LeetCode. Needless to say I can't really afford to socialize or eat out. It really sucks after a few weeks :/

How many people got rejected and ended up in a worse job than the one they applied for, or in no job at all?

The opposite happened to a colleague of mine.

He got rejected by a company ("Not enough experience" was the reason given).

Then, 7 months later, not only did he get accepted to the very same company, it was at 2x the asking price from before.

It really goes to show that the hiring pipeline can get pretty schizophrenic sometimes.

Shhht, don't break the spell.

People enjoy complaining, more so in groups.

If I could be bothered (which I can't quite) I'd set up an "I rejected them" alternative: all the companies I wouldn't choose to work for because they are unethical or corrupt or produce trivial crap that's not worth making.

Note to self: If I get rejected from a lot of companies, just apply to Twitter. They'll surely say yes.

Addendum: there should be a companion site "Even twitter rejected me!"

The site was made by an ex-twitter engineer, so lots of the entires come from other Twitter engineers.

That's a really interesting sort of survivor bias.

engineers at twitter are used to making useless websites ... jk, im not a billionaire. But I was accepted by twitter.

It does look like Twitter is for rejects if you only read the top entries.

Looks like nobody knows enough JS...

This is interesting because in reality JS is supposed to be easy.

Since I've switched to Typescript, I've forgotten tons about Javascript and I don't care. Obviously I'm refreshed every time I check under the transpiler hood to see what's going on, but that's rare.

JS always felt to me like a language wherein you didn't want to memorize all of it's arcane weirdness anyhow.

Typescript doesn’t do a lot of transpilation if your target is ES6.

True, but in TS I've found the code is structured differently, to the point where 'prototype' inheritance is effectively obfuscated.

The other thing I find odd is why employers care that someone has deep and existential knowledge of JS? Who cares? I would probably object to any of my devs moving into JS weirdness unless it was totally necessary. You want simple, clean and readable solutions to business (or technical) problems, not something fancy pants. Every bit of oddity / less common stuff introduced just increases risk.

ES6 supports classes, so it would be the same thing.

> The other thing I find odd is why employers care that someone has deep and existential knowledge of JS?

They are probably just bad interviewers, or the company really doesn't know what it wants. Esoteric knowledge questions are a warning signal that you probably don't want to work there.

Most companies, even the best do this.

As for TS I'm thinking interfaces, generics etc.

I wish! Wouldn't that make the interview much easier. Nope, instead they ask you to whiteboard up some code (in whatever language you want) and discuss how you would design something you never saw before.

Like the part where the site downgrades gracefully and shows something instead of nothing when JS is disabled? Yeah, totally, agreed 100%.

My first impression was "you don't actually need to know enough JS to work at Twitter".

After reading through many of these, it felt a bit unhealthy and pointless.

Something I’ve always been told about interviewing: getting in the door means you are at least qualified for the job on paper. The company would not waste its time talking to you if there wasn’t at least some chance they are going to hire you. Whether they hire you depends on how well you spin your story and how strong of a rapport you form with the interviewers.

If someone does not like you, they will not hire you. This can make things difficult for introverts and socially-awkward people.

Interesting that Chris Wanstrath, a newly minted billionaire and the counfounder & CEO of Github, just chimed in on the site and said he was rejected for an engineering job at Yahoo. If the standard Valley screening/interview process isn't able to pickup on the abilities of someone obviously very talented, self-motivated, and entrepreneurial, doesn't it call into question the efficacy of such procedures? It seems like existing hiring procedures might be very broken.

There are many reasons why Chris might have been rejected. Maybe indeed Yahoo was not able to recognize his talent. But maybe the company was hiring for a specific role and found someone better? Maybe despite his skills he didn't perform well in that particular interview?

Hiring is very difficult. Your have limited amount of time with the candidate and based on some coding task and a few hours of interview you need to predict whether that particular candidate is going to perform well in the role you're filling. It's hard, and I'm sure I passed on a few good candidates just because at that point of time I wasn't sure enough whether they'd be a good addition to the team or not.

I’m far less worried that these companies reject a lot of people than I am worried that so many engineers are willing to accept idiotic open-plan offices, horribly dysfunctional management, pay that (while high) doesn’t fairly reflect a realistic fraction of the monetary value you actually contribute to the business.

Jobs at most well-known tech companies are really dumpster fire terrible things, bad for basic psychological health.

It’s sad that we consider getting these jobs a serious measure of any kind of success.

But how do you know where your bar is if you think your rejection is merely a result of companies not knowing any better. Maybe you are not really good enough to work at google.

Max Howell's story really surprises me. You would figure that someone would've internally fast tracked a developer like him.

He wrote a bit more about it on Quora [1]. He still feels he should have been hired, but I think the Quora answer makes it pretty clear that he's not what Google is looking for in software engineers.

[1] https://www.quora.com/Whats-the-logic-behind-Google-rejectin...

That one is famous. We had a quite lively discussion about it here shortly after the event.

Edit: to this day I have no fucking idea what “inverting a binary tree” means, other than the interviewer was too proud to admit they made a mistake.

Trees have two dimensions and “invert” is the one you can’t change.

It means to reverse it left-to-right, like a mirror.

You will never have to implement this yourself for real.

You won't because it's a toy problem, not because it something only greybeards did in libraries written decades ago.

Asking someone to describe the simplest possible transformations on one of the simplest data structures isn't a stretch, and this is coming from someone without a CS degree.

EDIT: And that's not to say Google doesn't have a screwed up hiring system. I know someone who implemented a dynamic programming problem correctly, with the appropriate big O complexity, but was rejected because the constant time factor was slightly higher than what the interviewer was looking for. That's a BS decision; Max Howell's was not.

There's another term for reversing a tree: reversing a tree.

'Reverse' is switching the orientation left to right or front to back. Top to bottom is 'inverting' (except in graph theory where inverting means something entirely... weird).

> other than the interviewer was too proud to admit they made a mistake.

It just means making


- 2

-- 4

-- 5

- 3




- 3

-- 1



- 2

-- 1



- 2

-- 1

as one graph. I must say I'm surprised someone can't write this given enough time and proudly claim "they didn't hire me because I couldn't do this". Seems like CS 101 hw.

As he says, he wasn't a CS major. I can totally relate. I had a pretty popular DOS shareware back in the day (along with some other things). But I wasn't a CS major and would not have been able to answer most algorithmic CS questions unless I had specifically studied them for the purpose of an interview.

Fine, but don't you think companies should have some filter to choose candidates? In my company I interview often, and most candidates don't know how to code. Asking CS hw questions is a signal that predicts if they can code or not. If you're not a CS major it's ok but in general if you can't figure this question in 15 mins I don't want you to push code to my codebase. Some level of competence is ok. And I don't even work in a FAANG this is a random no name startup in Boston.

There's one particular category of question that I've started building up a question set in, in part because the last few coworkers who weren't nearly as useful as you would hope all struggled with it:

Data transformation.

Most of us are at least partly in the business of data transformation. Few of us should be implementing trees (you want coworkers who are informed consumers of data structures, not people who think reimplementing solved problems at work is a reasonable or even sane thing to do).

The simplest one I have is this: Hand them a data structure containing a list of lists, have them generate a list of the grandchildren ordered by some property of the grandchild.

Like take a list of cars or computers grouped by make and model and give me all of the models sorted by price, or by popularity. If that's too simple, filter by another criteria and do a little data cleanup.

I've seen people drop elements, get the order wrong, scope variables too broadly and confuse themselves into grabbing data from a previous iteration, or forget to grab it entirely. And this is exactly the sort of thing that puts your team on the spot for having dumb bugs in production. Not inverting binary trees, or fizzbuzz.

Reversing a tree (max element on the left) is absolutely CS homework (though probably 201). I'm sure I had to do that at least once or twice. But you can also avoid that most of the time by writing a second in-order traversal algorithm that runs from right to left.

But why would I need a data structure where I have the elements by the leaves instead of the roots? Make the nodes doubly linked (parent element) and you get the same effect without all the grandstanding.

I'm 36, recently moved to Berlin. I have 10 years of working experience from tiny to big companies working as android developer, front-end and interaction designer.

For some reason I'm struggling a lot to find a job in Berlin. Most of the CVs I've sent never get an answer, those who get there ask me for a phone interview which that I never get through. They always answer me with a copy-pasted template from the Internet.

This is some feedback I got from other people after checking my CV

  - I'm too creative for "normal jobs" but not creative enough for the creative ones

  - My last 2 years I worked as a freelancer and German companies don't like that

  - I don't show consistency in tech stack

  - I'm in the verge of getting old
Whatever the reason is, it's very frustrating. Drains my energy and willingness to keep working in the sector.

(update: formatting)

whole lot of "suck it up" type of rationalization here, over a system that is quite obviously broken.

You may not have been rejected because of your technical skills, but because of your soft-skills.

A large part of our hiring process involves deciding if you think you can work with this person day to day and if you think they'll fit in the company culture.

Seems like a lot of these people who are getting rejected end up at Twitter.

This isn't some collection of rags to rich story. I know some authors get dozens of rejections over years before being published. This isn't close.

Sometimes rejection comes from an inside company politics, like the person that is leaving is too stubborn to approve a replacement or something similar to "we decided not to hire her, because we think she won't fit our culture, but we can't legally justify it, so it's better to just write back that she can't code".

Not hardly enough women in that list. Do they just not get rejected enough? Or are they not willing to speak up about being rejected? Were they not reached out to? Or is this a representative number of "women in tech", including rejections.

Possibly... it's all of the above.

Yeah, we need more rejected women in tech.

I applaud the sentiment, but isn't this just further reinforcing the underlying assumption?

"Hey everyone, these massive corporations rejected me, making me feel bad about myself. But eventually, a massive corporation accepted me, so now I feel good about myself!"

This is like It Gets Better, but for fragile software engineers who obviously are talented enough to make 6 figures some place else. I understand rejection can feel personal, especially when so much of your life and identity comes from the work you've put into mastering some field, but this doesn't seem like the healthiest mindset. I'm just leaving college now and don't have much of a perspective yet, but the application/rejection treadmill feels a lot like a continuation of academic external validation. Just substitute Google and Facebook for Harvard and Stanford.

Yeah, I like the idea of this site but was disappointed to find most of the entries being something like

I was rejected by Fashionable BigCo X and Y but then eventually got a job at Fashionable BigCo Z

Which is great, it really is, but not really all that interesting (sorry!). You've only been rejected in a very narrow sense. Everyone has an off day, or off interviews. You were actually accepted by the mainstream, eventually. It's like saying you were only accepted to 2 of the 5 world class universities you applied to. In what sense have you suffered rejection?

I was hoping for more of this variety:

I was rejected by Fashionable BigCo X and Y and Z. That path was obviously not going to work out for me. But I at least knew my own value. So, undeterred, I instead did awesome thing #

There are a couple like that. That's interesting. Someone who holds their confidence and actually outperforms others' expectations, despite lacking conventional sources of validation.

Vital meta lesson from this:

I was rejected by Fashionable BigCo X and Y but then eventually got a job at Fashionable BigCo Z

When we see that repeated for many successful people, I hope the takeaway becomes: your interview process is probably not doing what you think it is. In some cases this extends to the entire work culture. E.g. workplaces that situate themselves in a mindset equivalent to "we must hire the best unicorns to possibly succeed". Other, better ones instead try to embody "we will continually improve our hires. we will help make them great. (oh, there are no unicorns.)"

Any hiring process will result in some good employees being rejected and bad employees being accepted. If your candidate pool is very large compared to the open positions, as is the case for the Fashionable BigCos, it makes sense to "tighten the mesh" in order to avoid the false positives better.

Do you suggest always hiring the first person that applies? There has to be some choosing function.

No. But I think many of our filters are bogus. Some of these are easy: "Did you complete a traditional four-year CS degree at <highly respected university>?" should be considered downright obscene as a front-line filtering function. It robs your team of great talent, and destroys any attempt to hire diverse candidates. And by "diverse" I mean invaluable team members who will bring fresh perspective to your problems, your understanding of your users, and more. There have always been many "alternative" paths into computing, now moreso than ever.

A concrete example: A place I interviewed in my last search uses pair programming extensively in their day-to-day (and have lovely twinned monitor/keyboard hardware setups to support this!) They use that in their tech interviews as well. You and a candidate sit and talk about code. It's a lovely experience, and far more grounded in the work than just about any whiteboard interview.

Pair-programming isn't the takeaway here. It's that this org built an interview model which was virtually identical to their actual working model.

I agree 100%. I myself don’t have a CS degree. I thought though with your emphasis on training great employees rather than finding them you were talking about hiring people that maybe aren’t the great programmers. It’s hard enough to design a selection process for exactly what you are looking for (i.e. programming ability), I have no idea how one would go about identifying candidates with great potential that can’t already program.

Well ... doing a little mental statistics it looks to me like you should just apply to Twitter in the first place if you never want to get rejected during your job search.

The abundance of Twitter picking people up after rejections is really odd to say the least.

It's not a random selection of stories, it's a list compiled by someone who used to work at Twitter, and presumably hit up friends and colleagues for stories.

In general, best not to draw inferences from data that wasn't randomly selected.

Agreed ... I purposely called it "mental statistics" to indicate that there was no math involved, too small a sample size and no controls against bias.

I don't think the point is to be "interesting", just motivating to someone who just got rejected themselves.

Here's one for you:

I was rejected by a startup for being a "big picture thinker" and not a "builder" after flying to big city for a full day of interviewing. Shortly after that I started a business helping local people align their business operations with technology.

I like the variety in hats I wear now and it has open doors for roles that aren't just engineering and more oriented towards my strengths.

> I understand rejection can feel personal, especially when so much of your life and identity comes from the work you've put into mastering some field, but this doesn't seem like the healthiest mindset.

I read it completely differently, like "See this has happened to us all at some point; it's not personal."

I can provide some insight on this.

For me, as an older programmer, it's not about 'self-worth'. It's about sunk cost, it's about our ability to provide for our families, it's about what we are doing with our lives when we have much fewer days ahead of us than behind us.

What do I tell my kids or wife? I can't get hired because I didn't memorize enough JS functions, or the right one, or didn't grab onto the right tech stack?

This isn't about a theoretical emotional idea: it's about survival today, into old age that is coming up on me quick, about providing for families.

Since I was an intern in college, I have seen older technical folks become harder and harder to employ. I've had good friends lose their job and because they're older/more expensive, they get rejected with all sorts of creative excuses.

Well, guess what? Now I'm older and I'm more expensive. Thankfully I saw it coming, and I have been saving diligently along the way. I'm not rich, but my lifestyle costs are not insane and I can continue to save from now until the gravy train pulls into station.

At that point, god willing and the creek don't rise, I can afford to work part-time, or take a big pay cut, or switch to consulting gigs.

You become more expensive and you also typically get more specialized in the things that make you expensive. Even if you keep skills up in a variety of areas, you typically major on certain topics where you're really valued.

There are a huge number of random things I could have been slotted into right out of school and I'd have done a good job. Today, my skills and compensation are much more specific.

Exactly this. As becoming older you also get experience, experience very few have. I was at one meeting with several people from a company that hired me as external contractor and several people from their client company. And an issue arrived at the table, a technical issue none of their staffers or client's staffer could explain/solve (both technical and non-technical people were at that meeting). So they asked me to weight in my input. After a round of questions from my side I told the most technical people there I thought he could understand, to do XYZ. He did it and just like that the problem went away. XYZ was a very weird combination that none fully understood how that could be the solution. When they asked me how did I know that I said only one word "experience". That's what you pick up over the years, the truest form of knowledge, the one that makes you to be more expensive. Because just like that particular problem where they wasted at least 100 hours of different people trying to solve it and in itself the problem also made their process more expensive, having a person that can solve this type of problems is the make or break of a company.

The flip side is that, if expertise in XYZ is no longer valued, that can be an issue. I've known people who were essentially the world experts in some narrow area of technology or business and that became irrelevant which was a tough situation to be in.

It's easy to say that people should keep skills up-to-date but if you're truly a world-class expert in X, it's hard to transfer that level of skill to Y. That's a different level from junior competency in one language picking up another language.

I know someone at a largely military sub talking about bringing in "geezers" to consult on some very specific classes of problems.

You misunderstood me. In my example XYZ was a combination of specific Windows API's to be called, not a technology. For the foreseeable future Windows is here to stay, and regardless of the programming language used if you learn its API's you'll be king.

Definitely this. I was not prepared for the sheer amount of time it would take for my most recent job search. Getting interviews was dead easy, and I passed 95% of my phone screens. Onsites just kept going the wrong way for me. Every time I got that call (why do they insist on calling to deliver s rejection, anyway?), it felt like an expensive mistake.

Luckily, I ended up somewhere that I actually like and am making more money than at my previous gig, so it all worked out, but those months spending down savings started to wear on me.

> It's about sunk cost

Ugh, I don't even have a family and the amount of time spent on phone screenings, pairing sessions, whiteboarding, and take-home code challenges becomes staggering. What sucks is the more places you apply to, the more the inefficiency of proving that you can program rears its head. I'm not against these things per se, but even spending just a few weeks applying to companies and doing those things gets tiring and demoralizing. I can't even imagine what this will be like in 10+ years when I'm older and have people depending on me.

Is HN really to the point where we are upvoting posts dismissing real people feeling real feelings of inadequacy over some suggestion of “fragility”?

Everyone can feel bad. Just because someone could get a job somewhere else doesn’t mean rejection doesn’t sting. That’s like saying that a breakup shouldn’t hurt because you can just get another girlfriend.

But a web page that consisted of people saying "My partner dumped me, but now I'm dating someone much hotter" wouldn't be seen as particularly valuable. Not all diary entries should be public, even if the feelings expressed are "real."

"My partner dumped me, and I was miserable for a long time, but I managed to move on and now I'm in a happy relationship" is exactly the sort of advice you'd give someone who was struggling through a breakup.

Magnify the emotions involved and time scale by a couple orders of magnitude, and you're describing It Gets Better, an effective and beloved project.

Wouldn't it though?

You kind of described r/relationship_advice

Dismissiveness and indignation routinely get upvoted. It's so reliable a pattern that I think it's hard-wired in people. Part of the task of moderating HN is to find ways to moderate that.

So let's take it as an assumption that the people that this is for are "fragile software engineers." How would you address that fragility? Certainly, having monetary success does not necessarily address feelings of inadequacy. It's also very difficult to bootstrap oneself out of such feelings. One way to address it is to share and know that you're not alone. That's exactly what this attempts to do.

Simply dismissing these peoples' feelings because they are successful is not helpful. I do not like the trend of assuming people cannot have problems and are not worthy of help or compassion because they are privileged in some way.

I don't know if this really counts as a trend; I'd think the trope of "Person who has more than you complaining about how bad they have it and getting only resentment in return" is as old as civilization itself.

Yeah it feels like they want medals for getting rejected at companies that haven't even bothered to give me a callback.

We all get rejected from dozens of interviews. That's just life. Did anybody ever think it wasn't like this?

> We all get rejected from dozens of interviews.

Which we know because of what? Sites like this let people know exactly that!

> Did anybody ever think it wasn't like this?

The common narrative is that if you work hard your efforts will be recognized. I don't normally hear "after a lot of people utterly fail to recognize them" unless you're talking about fiction writing.

> it feels like they want medals for getting rejected at companies that haven't even bothered to give me a callback.

I'm not sure why you draw that conclusion. Many of the messages I see are along the lines of "don't give up" and an implied "you can be skilled/capable without them recognizing it". Why do you think this is self-promotional rather than inspirational?

You're right, of course - failing to have ability recognized is very normal. But we tell our young people a very different message, and this site seems to be correcting that a little bit.

> Which we know because of what?

Experience :-)

When I was a senior at university, my friends and I all had a wall at our apartments covered with our rejection letters. Back then (if they gave you the courtesy of a reply) they were sent on paper in the mail. So yes, it's always been that way.

I myself have been on interview committees and voted to reject candidates who got hired, and turned out to be good. Why did I want to reject them? Don't really know, just got a bad vibe in the interview more than anything. We didn't do much technical screening at that company. Decisions were mostly based on past experience and references, and whether you seemed reasonably intelligent and sociable in the interview. I think that we hired a real dud maybe once, so it seemed to work.

It seems to me anecdata suggest the average hiring process lets through only a few duds.

It often feels to me like people are using that as a justification of the quality of their hiring practice. What's interesting is hiring practices vary greatly across the board but mostly in aggregate seem to produce this "we only ever got a few duds" result.

My hypothesis has now shifted to "most people can do most jobs". Or to restate it "There are only a few duds. Period. And hiring processes produce mostly random results. That's why we see a few duds come through."

I did this when I was a math undergrad applying for grad school. I applied to 15 graduate programs and got into 10, and rejected by 5. The surprising pattern was that I got into a graduate program if and only if it wasn't in the Northeast; selectivity of the program didn't seem too relevant. After graduate school, for my first job I ended up being on the graduate admissions committee at the Harvard Mathematics department and got to see things from the other side, where you receive 400 incredible applications, and can say yes to less than 1% of them. In that setting exactly what you wrote "Decisions were mostly based on..." applied just the same.

Over the years I've known various undergrad admissions people at another Boston area school. At least the way they used to do things was to basically have a matrix with quantitive academics/test scores on one axis and a score for soft stuff on the other axes.

Admit the "no brainers" in the upper right. Reject the "no ways" in the lower left. Then take a harder look at those in the middle. But the reality is that you could probably take an arbitrary subset of the middle group and they'd probably do nearly as well/contribute as much/etc. as the final selection you sweated over.

I've also been on the selection committee for various conferences over the years and that also often ends up working the same way to a significant degree.

As a nice twist on the rejection postings, while in college I visited a friend at Yale. He and his roommates had hung all three of their Harvard acceptance letters next to each other on the wall.

Maybe it’s just the fact that it’s written out in text but this sounds insufferable, not “nice”.

Probably the most honest explanation of how companies actually hire I've seen.

It's stunning how much energy, ink and tongue movement is wasted trying to justify most decisions, in every aspect of life, when in practice they boil down to vibes.

I’m a hiring manager and I think it’s a complete roll of the dice sometimes.

There’s people who came off really well in the interview who turned out to be terrible hires. And equally there’s been people who seemed woefully inexperienced but I liked their honesty so took a gamble on them and they turned out to be some of my best hires.

Then there is everyone in between.

You have all of these processes in place to help your practical judgement but at the end of the day it’s really just a lot of luck because it’s trivially easy to game interviews and some really good engineers are often really bad at interviewing. So pulling those who interview well but are rubbish from those who don’t interview well but are brilliant is very difficult at times.

Heck in one interview I got nervous and started rambling on about FreeBSD instead of Linux. I was easily qualified enough for that job but that was a terrible interview on my part and I honestly wouldn’t have hired me.

So that's the issue - you're hiring someone and you have no idea which version of them showed up to the meeting, and which one will be coming to work every day.

It's almost like we're trying to solve a taylor series of work efficacy (of an individual on a given team) by capturing a very small number of data points in stressful situations (interviews) and doing a hell of a lot of extrapolation.

For large companies, I think the "justification" part is for documentation in case they get sued for discrimination, etc.

In the 90s we’d have a nice chat, review the resume, and then get “can you start Monday?” Now with twenty years experience it’s a twelve-hour marathon to prove I’m not a fraud, at every single lead. It’s just not scalable, when it takes dozens of leads to score an offer.

> We all get rejected from dozens of interviews. That's just life. Did anybody ever think it wasn't like this?

Based on how this industry carries on about "talent shortages" and "lack of good engineers", yeah.

That and the fact that you get no shortage of people essentially making the claim that, if you have a pulse in Silicon Valley, you can send out a few emails and have a new job paying $300K by the next Monday morning.

I have seen several ex-colleagues do that sort of thing with no or very few rejections in the process.

They had to interview and receive offers from several companies though. I imagine the number of people that can just "send out a few emails" to get that result is very limited.

Thing is: Majority of failed interviews can be probably traced back to a relatively small pool of mediocre engineers, who get rejected by dozens of companies, before they finaly land a job. And then they loose that job 3-12 months later, because they coulndn't keep up with their employer expectations. So, at least in theory, both "there's talent shortage" and "it is so hard to land a job" can be true at the same time, just for different groups of people.

On the other hand, if you ever have to set up a hiring process or run interviews, it's worth remembering that a bunch of qualified engineers get rejected for silly reasons like not using semicolons and not knowing jQuery off by heart.

> Did anybody ever think it wasn't like this?

Yes, that's who this is for.

Yes, that's life. So what wrong with trying to make life a little less bitter by reminding people that a rejection letter isn't the end of the world (which is what it can feel like)?

I mean...I know bunches of people for whom it isn't like this, so I'm not convinced it's not like this.

The point is that the hiring process -- especially in programming -- isn't some golden, concise, dependable standard. It's quite messy, chaotic, and practically completely worthless.

The best you can do is sort out the people you absolutely cannot use or don't want. The rest? The one's that you reject because of not matching some part of the interview process but largely are a good fit? They're probably fine, they're probably better than you think they are. In fact, statistically speaking it's probably better to have gambled on these people than the people you've hired and then had to fire.

We don't have the industry standards, the experience, the data, or the worker pool to fuss around with these ridiculous interview processes some companies employ. In fact these interview processes actively filter for people who are only willing to go through with the process, not necessarily the best talent.

If I am being honest, as an engineering manager, I really hate to have to fire people. I have done it a few times in my career and I still remember every 15 second block of time in each of the meetings.

So my hiring bar is pretty high now. I've had my current team all for 4 years and they are all still doing great.

When I was a younger developer, I did an interview for a contractor and while the candidate was okay, I wasn't convinced (basically he hadn't shown any reason NOT to hire him, but he hadn't put himself in the MUST HIRE category). In follow-up I told the person I was worried by their lack of experience but would move forward with an offer, but I wanted to let them know in advance that I'd quickly move to let them go if it wasn't working.

In my mind this was a great solution: we got to make the hire, he had a chance to prove himself, and we'd not get stuck with a bad match if he had flaws. By letting him know in advance I was ethically clear because he would enter into the situation with his eyes open. He turned it down and my boss was furious with me for saying all that.

Now, some 15 years later, I realize how terrible my view was and how many bullets I blindly dodged. My best managers have all bent over backwards to make a problematic hire work out. Seeing that has always served as a soothing presence on my own occasional anxiety. And in the many interviews I've conducted, people that fall in the "I don't see why NOT to hire them" have outnumbered the "We should totally hire them" about 4:1. Frankly, the interview process is inadequate to give you a good impression of working with someone and their strengths/weaknesses. Heck, I routinely discover new surprises about co-workers after working with them for years.

My past self had been pining for an easy way to fire someone in order to dodge responsibility for the hiring decision. Now I see the hiring decision as not "are they great?" but instead "will I be able to work something out if they aren't great?" because we can't dodge the responsibility nor can we actually reliably be correct in our evaluations.

Unfortunately, my current view doesn't seem to match current hiring practices, where they want everyone to hit the ground running and magically resolve problems that are generally caused by non-technical issues (low staffing, contradictory customer pressures, etc).

It's hard to gauge what "high" is in these contexts. I'm specifically deriding the multi-week, extremely specific but not relevant exercises some companies have as their interview process.

What does your interview process look like, if you care to share?

Have you been through a mandatory layoff yet? Imagine you have a great team and you still have to downsize.

Is facebook a good bar now? I was thinking facebook isn't so popular, you really want SpaceX or something "better" now. All you validation seekers have to move!

Despite their recent unpopularity, Facebook still has a high hiring bar and a talented software engineering workforce that will provide valuable career experience.

You have to wonder at what point an organization becomes so unpopular that it impacts someone's hiring prospects, even if they did a good job there.

"June 2015 - May 2017: Migrated database to new platform, and re-engineered web presence for diversified global social network, resulting in 450% increase in engagement, and 23% ROI. Site: racistbastards.com"

I had a friend who worked at Theranos who has trouble finding work because he was there for 3 years.

A software engineer?

a lawyer. (facepalm)

The best engineer I knew at my last gig (a unicorn company we all use daily) worked at the major adult entertainment company for many years haha. Dude was a total family man by the time I met him and the nicest sharpest tech lead.

Complicated question. Also depends on the role, how close you were to the “bad” part, how specialized and in demand the skill is, etc. Generally the USG was in the business of hanging nazis or at least imprisoning them at the time, but operation paperclip brought a bunch of great scientists, and much more secretively the same thing happened to the arguably-worse Japanese war criminals.

I’d probably be fine with the guy handling ddos mitigation and keeping the site up for some random offensive racist or kitten-murdering website if it is just a technical challenge. Although there is also the negative PR impact from having hired such a person, since some people, including potential customers, would be less tolerant.

Hard problem. Anonymity or pseudonymous markets is probably the solution here.

Uhhh why would you be ok with someone who chooses to use their labor to work for a racist/kitten murdering website because it’s a “technical challenge”? I’m sure keeping the Daily Stormer up and running is difficult, but anyone who helps them do it is a nazi who deserves whatever they get.

Because the problem is society seems to redraw it’s ethical boundaries every twenty years or so..

Yeah, twenty years ago it wasn't cool to work for nazis.

And it still isn't. Do you have a different example in mind?

Say that to all the cosmetics companies, ThyssenKrupp, IBM and so on

The pay for gambling apps (in Australia, where it's legal) tends to be higher for precisely that reason. They'll often hide behind an unrelated name and refer to their industry as "gaming", too.

From everything I've read SpaceX is a terrible place to work. Insane pressure, far too many hours, Elon Musk.

Facebook is known for over-paying, which alone accounts for its continuing popularity with engineers. I worked my ass off trying to get through the multi screen hiring process there and despite being ex-Google still fucked it up at the end. It didn’t help that I got concussion the day before the on-site and wasn’t 100%.

SpaceX isn’t prestigious compared to Facebook.

Work somewhere on something you would enjoy. Also build out your network.

Seriously though. The issue is tying your self-worth to getting accepted be facebook, apple, google, etc.

A healthy person, when rejected from a company, realizes that the company did not need their skills at this time. This says nothing about the quality of their skillset, just that it's unneeded. Sort of how, if Linus Torvalds himself showed up to a frontend development interview, he probably wouldn't get the job.

A 'healthy person', to use your term, after rejection would realize where her skills are lacking and work or study hard to improve her skills, not delude herself like you suggest.

That's only an appropriate reaction, if your skills are lacking. If your skills are not lacking, then they're likely unneeded by the people you applied to and you should find a better market fit.

The issue here is that you've made 'get this job and only this job' as your goal. That is an unrealistic goal, because it is unnecessarily tied up with a particular company. My goal when looking for work is to find an opportunity where my skills fit into someone else's need, and then milk the economic differential until such time as my skills are no longer needed, or I have a buyer somewhere else.

I suppose neither one is 'right' in the moral sense. But I think mine leads to greater happiness and satisfaction, so...

Don't you think that people usually apply for positions that match their skillset?

It'd be nice if we never felt negative feelings about these things, but feeling nothing in this situation is probably diagnostic of a psychiatric disorder.

If you're personally rejected by a group you wanted to join, you should probably feel bad.

I honestly don't see this as a "feel personal" but maybe speaks more to the randomness of hiring.

Totally agree. Technical hiring is already much more standardized than hiring in many other professions but essentially it still is predicting actual work performance based on a few short interviews. Even the best interview process still have false positive and false negative. Good companies are usually more tolerant of false negatives because the cost of wrong hires are high, but false negatives don’t matter as much.

Also companies often want very different things. Not only from the technical perspective, but most of them also care about cultural match, and culture can mean very different thing in different companies. So getting offers from one good company and rejected by another is completely normal.

Personally I think beyond "can communicate / not a jerk" culture has just been a placeholder for personal bias.

I think cultural fit is frequently used as a stand-in for bias, but there are other important cultural factors beyond just ability to communicate that can effect how well someone will do in a job.

Legitimate cultural fit things usually have to do with how teams divide responsibility, how they collaborate on work, and preferences in styles of communication. If you have a team that tends to assign some individual work and communicates through PRs, that's going to be a cultural shock (and maybe a bad fit) for someone who comes from an environment with regular pairing / pair switching / mobbing and more in-person discussion of specific code decisions.

In general, there's a balance between individual autonomy and team cohesion that I think can come down to cultural preferences, and it's good to find people who can fit well into a specific team's environment. As someone who highly values individual autonomy in things like tool and language choice, code style, etc. I've been put in teams that culturally were much more in favor of cohesion and I was deeply unhappy- and now I try to filter for that in all of my own interviews.

None of that should have to do with candidates liking the same movies or beer as the exiting team, or any other sort of bias inducing "cultural fit" questions, and too often they end up conflated, but we shouldn't throw the baby out with the bathwater when it comes to cultural fit.

I find some of those items strange strange such as "how teams divide responsibility, how they collaborate on work, and preferences in styles of communication"

That's just doing the job. If company does X, then I do X.

I know folks have strong opinions on it but I've found there are many ways to do various tasks and as long as everyone works together in an expected manner... it's my job to do it that way.

There could still be legit culture fit sessions, like Stripe has a high bar for friendliness, and Airbnb want people to love traveling and be adventurous.

Let me break it to you: This attitude exists everywhere. People compete to get into top companies, then compete for limited promotions to get into top positions, compete for the best spouses, etc.

Finding a spouse is not like applying for a job unless you are on the bachelor. You meet the person one on one and you don’t compete with anyone but your best self.

No one i ever dated with which I experienced some “competition” was a good match in the long run anyhow. YMMV I guess.

Competition for the best spouse sounds like some reality show. Let me break it to you: when company can afford it, they compete for the best talents.

Yeah, I don't think it's particularly healthy if you only place value on the anecdotes because of the Big Name Companies involved. My rejection/acceptance stories are all with no-name companies, and yet I've found the successes I'd hoped for.

However, I think there's some value to taken from it when thinking of it in terms of "hey, I got rejected for similar reasons, but that doesn't mean I can't bring value worth hiring me for."

s/fragile software engineers/human beings

I'm pretty proud of how I got rejected from Google, how I laid into several of their products as bad and slow and missing important features. Now that they've incorporated most of my feedback into those products I go around and brag about how mad everyone got when I dared to criticize the holy Google during the interview.

Never criticize the company or their products during the interview. Whatever company it is. Have some common sense.

It really depends on how you spun your criticism. If you just started spouting assertions as to why the product your interviewer worked on is irredeemably horrible, you're not going to get a job.

I don't see any harm in helping freshly-graduated nerds feel less anxious about their job prospects. I agree it's hardly a vital service, but not everything has to be.

The perspective is, rejection is fairly arbitrary.

exactly rejection is part of saleship if you are not selling than you have no rejection they go hand in hand

I on the other hand think being shown the randomness in hiring is beneficial.

This is sage insight i feel many think "well duh" but sometimes still forget.

You're correct, but I'm a bitch (maybe because of school, parents, life, idk) ... this was somewhat comforting.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact