
Ask HN: What advice would you give for “breaking into” top-tier companies? - peller
I&#x27;m a full stack web developer, graduated a little over 7 years ago but really only 5 years into my career, where for personal reasons that no longer apply I was restricted to opportunities in a small city. In other words, working at small custom web development shops - using modern frameworks but nothing that scaled beyond a single server.<p>I&#x27;ve reached out to the few people in my network working at the types of companies I&#x27;d like to get into, but the response has always boiled down to &quot;we don&#x27;t think you have the relevant experience.&quot; And when I don&#x27;t have an inside connection, silence.<p>So, figuring I don&#x27;t have the strongest resume, what are my options with the highest chances of improving my career trajectory?<p>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?<p>Have you been in a similar situation? What did you do? Thanks!
======
bsvalley
If you're targeting companies like google, facebook, etc. They're looking for
excellent algorithm solvers. Ideally, people who can right a complex function
on a whiteboard in a very short amount of time (under 15 minutes).

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.

~~~
ccdev
That's been the experience for me. I have built a portfolio of side projects
less related to my job, and have been through the interview process with
Amazon. And I've mainly worked for small web shops who build websites for
local businesses that don't care about scaling massively.

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.

------
nostrademons
Get the relevant experience via working on open-source stuff.

That 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.

------
asdq
>> Do I work on brushing up my algorithms and data structures knowledge in a
lower-level language?

Yes sir but not in lower-level language. You can refer C/C++ solutions here
[http://www.techiedelight.com/list-of-
problems/](http://www.techiedelight.com/list-of-problems/)

------
Mz
I don't code, but I was a homemaker for a lot of years. My first full time
paid job was at a Fortune 500 company. I was 41 years old and it paid better
than minimum wage.

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.

------
EnderMB
I've been thinking about posting something similar, but your experiences match
mine, so I'll wade in with my experiences too.

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.

~~~
UK-AL
I wouldn't imagine .NET experience would be a negative at Microsoft. In fact
.NET seems to main language used by a lot of large companies UK.

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.

------
muzuq
Networking, networking, networking.

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.

------
draw_down
Just don't expect them to be as good as they look from the outside. Smart
people do dumb things, and good businesses can be run on top of a pile of
absolute garbage, technologically speaking. PR people can work wonders. Et
cetera.

------
dabockster
MONSTER POST WARNING!!!

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 BS, but it's next to
impossible to challenge it from outside the company.

5\. It might be time to consider starting something new if it doesn't already
exist in your town. If you know 3-5 people that have good business skills, you
might want to consider talking to them.

6\. There are a lot of over achievers in tech right now. Looking at them as
you are right now can lead to phycological problems. You might want to
consider talking to your doctor and/or a psychologist.

\---

If you have any further questions or just want to talk/vent, feel free to give
me a buzz at steven@stevenbock.me.

