Ask HN: How can a unhireable person get a job?
You've gotten a lot of advice and there is something I'll reiterate. Don't aim so high. I eventually got to the level of being pursued by FAANGs, but it took many years of working at a "boring" software company and just gaining skills. Also, on your resume try to make it outcome focused. Don't say what you did, say what the impact was. Everybody "knows" c++, docker, <insert technology here>, but what was the impact of what you did? Why do you know those things in the first place? That helps a lot when just sending resumes around and not having a connection. Also, you are studying all these algorithm text books, but first of all lots of companies do not go beyond simple graph theory questions. That was my experience at Apple (though Apple is very different from those other companies). If you are going for a specialized role like embedded systems or a backend software network engineer, the focus will be on things like "how does an OS scheduler work" not, "solve a dynamic memory problem". Also truly understanding the language you choose to program in is very important. It becomes immediately obvious when people don't really understand their tools, especially if they choose C++ (that's been my experience at least). You're over optimizing on the algorithms and not focusing on just software engineering. I am extrapolating this from what you said in the first paragraph.<p>Also, something that hasn't been really stated (and I feel weird saying this), but try to be funny (self deprecating is the safest way to go) and easy to talk to in an interview. Even though we all try to think of software as some pure meritocracy based on raw technical skill, it really isn't primarily because the technical part of the job is generally easy for the majority of positions and its communication where things break down. If you seem unapproachable or difficult to work with, then people won't want to work with you. I am noticing that at my current employer "soft skills" and ability to work with a team are becoming a bigger part of the interview process. When I do technical interviews if I can't converse with a candidate about how they got to their solution or their difficulties, its a bigger red flag than whether or not they could solve the problem or not (unless its clear that they really don't know anything).<p>edit: Also you mentioned something about long hair. I have long hair (a bit past shoulder length now, but its been a longer). Its something I worried about too. Nobody cares is what I learned. What people care about is if you are well kept. you can be well kept with jeans and a t-shirt and long hair.