Ask HN: What advice would you give for “breaking into” top-tier companies?
I've reached out to the few people in my network working at the types of companies I'd like to get into, but the response has always boiled down to "we don't think you have the relevant experience." And when I don't have an inside connection, silence.
So, figuring I don't have the strongest resume, what are my options with the highest chances of improving my career trajectory?
Do I work on brushing up my algorithms and data structures knowledge in a lower-level language (and blog about it)? Or do I spend time on MOOCs (and blog)? Or build a ridiculously over-engineered side project with distributed micro-services just to prove I can do it (and blog)? Or maybe the above and simultaneously pack my bags and move to a more opportunities-rich location, networking on the ground? Or try to get into something like the Recurse Center or the Bradfield School and hope to piggy back on their networks? Something else entirely?
Have you been in a similar situation? What did you do? Thanks!
10 comments
[ 0.22 ms ] story [ 12.1 ms ] threadThat doesn't mean a ridiculously over-engineered side project with distributed micro-services, BTW. Most of the top-tier companies don't actually fall for the bullshit that makes up most of the tech industry hype cycle.
It could mean investigating an interesting data-science problem with publicly-available data, building a model with some predictive validity, and publishing your findings & code via blog & GitHub. Or it could mean building a side-project for some local organization of importance to you, but really going the extra mile on user-experience so it's not just a CRUD screen, and you collect data in unobtrusive ways that don't bother the user. Or it could mean working on a hobby programming language and delivering a working compiler.
That's it.
Your past experiences don't really matter. My best advise is for you to memorize as many algorithm problems as you can and to make your Resume look like you'd be someone who could easily crack a "technical" interview. They usually look if you've already worked for one of these companies in the past, if you've graduated from a prestigious institution, with an excellent GPA, if you've won a hackathon and things like that. Forget about buzz words, technologies, prior projects and open source stuff. We all do that by default. Unless you're someone like Guido van Rossum, they don't really care.
You really have to be on top of the algorithms knowledge. First time I was tested on HackerRank where the problems were usually a twist on familiar puzzles.
The only big gripe I have is that if you don't pass the interview the company will probably have a required "cooldown period" lasting a few months before you can apply again. This is frustrating when the solution to a problem you failed hits you in the face a couple days later, but you gotta wait several months before you can have a go at interviewing again.
I didn't plan that. I was trying to get a different job when a relative suggested I apply. But I knew people at the job who had spent years trying to get good enough to qualify.
Get a copy of "What color is my parachute?" and read up on the section concerning informational interviews. See if you can get a few information interviews. The point is a fact finding mission to get some idea of what it really takes to get into the company in comparison to where you currently are.
Do some googling online and start a folder to compile information on your target companies. Try to get some insight into what they are looking for.
Try to find out what the application and interview process is like. Big companies tend to have very formal processes. Insider connections will generally be less useful to you than in small shops like you have been working at.
I would do some basic legwork before asking further questions of this sort. I got a job at a big company and I can't really tell you how to make that happen. I had several years college and I had the math and language skills they wanted. I ended up qualifying for two positions and picking which one I wanted, this after more than a year of getting nowhere in my job search while going through a divorce. But there are people who are talented at job hunting (my sister is one such person) and my impression is they do a lot of research before applying.
Best.
I'm a full stacker too, so I sort of know what you're going through.
---
> but the response has always boiled down to "we don't think you have the relevant experience"
This has been my experience but as a guy one year out of school. And I live in the Seattle area, so you would think that I should have ample opportunities.
In my extremely limited experience, "relevant experience" can literally mean anything in this context. It might be true that they were looking for other technical knowledge. It could also mean that they were looking for another trait and wanted to let you down on a more neutral note. Basically, it's an HR term meant to avoid opening a can of worms on both sides.
---
>figuring I don't have the strongest resume
You have five years of full stack work. That's an incredibly strong background.
What languages did you write in? Platforms/programs/operating systems? What software patterns did you use?
Since you worked on a very broad area of software development, your resume is fine as long as you fine tune it a bit more to emphasize your knowledge on certain languages and frameworks, as well as the fact that you should have a good idea on how a software project evolves over time.
---
> Do I work on brushing up my algorithms and data structures knowledge in a lower-level language (and blog about it)?
You could try that. But that still doesn't guarantee that you'll get an interview. You could literally do this for a full year and still not get a code screen because someone will ask you "why did you only study this stuff for a year? where are your projects/work experience/meetup talks/OSS contributions/the holy grail/etc etc etc?!!!"
---
> Or do I spend time on MOOCs (and blog)?
Since you say you've graduated, I'm assuming you have a formal college degree. A MOOC would be a waste of cash at this point. You have the experience and education already. You don't need another diploma just to satisfy some HR drone.
---
> Or build a ridiculously over-engineered side project with distributed micro-services just to prove I can do it (and blog)?
Again, this is something that might get you in the door. It might not. Either way, I wouldn't recommend trying to write anything too specific. As the old saying goes, don't put all of your eggs in one basket.
And, once again, even if you're successful in building it, whoever replies to your application could still give you the "we don't think you have the relevant experience" jargon for literally any reason they feel like.
---
> move to a more opportunities-rich location, networking on the ground?
Only move once you have another job lined up. All those stories we hear of people moving for work reek of Survival Bias. We don't know how much they saved prior, if they had family/friends in the new location that could help them out, if they borrowed money, if they had their parents pay for it, etc. Moving anywhere is a huge time and money cost, so only do it if you have the cash and resources to do it. Reliable housing comes first, networking second.
But, then again, I do not know where you live.
---
> TL;DR
Basically, my big points are
1. Don't do a MOOC if you already have any sort of professional programming experience (especially full stack). You already have the tools and knowledge necessary to learn almost anything related to modern programming on your own.
2. Don't move just to network. Networking won't necessarily get you a job, let alone an interview.
3. Don't read too far into those "I did it, so can you" articles. They're full of Survival Bias.
4. Companies can reject your application for any reason they feel like and get away with it by telling you something purposefully broad like "we don't think you have the relevant experience". It's total ...
I too am a developer with 7 years of experience, probably a bit more if I count freelancing during university. I studied at a not-so-great university in the UK where I studied Computer Science, and most of my experience is either in a non-tech startup or digital agencies. In terms of agency strength I currently lead projects for a big UK agency in a satellite office. I'd say I'm a decent developer. Not the greatest in the world, but typically one of the better developers in most places I've worked. I've also got some open-source work behind me, and some user group talks, although primarily to do with content management systems.
Over the past decade I've applied to Google and Microsoft a couple of times, and every time I've been quickly rejected by email. Whether it's for a college internship, grad scheme, as a recent graduate, or after a few years of experience, I've received a rejection email after a week of applying. I've had recruiters from Amazon and Microsoft contact me on LinkedIn in the past, and after sending over my CV I've heard nothing back.
My thoughts match yours, in that I think it's because I don't have the "right" experience. It's probably a mixture of me being a .NET developer (and the stigma that comes with working on Windows), and primarily working with Content Management Systems. It's been a negative at jobs I've applied to in the past, so I can only guess that it's the same for the larger companies. I have a CS degree, and a public repo full of C# implementations of various data structures and algorithms, so I doubt it's to do with a lack of knowledge. Outside of me being put on some kind of top four blacklist, I can only guess it's because neither company wants to hire a .NET dev.
Apologies if my reply isn't that helpful, but I thought I'd wade in as someone with a CS degree who feels that they are in the same position as you.
In fact some biggest e-commerce sites and well funded startups(JustEat, Purplebricks) in the UK use .NET.
These sorts of companies tend use things like DDD, CQRS, Event Sourcing which a lot of developers at "local" companies don't really use.
And I mean the social kind.
Regardless of experience, resume, whatever.. Networking is everyones number one way of getting a "foot in the door". Honestly, if I were you, any time you think you should spend polishing up your resume / brushing up on data structures whatever; you should instead spend your time getting out there and networking.
Ask people to refer you to other people. Meet people for friendly coffee, and don't even bring up that you're looking for work the first coffee. Start commenting on popular blogs, insightful articles on LinkedIn, etc.
Yes sir but not in lower-level language. You can refer C/C++ solutions here http://www.techiedelight.com/list-of-problems/