As a lifelong nerd and self-taught web developer, I've had a long time to get used to rejection, whether it be in my personal life, applying for a job, or submitting a PR to an open-source project. Rejection can be rough... it deals a heavy blow to the ego, and can be extremely frustrating. However, it's only the end if you let it be.
I'm leading off with this, because my position at Vets Who Code as Head FNG Wrangler is very much like that of a company recruiter. We have an interview process to decide who gets in, and while we'd love to include everyone who applies, people often don't. The position of a job interviewer is a rough one... they have a set of criteria that they're looking for when trying to fill a position, and they often have to wade through dozens and sometimes hundreds of applicants who may not meet those criteria to find one or two that do. Even then, they may not have more than one position, and have to make a choice between qualified applicants. It's difficult for a job-seeker to put themselves in the position of their interviewer, as their concentration is on their own need and situation. Being told you're unqualified or just not right for a position is definitely disheartening, but it's not the end of the world, and it doesn't mean you should stop trying. Some options:
- Review your skillset: Maybe you really didn't have what they were looking for, or weren't as quick with the answers they were looking for. If you find your skillset lacking, look for tutorials, classes, etc... do the research and improve your chances for the next time. If you're lacking in experience, try contributing to open-source projects.
- Review the job market: Look at the position you were applying for, and look into what kind of competition you're facing. Maybe the market is over-saturated, and you might be better off seeking something slightly different.
- Review your resume: Your resume is the first impression you give any prospective employer, and most interviewers see loads of them each day. Ask yourself... is this resume presenting me as someone who can do what they want? What about it makes me stand out? Is it saying anything about me that it shouldn't?
- Review your performance in the interview: As a baby dev, this one was my downfall nine times out of ten. Like I said, I'm a lifelong nerd, and this has less to do with my intelligence and more with a severe lack of interpersonal skills. I'm often unaware of how certain things I say or do can be unnerving or off-putting to others, or how my appearance affected people's opinion of me, and I often get nervous when speaking with strangers. It took me a lot of practice both in front of a mirror, with my wife, and with friends, to learn how to present myself in a way that would appeal to potential employers. Going to job interview is like reading for a part as an actor, you're better off if you rehearse.
- Thank your interviewer for their time, no matter what: Be respectful and courteous, even, and especially if, you're rejected. It may be that while you're not what they're looking for for this particular position, your skills may be exactly what they're looking for in another. Having a poor attitude may preclude you from consideration.
- Keep Trying: This should go without saying... if you're out of work, it's not like you have a choice.
Say you're trying to get a startup off the ground and you're looking for capital. You've prepared your business plan, your technical requirements, your state of mind... you're ready and raring to go. You go to meet with a VC, make your presentation, and they shoot you down. You see your dreams going up in flames right before your eyes. This kind of rejection can be like watching somebody kick your baby, it can be heartbreaking, at best; at worst, infuriating. What do you do?
- See above: Particulars aside, this sort of rejection is very similar to being rejected for a job, and in most cases, reviewing what you presented and how you've presented yourself can work wonders in improving your chances for the next time.
- Keep calm and carry on: A professional attitude will carry you far when dealing with any sort of rejection. Keep your bearing, and ask questions... the right questions, with the right attitude. This leads to my next bullet-point...
- Take any advice you get to heart: Most VC's have very good reasons for turning down projects... they're in the business of making money by providing money, and they wouldn't be very successful if they didn't have a good idea of what would make money and what wouldn't. It may be that they've seen an idea similar to yours perform poorly, or maybe your market research has a flaw. Listen respectfully, and use their free advice to your advantage.
- Learn when to give up (without really giving up): Be open to the idea that the cat-rental mobile app that you dreamed up and lovingly molded into a business proposal just might not be a great idea. That doesn't necessarily mean you have no business creating a startup, only that you have no business creating that startup. It's the same as if an author has had a story rejected by an editor: there may be pacing issues in the piece, or there may not be an audience for it. This doesn't mean the author is necessarily bad... most successful authors have had tons of rejections before having a piece accepted. Save yourself some heartache, and take good advice when it's offered. If you've presented the same idea multiple times to different VCs, and you keep hearing the same thing, chances are they're right and you're wrong. Learn to accept it and move on to the next thing.
Ok, you have the job/startup/open-source project for which you contribute, and you've submitted a request for Peer Review, to merge your latest feature or bug-fix... and it's rejected. OH NOES! There's 3 days of work, all for nothing! Ok, so this type of rejection isn't quite as hard to take, but as a developer, even a seasoned one, it's the sort you're likely to receive most often, so you'd better know how to deal with it.
- Your peers are not Hitler for rejecting your pull-request: Don't treat them like it. Remember, they took time out of their day to review your work, and they likely have just as much to do as you. Likewise, these are your peers, and they're going to need to work with your code at some point in the future. Be thankful for their input, and acknowledge it accordingly.
- Assume your peers know just as much, or more than you do: If you know beyond the shadow of a doubt you're the smartest person in the room, you're in the wrong room. There's nothing to learn if you're a genius among idiots, and that's a good way to grow stagnant. Statistically though, this is not going to be the case. If they can provide a valid argument against something you've done in your code, pay attention to it.
- React to input quickly: As I stated before, your peers are just as busy as you are, so take their advice to heart and move on it quickly. If you have a good reason for what you did, and can back it up, don't be afraid to discuss it a little... they may give in and see your point of view. If not, make the suggested changes and be done with it, don't drag it out just for the sake of winning an argument. All you're doing at that point is slowing your team's velocity and making everyone look bad, and worse, uncomfortable with you... Which brings me to my last bullet point...
- As always, be polite and receptive: Nothing short of hurling hate speech (or office supplies) at your co-workers/boss/random strangers will get you kicked off a team faster than consistently arguing with everyone, not even poor performance. If you find yourself consistently arguing over PR rejections, re-examine your own practices and adjust accordingly. Otherwise, you may un-intentionally find yourself back at the start of this article (going through multiple rejections, while searching for a new job).
When you're the one who has to say no, you still need to remember to be polite, and reasonable. Bear in mind that not everyone who you deal with will have read this article (and I'm certain many who have, won't heed it). They may whine, cry, beg, hurl insults, etc..., upon getting rejected. If you're an interviewer or a VC, they may spam your email, begging for another chance. Be as polite as possible, but make it clear that this time it's a "No", not a "maybe", not a '"we'll see". Attempting to spare someone's feelings by being unclear in your language only drags things out, and hearing someone pour out their own hard-luck story as to why they need this job/funding/whatever because they've spotted that you might be a weak touch can be soul-crushing. Indeed, it kills me a little each time I have to turn down an applicant, especially since our whole purpose at Vets Who Code is to help veterans get a leg up on their lives after leaving the military. There have been quite a few who believe that they're entitled to our help, simply for the fact that we exist to help folks like them, but that just isn't the case... our resources are limited, and our applicants are many; we can't accept everyone. Likewise, a job interviewer has only so many positions, a VC only so much resources, a reviewer only so much patience. It's difficult to say no to a potential employee, entrepreneur, or peer, but inevitably at some point, necessary. Don't let it wear you down.
"No" can be depressing. "No" can be gut-wrenching and cruel. But taken with the right attitude, "No" can be an opportunity for learning and growth. When someone tells you 'no', it's neither the end of the world, nor is it your final defeat. The most successful people in the world all have their own rejection moments, and the difference between them and those less successful is that they didn't let those failures stop them... they picked themselves up, brushed themselves off, and gave it another go.
Make better choices about your code and your career.