Ask HN: I'm a SWE without a CS degree. Will online certs help me get into FAANG?
69 points
1 year ago
| 44 comments
| HN
I studied humanities in university. But I've been programming since I was a kid, so it was a natural career choice. I regret not doing CS. I work for a public sector org and have been promoted to a senior developer.

But I still don't think this is enough for me to make the move to FAANG or other tech companies unless I stay here for a long time to rack up experience (I only have 2 years SWE experience at this point). Also, as the org I work for is not a tech company, I'm not sure how seriously recruiters will take my time here.

I've studied data structures and algorithms, and I think I am a decent programmer. I could probably progress quite quickly through CS50 or some other online course. I just don't know if it's beneficial.

This topic online is full of misinformation and people just trying to sell you a course. So this seemed a good place to ask.

I'm UK-based by the way.

Thanks.

jwestbury
1 year ago
[-]
You don't need a CS degree and you don't need certs once you've established yourself.

I've been in SRE or SRE-adjacent roles at Amazon, Microsoft, Dropbox, and now a quant hedge fund (the first three in the US, the last in London). My only degree is in English lit.

Your hardest step is getting into your first job with good name recognition in the tech industry. For this, your best bet isn't certs, it's networking -- find someone who can refer you, which will get you past the automated resume screening and get your resume in front of a hiring manager, at which point your degree and certs don't matter.

reply
hoagsobject
1 year ago
[-]
How did you learn stuff for working in such companies? I always assumed you need a lot of math and theory to work in finance.
reply
everforward
1 year ago
[-]
It depends on which area of the business you're in.

The quants (people who do the analysis to give buy/sell signals, basically, typically using programming for the analysis) will generally need a strong grasp of statistics and finance.

The developers that build the trading platform will need a strong grasp of exchanges and the mechanics of trading, but not really of statistics or "how the market works/reacts".

The developers that work on the reporting side don't really need a strong grasp of either. The math is relatively simple, the difficult part is handling stuff like cross trades. I.e. internally trading stocks between portfolio managers without having to hit the actual exchange (i.e. PM A wants to sell Intel, and PM B wants to buy, so you just transfer ownership instead of actual buy/sell orders). You have to attribute a profit/loss to PM A even though there wasn't a "real" profit or loss.

The SRE/ops side often doesn't require much knowledge of finance or math. The apps aren't particularly unique, and the portions of the trading flow you're expected to know aren't hard to pick up in a month or two. You aren't typically expected to have an in-depth understanding of trading strategy, or a highly detailed understanding of how trading works mechanically. Knowing that stuff probably lets you command a higher salary and title, but it isn't a prerequisite.

reply
philomath_mn
1 year ago
[-]
Math and theory would be more important for a dev job, parent commentor is doing SRE.
reply
solardev
1 year ago
[-]
What exactly does an SRE do (Software Reliability Engineer, right?)? I've heard the title before but don't quite understand it.
reply
sudofox
1 year ago
[-]
Site Reliability Engineering (SRE) is a term coined by Google.

The goal of the job is keeping large systems online and operational.

Think: systems engineering, DevOps, and sysadmin at scale - leveraging automation.

Lots of other shops still call it DevOps Engineering, Production Engineering, etc.

reply
doubled112
1 year ago
[-]
I wanted to joke that some still call it sysadmin so they can pay you like one, but it is probably not as funny as I thought.
reply
dividedcomet
1 year ago
[-]
Site Reliability Engineer - I’m one too lol. Most of what you do is work with dev teams to make sure their service is reliable, then slap an SLO (service level objective) to make sure their service meets a certain threshold of reliability.
reply
solardev
1 year ago
[-]
Can I ask what your day to day looks like? Are you configuring services? Writing code and tests? Like what are the things you do for reliability?

(I've never been in a company big enough to have one of these, so I'm just trying to understand)

reply
a_vanderbilt
1 year ago
[-]
It's going to vary based on the company you're with but a typical day for me includes reviewing/writing code, attending some meetings for projects, and answering pager duty when something goes boom. Occasional post-mortems and active maintenance of systems. I was up until last week an SRE at a firm maintaining an industrial information system and related services.
reply
sspiff
1 year ago
[-]
More tooling, infrastructure management, high-availability, ... work.

Rather than focusing on making the software do X, it makes software that already does X more resilient to failure.

reply
sspiff
1 year ago
[-]
I work at a fintech company as a software developer for 2+ years, and I've not needed any maths in my job really.

I think it strongly depends on exactly what you end up developing.

reply
dave1999x
1 year ago
[-]
yeh, you do and most will want a degree at at least 2.1 even if you have a decades experience... unless you have the hallmarks of being rich e.g. went to some fancy school OR have a network that extends into a hedge fund
reply
jdjdjdjdjdjd
1 year ago
[-]
Thanks! Yeah, my CV has a big financial organisation on it and a medium-sized university. I think getting a job with better recognition in tech is the biggest hurdle.
reply
ghusto
1 year ago
[-]
Just want to confirm the parent comment is 100% spot on.

You don't necessarily need a better name on your CV yet. If you're just starting out, having a single financial org on there already is enough — as long as you can get good references.

Do something to skip the recruiters and talk directly to your potential colleagues.

reply
a_vanderbilt
1 year ago
[-]
Everyone has their own journey, but I got into the market without a big name on my resume by doing things in my own time that got me recognition. I started giving talks about information security to local groups at colleges and whatnot. Wrote some software that did some cool stuff, and wrote books that no one ever read. Nothing particularly mind-blowing, but it got me the connections that gave me a seat at the table. Eventually I interviewed with a startup and they liked my work and pulled me onboard.
reply
tomcam
1 year ago
[-]
Dude I got into a FAANG company with no CS degree (or any other degree). Unless you're going into research, where is PhD is almost required, they'll hire you based on your skills.
reply
ashbee
1 year ago
[-]
Same. I still have zero certifications of any kind beyond HS, despite the pressure to start collecting the useless company certs.
reply
bsimpson
1 year ago
[-]
Same. Self taught as a child (like OP). Offered a job at a FAANG twice, and took it the second time.
reply
2OEH8eoCRo0
1 year ago
[-]
YMMV. I self taught as a child as well and gave up trying to crack FAANG. I still enjoy my less blingy current role.
reply
bsimpson
1 year ago
[-]
One nice thing about megacorps is that they're big enough to support specialization.

UX Engineering it a good fit for my skillset (and might be for other self taught people too).

reply
tomcam
1 year ago
[-]
I actually started learning programming at 21. That was in the early 80s ;)

Thought it might be too late. As a magazine writer I had interviewed Chris Espinosa of Apple, their first documentation person. He started his employment at Apple when he was 14 years old.

reply
huehehue
1 year ago
[-]
When? I also have a successful career despite not having any degree, but my read is that it's not as easy for newbies as it was 10 years ago.

It's anecdotal based on my social circle and their younger friends, but I'm wary of turning into my parents with advice like "you don't need a degree, just a firm handshake and an affinity for hard leetcode problems!"

reply
tomcam
1 year ago
[-]
Well hang on. You say "newbies". I made sure I had been doing hard stuff for a few years before I joined the FAANG company, but yes, it was in the late 1990s. At that time it was harder to get in with no degree. I made it my job from the very beginning of my career to choose areas that were hard for most programmers and to keep up my skills.
reply
tsingy
1 year ago
[-]
What is "hard for most programmers" exactly?
reply
tomcam
1 year ago
[-]
Back when I did it, assembly, embedded programming, and compiler implementation were all subjects programmers avoided in college so I went in that direction.
reply
nwoli
1 year ago
[-]
I remember a time when online certificates was an anti signal. I think it still is in many startups. (Most people just hire on skill.)
reply
flanked-evergl
1 year ago
[-]
> I remember a time when online certificates was an anti signal.

I have never interviewed someone with many certifications and thought the person would be a good addition to a team, and I have never worked with someone who has many online certifications and thought they are good at the things they are certified in.

reply
andrewjl
1 year ago
[-]
Thinking this way tends to carry a bias against historically underrepresented backgrounds in the tech industry. In some cases certifications might be the only way to get ones foot in the door.

It's fairer to just focus on competency, certified or not.

reply
treprinum
1 year ago
[-]
I have over 100 Coursera/edX/Udacity certificates and work on the bleeding edge of tech (AI). MIT's Underactuated Robotics got me into the first cohort of Udacity's Self-driving Car Nanodegree. I think you are shooting yourself in the feet if you plainly reject people like me who just want to keep learning new things.
reply
mindcrime
1 year ago
[-]
I think there's a big difference between these two types of people:

1. Collects certifications just to pad their resume, and get there probably by mostly studying brain-dumps and memorizing the answers. Often have little or no actual experience with the technology in question.

2. Gains certifications related to things they have actually done / are actually doing, and use the certification process as a "forcing function" to motivate doing a deeper dive into obscure or less frequently used corners of the technology that they may not currently be strong in. Puts the certification on their resume but only expecting it to be a "weak signal" that complements their actual experience.

I think there may also be a 3rd category which may be relate to (1) but specifically relates to people who are just beginning their careers and seek a few certifications just to give them "something to hang their hat on" as far as getting in the door somewhere.

Anyway, I consider myself a representative of group (2) and as such I tend to default to an assumption that most people are also in that group. As such, I consider certifications a positive (if weak) signal, unless there is some other "red flag" to suggest the person is in "group 1". Like having 100 certifications, but not documented experience actually working with any of those technologies, or something like that.

reply
gorjusborg
1 year ago
[-]
I group cert-seekers together. I don't see motivation mattering. People who have time to 'prove' their knowledge/skill are really just showing that they aren't really into the thing, they are into being recognized as being into the thing.

The exceptions are certifications that are required by law.

reply
a_vanderbilt
1 year ago
[-]
I feel it's a bit more nuanced. If someone is early in their career and they have some decent certs (CCNA, RHCSA, Sec+) then I see it as a positive. What really matters is how they present that knowledge. As you have alluded to, a lot of candidates just memorize and regurgitate to get the cert. Unfortunately, at big firms the resume robots filter out plenty of great candidates simply because they lack ITIL or some other kind of useless cert. They don't get a chance to show off what they know.
reply
gorjusborg
1 year ago
[-]
> Unfortunately, at big firms the resume robots filter out plenty of great candidates simply because they lack ITIL or some other kind of useless cert. They don't get a chance to show off what they know.

Fair enough.

If someone it doing it satisfy a bureaucratic machine, I'll suspend judgement. If they think that makes them actually better than someone who actually does the thing, hard pass. It's usually pretty easy to tell where people fall based on their general behavior.

I don't care about who someone is, or where they to school. I care about what they can do. Certs don't show any of that.

reply
a_vanderbilt
1 year ago
[-]
Agreed
reply
Waterluvian
1 year ago
[-]
They’re not saying that though. They’re saying they’ve never experienced it being a positive signal. I haven’t either. But I don’t think we’re claiming people like you don’t exist and we’re not judging people because of their certs. Just observing the correlation.

Edit: to add to this, you know what signal I’ve also never observed in 11 years? A PhD indicating someone will be an exceptional engineer.

reply
themoonisachees
1 year ago
[-]
I mean this in the nicest way possible. I genuinely have nothing agaisnt you and this is as far as I know the first time i've ever read one of your comments.

You appear unsufferable. If i was in charge of deciding whether or not to hire you, I would not, based on this comment.

reply
operatingthetan
1 year ago
[-]
>If i was in charge of deciding whether or not to hire you, I would not, based on this comment.

Good thing we don't hire people based on social media comments then! It really looks like you just took an opportunity to use careful language to bully someone that you just didn't need to.

reply
l33t7332273
1 year ago
[-]
I agree with this sentiment.

Something about the phrase “the bleeding edge of tech (AI)” is just very off putting.

reply
gorjusborg
1 year ago
[-]
It is that perfect combination of over-confidence and lack of understanding that often veils insecurity and incompetence.

Screams Dunning-Kruger effect.

Again, I also have nothing against the person here, it is the behavior that is a red flag.

reply
hyperhello
1 year ago
[-]
Dunning-Kruger didn’t mean what you’re assuming it to.
reply
l33t7332273
1 year ago
[-]
Can you elaborate?
reply
P_I_Staker
1 year ago
[-]
Flagged and downvoted. You've been nailed.
reply
bdcravens
1 year ago
[-]
Nothing to keep you from learning out of personal interest and leaving it off of your resume.

The issue is putting it on your resume and thinking it's a criteria hiring managers would use.

If you can build some body of work, whether it's a paper, code, etc that reflects what you've learned, that's infinitely more relevant.

reply
lazycog512
1 year ago
[-]
there's a difference between certs as a signal and certs as actually learning something

the former tend to be the type that list as many of those 100 certs as they can on your resume - I assume you're the latter and actually tailor mentioning those to very relevant / the best of the best

reply
meneer_oke
1 year ago
[-]
I don't remember the time that online certificates from MIT, Berkeley, etc would have been anti signals.

https://www.edx.org/learn/computer-programming/massachusetts...

reply
saagarjha
1 year ago
[-]
Nobody will fault you for learning programming through an online course. They will, however, mark you down for listing that on your resume as your sole programming experience.
reply
meneer_oke
1 year ago
[-]
Do you that course that I refer to?

People within companies are all different, so we can't say. Some hiring managers might, others actually prefer no degree, others might focus more "shipped". It depends

reply
saagarjha
1 year ago
[-]
To be clear I'm speaking generally, not on an individual basis. Everyone has their own preferences–I personally don't discount it. But in my experience the average hiring manager does, because certifications are often seen as a thing you just pay money for to get a piece of paper. Of course college degrees are like that too, but the quality of "big state school CS degree" is usually somewhat regulated and "big state school 6 month CS certification" is often not.
reply
meneer_oke
1 year ago
[-]
Please take a look at the course.

The courses from Berkeley, Harvard, Stanford, MIT are quite good. There is no paying, just knowledge.

reply
saagarjha
1 year ago
[-]
No, I know about the courses. They're pretty good. I'm just saying that there's baggage attached to certificates from random courses, even if some of them are good.
reply
meneer_oke
1 year ago
[-]
I would agree, but the topic started with that they are anti signals.
reply
morelisp
1 year ago
[-]
You're still not getting it.

Taking the course is not a negative signal.

Putting the course on your resume, as if that conveys useful information, is.

reply
meneer_oke
1 year ago
[-]
I think it's clear that you are not getting it, that is just your opinion.

Are you a hiring manager? A you are hiring manager of the whole IT industry?

Even in this thread there are many that have successfully landed great jobs with certificates on their resume.

reply
morelisp
1 year ago
[-]
OK, good luck.
reply
morelisp
1 year ago
[-]
Honestly, a full genuine undergrad CS degree from Harvard is nearly an anti-signal...
reply
meneer_oke
1 year ago
[-]
Seems even in this thread there are many without any certificate nor formal education. Would it be possible to explain how that is happening?
reply
morelisp
1 year ago
[-]
I have a formal CS education, although I've hired a bunch of people without. I'm just saying, a Harvard CS degree tells me either you're extremely bad with money, or you (or your parents) are more interested in social signalling than a thorough education.

You also seem to be missing that the content associated with the certificate can be fine, but the validation process broken enough that the certificate per se (and therefore listing it on a resume) is worthless.

(I prefer to hire based primarily on work samples or a take-home project.)

reply
meneer_oke
1 year ago
[-]
Well the context is online courses from Harvard, MIT. Such as the CS50 course referenced by many even in this thread. Those courses are free, there is a option for a certification for around 150 dollar.

People actually learn the basics of CS and foundational knowledge in those courses. And how to use git and GitHub.

I never stated that those certs, or courses alone would be enough. This comment thread started because someone called it anti-signal. Listing anything on a Resume is never pointless, it tells us something about the potential hire.

Courses like the one mentioned are open, which means if you wanted to test that knowledge you could, easily.

That could tell you so much about the potential hire:

* Did they actually do the course.

* Did they retain the information.

* Did they understood the material.

* How did they use the information, in their own projects or clients.

From those answers you would even be able to learn more about their seniority level.

The point is, "anti-signals" is just not everywhere the case. It might be for some, sure. But how many of those would like to see formal CS education?

Seems that even you are more on the side of actual code examples. And in order to create great code, allot of deep knowledge is needed. Which those courses provide.

reply
morelisp
1 year ago
[-]
> Listing anything on a Resume is never pointless

Sorry, but you have absolutely wrong ideas about resumes, how they are read, and what information they convey. Both descriptively and normatively.

> Courses like the one mentioned are open, which means if you wanted to test that knowledge you could, easily.

If I have to test anything, I'm going to test the actual job skills. But actually the point of a degree/certification/whatever on a resume is to show me that someone else already did the testing so I don't have to spend time doing it. Conversely, if I have to test it again, it's pointless to put on a resume.

reply
meneer_oke
1 year ago
[-]
I've been hiring devs at multiple companies.

It seems you are misunderstanding me again, If someone puts something on resume. It's a signalling they think it's important. And in order asses candidates on their strengths, we use the resume.

If you are worried that they are missing the information from the course, I gave how it's actually great tool to asses candidate.

You also thinking that can outsource in some sense if developer will workout at the work place you are hiring for. This is a mistake.

Instead of making blanket statements, and dismissing people on frivolous things. Like going to ivy league universities or having certificate.

It's better to test the person, to get the know more about the strengths and weaknesses.

A resume is just window into the candidate thinking process.

-edit It's clear from your comments you're not aware of the great work at Harvard with CS50 course.

reply
jmye
1 year ago
[-]
Are you saying a Harvard CS degree isn’t a thorough education? Or are you assuming that everyone at Harvard pays full freight?

I don’t get the elitism or why you think someone with a degree from a specific school is inherently stupid. That’s as weird as refusing to hire non-formally educated people.

reply
morelisp
1 year ago
[-]
I think you can get a better formal CS education than Harvard for a fraction of the price at two dozen places, probably including at least one state school you have access to.

Harvard is good for signalling, traditional liberal arts, and pre-law (but, I repeat myself). It's not a very good teaching university overall, and especially not in CS.

reply
JambalayaJim
1 year ago
[-]
If you don’t have a high regard for the Harvard CS curriculum, it’s reasonable enough to disqualify people on that basis.

That said, I think you’re completely out of touch with how 18 year olds choose universities. It can be as simple as a friend of theirs is also attending, or the school is close to a parent’s home, or they were actually in a liberal arts program before they switched into CS.

Sometimes as you implied, it’s their parents making that decision for them.

There’s no point in holding the cost of a student’s education over them, especially as you don’t know even how much they paid.

reply
meneer_oke
1 year ago
[-]
> If you don’t have a high regard for the Harvard CS curriculum, it’s reasonable enough to disqualify people on that basis.

It's not reasonable, those statements are liability for you and the company you represent. Hiring laws are quite strict of discrimination.

reply
JambalayaJim
1 year ago
[-]
Is that discrimination? To prefer candidates from one university over another?
reply
morelisp
1 year ago
[-]
Assuming you mean strictly in the hiring/legal sense, it is absolutely not.
reply
morelisp
1 year ago
[-]
Yeah, sure, spare a tear for all the kids who accidentally ended up at Harvard.
reply
JambalayaJim
1 year ago
[-]
The point of my comment wasn’t “Harvard kids are discriminated against”, the point is that your hiring logic doesn’t make sense.
reply
treprinum
1 year ago
[-]
You can do a master in CS even without a CS bachelor online at the University of Colorado Boulder via Coursera. You just need to take 2 classes and get at least B in each.

https://www.colorado.edu/cs/academics/online-programs/mscs-c...

But as they say, this will only put you on the radar, but then it's all about LeetCode-Hard and -Medium and system design.

reply
mindcrime
1 year ago
[-]
Oh man... This is exactly what I need. I dropped out without finishing my Bachelors ages ago and have been thinking about looking for something like this that would allow me to pursue a Masters without having to go back through the grind of finishing a Bachelors first. Thank you for posting this. I'm going to give this a serious look.
reply
Projectiboga
1 year ago
[-]
[edit] My below post is for a typical MS program, but you're in luck this school will take you after completing a three course set. From their site

"No application, ever―just start learning and show us you are ready

Simply pass a three-course pathway with a B or better in each course to earn admission. No bachelor’s degree or extensive work experience required." /[edit]

Typically having a Bachelors is the basic entry requirement for a Master's program, with that program you can pass the three classes with B-s or better. There are adult edu divisions that will try and help you finish your degree with credits for life experience, but they usually require a certain amount of credits at their school, Rutgers was like 30 or 1/4 of the required 120 credits.

reply
hnthrowaway0315
1 year ago
[-]
Looks interesting, but unfortunately the courses are mostly towards big data and data science AFAIS, with one robotics pathway as exception.

Would love to see something that sticks to malware and reverse engineering. Say something starts with low level programming, proceeds to os internals and then exploitations and such.

reply
3minus1
1 year ago
[-]
Right. I got a master's in CS with out a bachelors. I had to take 4 pre-reqs classes before I could start taking the graduate level classes. Anyway it was worth it.
reply
rockbruno
1 year ago
[-]
I work at FAANG and have no degree. Checking for degrees used to be a thing but I don't think anyone does that anymore.

I had the same feeling as you (regretting not doing traditional CS). I ended up studying it on my own and really recommend it as I find that it made me into a much better engineer.

reply
lowbloodsugar
1 year ago
[-]
There a lot of talk about just doing leetcode and getting into a FAANG. I have done many interviews (as interviewer) at FAANGs and leetcode is good for an intern or straight out of college gig. For more senior roles, yes, we expect you to demonstrate that you can program by writing code, but the yes/no decision will be based on your experience and your ability to describe it in detail and have insights about it.

On the other side of the leetcode discussion, I’ve worked at a company that managed to hire someone with zero ability to program based on their ability to bullshit. I personally loathe doing leetcode myself, but I won’t hire someone who can’t take a stab at it, and I don’t want to work somewhere where my colleagues might be bullshit artists.

Now this doesn’t apply so much at startups, because founders generally don’t tolerate hiring decisions that would kill their company. So for example our first engineer at one place had a six hour interview where they broke down this game engine that they themselves had written. So, “it depends”.

reply
jameshush
1 year ago
[-]
I worked at a FAANG company. My co-worker hadn't graduated High School.

I recommend applying and grinding leetcode if you aim for a SWE role. Two years SWE experience is enough for them to give you an interview with a cold application through their job board in my experience.

reply
jdjdjdjdjdjd
1 year ago
[-]
Thanks! I've started working through LeetCode recently. Struggling to get an interview, but that might be a CV issue. After reading this thread, I think LeetCode + networking is what I need to focus on.
reply
jameshush
1 year ago
[-]
This is the resume template I've used over the last 8ish years: https://www.careercup.com/resume

It doesn't hurt to get someone to review your resume if you're not getting bites.

If you can find a friend's cousin's sister who works at a FAANG company who's willing to refer you, that'd be ideal. All the FAANG companies I've interviewed have an internal referral system.

I only got into a FAANG company once as an intern. It was pure luck that I didn't have any leetcode rounds. Every other time I tried interviewing for SWE my fall was leetcode. The good news is there isn't much luck required, its 90% just a grind. You can be the unluckiest person on the planet and still get in. That being said, good luck :-)

reply
grubbs
1 year ago
[-]
I remember watching that Freakonomics documentary on Netflix a decade ago. One of the authors mentions "not getting a HS degree is an economic death sentence". I guess times have changed.
reply
mywittyname
1 year ago
[-]
I doubt anyone bothers to ask or check about a HS diploma when hiring for software engineering. I don't recall ever being asked about it. So everyone probably just assumes the person has one until they start telling people otherwise.

But let's be real, not having a HS diploma, for most people, means that they can't progress to the next level - no college, no military, and probably no skilled trades. So it is kind of an economic death sentence. The exceptions are if you are extremely smart and talented (and if you are, you can get a GED with almost no effort).

reply
lordnacho
1 year ago
[-]
It's still generally true though, isn't it?

Football (soccer) players sometimes don't have their high school degrees, but they have training in a high paying profession.

Same goes with people who can code.

reply
saagarjha
1 year ago
[-]
It's true for software engineers, too. There are a lot that get by without college degrees and do well, but for many others it can limit their initial job prospects (most roles at FAANG with have a CS degree as a soft requirement, with some relenting with "equivalent experience").
reply
nopcodex90
1 year ago
[-]
Depends on how hard you can grind, and the amount of knowledge you can soak up. I never graduated high school, but I have been asking for programming books for my birthday and Christmas since I was 9.I do very well for myself Making over 6 figures.
reply
biohax2015
1 year ago
[-]
It generally is. It's best not to base life decisions based on anecdotes of extreme outliers from strangers on the internet.
reply
grozmovoi
1 year ago
[-]
I'm an alumni of https://bradfieldcs.com/, and it enabled plenty of us to prepare to work at FAANGs. The courses aren't really for that though, but if you were to take one (I strongly recommend CSI), you will find yourself surrounded by people who crave knowledge and betterment of their craft and are very driven about their careers.

The CSI course itself isn't a FAANG prep nor will you take interviewing or leetcode classes.

Here's a free version (and larger in volume of knowledge) of what CSI offers to enable you to understand and interact with: teachyourselfcs.com/

reply
JKCalhoun
1 year ago
[-]
Having been an engineer interviewing other engineers applying to work for Apple (for 26 years) I can tell you that the best resume was one where the engineer shipped code. Degree became a non-issue if that box was checked.
reply
jdjdjdjdjdjd
1 year ago
[-]
Thank you for your insight.

Apple is one of the few FAANG companies with a decent number of open vacancies in the UK at the moment.

Can you tell me what you mean by shipped code? I've shipped plenty of code in my current job (none of it is that exciting, though). I probably don't emphasise it enough on my current CV, now I think about it.

reply
JKCalhoun
1 year ago
[-]
Ideally you have a product you worked on on the App Store or equivalent. Excellent if you have some of the code with you (to the degree you are allowed to).

Both of these things lead to natural points of conversations with your interviewer.

"Have any problems with concurrency with you approach?"

"Any user feedback that caused you to make changes to the app?"

etc....

reply
hnfong
1 year ago
[-]
A portfolio of shipped code might work for Apple but most other FAANGs probably gravitate towards standard programming puzzles.
reply
intelVISA
1 year ago
[-]
So any SWE with >0 YOE?
reply
milesvp
1 year ago
[-]
you’d be surprised. I was just talking with a former coworker said that their team has essentially shipped nothing for 9 months due to changing priorities. Code was written, and merge requests were merged, but feature flags meant that no one ever saw the effects of the changes.
reply
hisnameisjimmy
1 year ago
[-]
I had a buddy with multiple felonies for selling drugs when he was younger get a job at Facebook as a SWE. He was promoted to Senior while he was there. He had no college degree, and his completion of high school was the GED.

If you can prove you can do the job, you will get the job.

reply
sakopov
1 year ago
[-]
Leetcode will help you get into FAANG not certs.
reply
thesimpleone
1 year ago
[-]
You have a degree, that’s all that really matters. On average people change careers three times in their lives. your doing great, trust in yourself. Anything you feel you missed can be learned online a no cost.

Cheers!

reply
nindalf
1 year ago
[-]
I’m a UK based software developer without a CS degree. I wrote about my experience interviewing at various software companies (including Google) in 2021 - https://blog.nindalf.com/posts/tech-interview/. I also talk about how I prepared for the interview, so that may be useful.

If you want to talk to someone about this don’t hesitate to reach out over email!

reply
jstx1
1 year ago
[-]
You had already worked at Meta at that point, getting interviews from other similar companies as hard as it would be for someone in OP's position.
reply
nindalf
1 year ago
[-]
I’m up front about that. Regardless, my experience here was similar to my previous round of interviews where I successfully interviewed at Meta. That went well despite not having a CS degree or a well known company on my resume.
reply
jdjdjdjdjdjd
1 year ago
[-]
Thank you! That is a very useful resource, I will read through it later!
reply
antigirl
1 year ago
[-]
I have a BSc and an MSc and I don't ever want to work for FAANG. I work as a contractor and work only few months a year if it allows it. Rest of the time I work on my own side projects - the dream for me is for them to get successful. UK based but relocated to Asia. FAANG might seem like the successful endpoint but theres many exciting companies/startups out there that might make you feel more accomplished than working in a massive ORG.
reply
jdjdjdjdjdjd
1 year ago
[-]
That's true. When I say FAANG, I just mean big tech in general. I've been looking at startups too!

Do you work remotely in Asia? I would like to relocate too one day.

reply
antigirl
1 year ago
[-]
Yes remote - all my clients are mostly clients from back home and companies i have worked with before. But i'm not getting much work as time difference is +7 hours and they sometimes want devs to be on during business hours. But cost of living here is cheap so i'm okay with it for now.
reply
flashgordon
1 year ago
[-]
For getting into faangs - get a referral, leetcode like crazy (and system designs if you are senior).

For staying in FAANGs learn to embrace and exhibit "leadership principles". It is all about impact and likeability during perf. FAANGs arent (especially) immune to politics and all things that come with humans at the helm.

reply
have_faith
1 year ago
[-]
I'm UK based, went to an arts university, I work as a SWE at a company in the US. I think most tech companies, especially startups, would be more impressed by an unfinished but interesting side project than any certs or qualifications.
reply
kingkongjaffa
1 year ago
[-]
I am UK based. I also did CS50x and found it was worth doing and fun even if you don’t have a particular goal.

It won’t get you very far though it’s an intro, personally I am looking at CS61a/b/c next.

https://cs61a.org/

https://inst.eecs.berkeley.edu/~cs61b/sp22/

More concretely from reading your post the best thing you can do is move companies to a more engineering focused company where you can learn more, before you are ready to shoot for the likes of FANG

reply
jdjdjdjdjdjd
1 year ago
[-]
Thank you for the recommendation! I did find CS50 a bit too introductionary. I'll check out CS61a!
reply
callumw13
1 year ago
[-]
I work at AWS in the UK and also do interviews in a Software Engineering role. I have no CS degree and at least where I am we do not look at degrees. We are hiring btw.
reply
logicalmonster
1 year ago
[-]
Just curious. Why are you so motivated by getting into a FAANG company?
reply
gorjusborg
1 year ago
[-]
This was my reaction as well. Be careful what you wish for, you might get it.
reply
moralestapia
1 year ago
[-]
Big salary and a CV boost?

Come on monster, be a bit more logical ...

reply
logicalmonster
1 year ago
[-]
My question is very logical. We can all hypothesize plenty of reasons, a couple of which you mentioned, but knowing specifically why OP values employment with FAANG might help provide better life advice.
reply
moralestapia
1 year ago
[-]
Oh ok ... yeah sure, it's probably something else.
reply
barrkel
1 year ago
[-]
For certification, I don't think it's important for FAANG - a referral or other way of getting a recruiter to get you to an interview, and passing the interview, is all that really matters.

The only part of a degree course that really matters in an interview context is algorithm analysis. You need to understand how the cost, in space and time, of code you write scales with the size of inputs.

Degrees and certificates from reputable organizations may be important for getting a H-1B visa though, should you want to emigrate in the future.

reply
jdjdjdjdjdjd
1 year ago
[-]
I have a degree from a good university, it's just not in CS. So hopefully that won't be a problem down the line. Referrals seem to be important. I lack the connections at the moment. Need to try and find ways to network with people in the industry.
reply
hnfong
1 year ago
[-]
Networking will help. Referrals gives you higher chance of getting an interview. As long as the interview goes well, the degree (or lack thereof) doesn't matter.

You probably want to go to play with a couple problems from leetcode though. I'm not for the grind, but there's a high likelihood at some point you'll be asked questions like those. The last thing you want is to be surprised by a "standard" interview question like those.

There are other resources (books, etc.) that supposedly help you prepare for the interview. Make sure you spend some time preparing for the interview if you get one.

Also, I don't think past industry experience makes much of a difference unless it's in a firm of a similar "tier". Staying in a public sector org as a software engineer doesn't really do you much good if your aim is to enter a big tech firm. It might even be considered an anti-signal by some. FWIW, if I'm involved in the hiring process and see a candidate who's worked in the public sector for years, I'd be slightly concerned with them picking up "bad" habits that don't meld well with tech companies (and will adjust my interview questions to try to tease out details on that front). I can't stress this enough -- don't expect that more years in your current job will increase your chances, it's equally likely that it will count against you.

reply
hoagsobject
1 year ago
[-]
As someone who decided to get BSc degree in Math & Stats after 5 years in industry this thread makes me questioning my decision.

Everyone says you don't need degree, but in my experience if you want to do advanced stuff (machine learning, cryptography, algorithms) you probably need one, unless you are extremely talented and can pick up everything on your own.

You probably don't need degree if you want to work as SWE in mid-tier companies, once you have experience there are no problems with finding jobs.

reply
lordnacho
1 year ago
[-]
> unless you are extremely talented and can pick up everything on your own

The question is more whether anyone will look at your CV if you didn't do these advanced topics at uni. Most things people can and do learn on their own. If you look at how uni works, what did you do? You went there and found out what you needed to learn, and then spent a bunch of time studying it on your own. There was never enough time in a class to learn things just by watching.

reply
hoagsobject
1 year ago
[-]
It depends on the subject. You can get feedback from tutors/professors, and evaluation of your work. If you study proofs, you can't verify by yourself if they are good/correct.

Apart from that, if you go in a traditional uni (which is not my case, I do online degree at Open University of UK), you also have great networking opportunities.

Not saying about other subjects, like medicine, physics, biology where you need access to a lab to learn something.

reply
silent_cal
1 year ago
[-]
No, I think you're right. It's easy to think you've understood these concepts when you really haven't. Sometimes formal training is really necessary I think, or at least is the fastest way to true comprehension. Especially with rigorous subjects like linear algebra and calculus.
reply
poisonborz
1 year ago
[-]
Do you have specific industry areas you want to get into? I was hiring for 5 year for some EU companies (startups to 1k) as an engineer, I _never ever_ looked at the applicant's degree - if you have any university degree, it's a plus ("you are willing to learn") but not much more. CV/past (own) projects will get you all the way.

If you are targeting fintech, ML or "rockstar" corps that might be different.

reply
jdjdjdjdjdjd
1 year ago
[-]
Thank you! No specific industries in mind. I am keen to move to a tech company like FAANG or similar not just because of their prestige but also because I want to work with the best engineers. In the jobs I've had outside tech (especially in the public sector), I've had pretty limited exposure to engineers who are passionate, and I feel I can learn from.
reply
poisonborz
1 year ago
[-]
> I want to work with the best engineers

Sorry but wrong mindset. You will not learn the most when you are surrounded and mentored by "yoda class" devs. The sad reality of the tech sector that this happens very rarely - not many teams have this growth attitude, everyone just wants to hire seniors who instantly have the best answers. You can learn just as well by surrounded by and inspiring juniors when solving problems. With any luck they will rightfully question many things you take for granted.

reply
hnfong
1 year ago
[-]
What are you talking about?

TBH I can't even chain together any of your reasoning here. How does teams wanting to hire seniors imply juniors who join won't be able to learn? Were you on those teams? Did you actually see "yoda class devs" refusing to spend effort to grow their junior team members?

And how is mentoring juniors an even remotely acceptable substitute for learning from the best in the industry? Having juniors question your assumptions only works for making you aware that they might be bad, but doesn't necessarily help in guiding you towards making the right ones.

The only issue I take with GP's is the assumption they make with FAANG having the "best engineers". At tens of thousands of software engineers per company, the concentration of top talent is quite dilute, and if you're unlucky you'll see a lot of mediocrity just due to the large numbers. My impression is that often smaller companies with an strong engineering culture might have "better" engineers on average.

reply
P_I_Staker
1 year ago
[-]
This is a huge problem in our society. Corporations line up to throw money at unicorn mega experts that largely don't exist (ie. are quite scarce compared with the demand).

The interesting thing is IME these engineers only have so much to bring to the table, and often have to push through the same technical hurdles. A passionate, hard working junior may get more done, if they have experience at the company.

Among even competent senior engineers, these mega-performers are unicorns. For every one that will save any project, or at least greatly improve it, there's 5-10 that are just okay.

reply
saagarjha
1 year ago
[-]
If you have 2 years of SWE experience, your lack of degree is not likely to be a significant barrier, assuming you can pass the interview. If you had none it might have been since it can be difficult to get past the resume screen without one. In my experience online certifications are basically useless. Feel free to take classes you like to learn things you want to learn, but listing them will probably not help.
reply
jdjdjdjdjdjd
1 year ago
[-]
With enough preparations, I think I'll do OK on a technical interview, having looked at examples online.

I have 2 years of experience. I'm mainly concerned that my experience isn't really impressive having only worked in the finance and education sectors.

I also got promoted to a senior role very quickly, which was genuinely on merit, but I worry will make moving to tech firm harder.

reply
lowbloodsugar
1 year ago
[-]
I don’t have a CS degree either and I’m at a FAANG. If you’ve got a resume with “senior developer” on it, no good employer will care.
reply
midasz
1 year ago
[-]
Not a dig at OP but putting "senior developer" on your resume after only 2 years of experience really sets expectations.
reply
jdjdjdjdjdjd
1 year ago
[-]
This is exactly my concern! I have a senior on there, and I really worked hard to earn it. But now I worry that it will set too high expectations and make getting into a big firm much more difficult.
reply
hnfong
1 year ago
[-]
My impression is that it's never beneath FAANG HR to make junior level offers to "senior engineers" from non-FAANG companies if they think they can get away with a low ball offer.

So I guess that's "good news" for you, but then if you actually tell them you don't really have "high expectations" then be prepared to get a low ball offer..

reply
tonfreed
1 year ago
[-]
The FAANG interviews I've done have all been algorithm and OS internal heavy. I'd say buy yourself a copy of the algorithms textbook and work through that.

I didn't get an offer, though, so take my advice with a grain of salt.

reply
hahamrfunnyguy
1 year ago
[-]
Not FAANG, but I've hired and worked a number of people over the years without CS or related degrees. I have no problem with it. I don't think that the degree will help you get the job, as long as you can get an interview.
reply
wodenokoto
1 year ago
[-]
If you are shooting for some sort of cloud technical support / technical sale kind of role, I do think cloud certainly in the relevant cloud provider will help, but they are not necessary.

I think the carts mostly exists to satisfy corporate clients

reply
M_bara
1 year ago
[-]
Yes, I worked in FANG and one of my pals didn’t have a degree yet was highly regarded in the company. What really matters is what you know and whether you can execute…
reply
lordnacho
1 year ago
[-]
I can't say I know much about it, but it seems to me the good thing about the FAANG companies is that anyone can give it a go with the Leetcode gauntlet.
reply
volent
1 year ago
[-]
Study leetcode and system design. That's enough.
reply
jstx1
1 year ago
[-]
It's not enough because studying doesn't give you an interview.
reply
weeznerps
1 year ago
[-]
That's true. Grind LC/sys design and then apply to every top company (not just FAANG) and get referrals everywhere you can. I got interviews places that had passed on me a few weeks before just by getting a referral.
reply
silent_cal
1 year ago
[-]
What do you mean by system design?
reply
rolisz
1 year ago
[-]
No, you don't need an online degree. I had a colleague at Google who was hired straight after highschool.
reply
VirusNewbie
1 year ago
[-]
wow, like straight out of high school, no work experience? I and many other googlers have no college experience, but going straight out of high school is quite exceptional.
reply
amir734jj
1 year ago
[-]
I have a PhD in computer science and I work in FAANG. My boss and his boss don't have CS degrees.
reply
28304283409234
1 year ago
[-]
If you want to have interesting cs challenges, go for smaller fish. Don't FAANG.
reply
hinoki
1 year ago
[-]
Like others are saying, Leetcode is enough to get into a FAANG.

The only place where having a CS degree would be important is if you want to move to a different country and the company would have to sponsor your visa.

That said, FAANG seems to be pretty tight with headcount these days, hopefully it’s better in a year or two.

reply
smcl
1 year ago
[-]
Genuine question: why are you focused on just those five companies?
reply
jdjdjdjdjdjd
1 year ago
[-]
Apologies for being unclear. I really just mean the big tech sector. I'm looking at jobs outside of FAANG. I am just used to using the term FAANG to refer to big tech as a whole.
reply
smcl
1 year ago
[-]
No worries, just wanted to check because I wanted to advise you to broaden your horizons a bit because that’s a fairly narrow collection of countries. But all good.
reply
potbelly83
1 year ago
[-]
Not unless you're trying to get a job in Australia :)
reply
anArbitraryOne
1 year ago
[-]
You're not a Society of Women Engineers, sorry
reply
trumbitta2
1 year ago
[-]
FAANG != "or other tech companies"

Choose one side of the coin and prepare accordingly.

To simplify:

- FAANG (and FAANG wannabes): leet code, algo, CS stuff

- other tech companies: getting things done, Open Source contributions

reply
trumbitta2
1 year ago
[-]
First rule of FAANG club is you never simplify how things work at FAANG club.

Members will come at you.

reply
iamnotsure
1 year ago
[-]
Why do you want to work for FAANG?
reply
jstx1
1 year ago
[-]
I would personally like it for the money, and the name recognition which can provide other opportunities to make more money in the future.
reply
ekabod
1 year ago
[-]
You are a programmer, not a SWE. To be a SWE, you need an engineer diploma obtained after 5 years of studying.
reply
weeznerps
1 year ago
[-]
I wrote this FAANG interview guide a while ago after doing the LC grind and interviewing a bunch of places. I email it to people when they ask me about getting into FAANG. Note that Blind, while useful, is very toxic:

0. Total Compensation (TC) Salary comparison site: https://www.levels.fyi/ Anonymous posting with verified employees: https://www.teamblind.com/

These are the best tools for finding out what compensation actually is at these places. I know enough people in these companies to know these numbers are accurate. Keep in mind these numbers often include stock appreciation. You can filter to new offers to get numbers that exclude stock appreciation.

1. Leetcode (LC)

FAANG+ interviews always involve solving programming problems in real time. The best place to practice is Leetcode.

Buy a yearlong Leetcode premium subscription and do all the modules listed here, in no particular order, but skip decision trees and machine learning: https://leetcode.com/explore/learn/

When you are done with that, do all the problems on this list: https://www.teamblind.com/post/New-Year-Gift---Curated-List-...

A lot of these problems are on the modules linked previously, so you will only have 30-40 new problems here

Next, do random problems until you "see through the matrix." Focus on medium level problems. Try to do something like 35% easy, 50% medium, 15% hard. If you can't find the optimal solution to a problem, "upsolve" by reading a bit of the solution and trying again. If you still can't get it, copy the code of the solution and study it. Then erase it and try to solve it from memory. Periodically go back over solved problems and re-solve them while taking notes. Your goal should be to solve two random LC mediums in ~35 minutes. Solve problems out loud to simulate communicating your thoughts to an interviewer.

Consider using Python as your interview language if you are comfortable enough with it. It's faster than Java for writing. Some places will have you run the code, others it will be a glorified whiteboard, so don't use the run button as a crutch. Around two weeks before your interview, start doing company tagged problems like: https://leetcode.com/company/doordash/

Start doing this part first and grind it hard. It might take 3 months, it might take a year. It takes as long as it takes until you think you can crush it.

2. System Design

The system design interview tests your ability to piece together components to build an entire product or feature. A typical question is something like "design a URL shortener that serves 1B requests per day." You will need to choose database/pubsub/caching technologies appropriate to the problem, describe DB schemas, caching strategies, partitioning/replication schemes, design APIs, etc.

For senior level roles, this will be the most important part of your interview as far as leveling. If you are shaky, they will downlevel. Buy DDIA: https://www.amazon.com/Designing-Data-Intensive-Applications...

Read it more than once.

These courses on educative.io are useful: https://www.educative.io/courses/grokking-the-system-design-... These videos are also really good: https://www.codekarle.com/

Also FAANG level engineering blogs. Uber/Doordash/Netflix/Facebook. Tech talks on Cassandra/Kafka and stuff like that.

Videos are the best last minute prep before interviews for design.

3. Applying

Get referrals wherever you can. Most places will ignore you unless you have them. I applied to probably 25+ companies and got rejects or ignored for all but Uber, AirBnB and LinkedIn. Places I had referrals to I scored onsites for 100% of the time, including places that rejected me before a referral. You can get them referrals off of Blind, but you probably also have people in your network in FANG and top tier companies. People will be motivated to refer since referral bonuses are usually large.

4. Interviewing

The process is recruiter call -> "phone screen" (do an LC problem on Hackerrank on a zoom call) -> "onsite" which is 5 hours of zoom...usually 2 coding, 1 behavioral (maybe a small coding question as well), 1 design.

Do mock interviews with friends/colleagues for LC problems. I would totally be willing to do mocks with you when you are ready. I had 3 different people give me a total of 6 mock interviews. You can also pay for this with different companies like interviewing.io or randoms off Blind. I can give you the contact info of the guy from Uber who did the system design mock with me as well. He is super super good. It's much harder to find mock interviewers for system design.

Also for interviews you can interview over 2-3 days after 3pm PST to avoid taking time off work. Recruiters will let you push back interviews for any reason multiple times, especially if it's for more interview prep, so if you aren't where you want to be before one, it's totally fine to ask for more time.

5. Negotiating

You should try to get all your interviews lined up very close together to get competing offers, which can increase your offer by a lot.

reply
taurath
1 year ago
[-]
Thanks for this post. Its a huge elephant to bite off but takes consistent effort, which is for me the most difficult part.
reply
lakomen
1 year ago
[-]
Troll much
reply
P_I_Staker
1 year ago
[-]
If you want a good set of fangs, I recommend looking for a surgeon with experience helping people transform into a vampire.
reply
alangibson
1 year ago
[-]
In a way it's insanely easy to get a high-end tech job in the US. You don't need to spend 4 years in college. If you're willing to lock yourself in your bedroom and do leetcode for 3-6 months, one of them will hire you.
reply
thaumasiotes
1 year ago
[-]
Oh?

I applied to Google in late 2021 / early 2022. The suggestion was to grind leetcode.

The recruiter emailed me after my interviews to say they'd resulted in good news. She set up a phone call shortly afterward in which she told me I'd passed the interviews, I should prepare for a series of "team fit" interviews, I should see a job offer in about 6 weeks ("the end of February", when the call occurred in mid-January), and congratulations!

I was never offered, or contacted about, a single "team fit" interview. When the end of February rolled around, she informed me that, because I'd done poorly in the interviews (the same ones mentioned above; my results were good in January, but by February they had apparently spoiled), Google was uninterested in hiring me.

No one has really been able to explain why, in Google's eyes, "you did so poorly we're rejecting you" is a message to congratulate the candidate over, or why performing at that level is considered "passing" the interviews.

reply
iteria
1 year ago
[-]
Honestly, they might have just filled their quota. I've interviewed at companies where it wasn't that I wasn't good, but they found an acceptable candidate before I completed interviewing.

A lot of times you're not interviewing for "Google", but a specific team. If that team has all it's members, then well, sucks to be you.

reply
P_I_Staker
1 year ago
[-]
This is still a disgraceful way to recruit, and they kinda try to pretend that they don't do things like this.
reply
hoagsobject
1 year ago
[-]
/r/cscareerquestions has different feeling
reply