Ask HN: I'm a SWE without a CS degree. Will online certs help me get into FAANG?
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.
169 comments
[ 3.0 ms ] story [ 343 ms ] threadIt 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
UX Engineering it a good fit for my skillset (and might be for other self taught people too).
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.
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!"
https://www.edx.org/learn/computer-programming/massachusetts...
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
The courses from Berkeley, Harvard, Stanford, MIT are quite good. There is no paying, just knowledge.
Taking the course is not a negative signal.
Putting the course on your resume, as if that conveys useful information, is.
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.
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.)
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.
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.
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.
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.
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.
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.
It's not reasonable, those statements are liability for you and the company you represent. Hiring laws are quite strict of discrimination.
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.
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.
You appear unsufferable. If i was in charge of deciding whether or not to hire you, I would not, based on this comment.
Something about the phrase “the bleeding edge of tech (AI)” is just very off putting.
Screams Dunning-Kruger effect.
Again, I also have nothing against the person here, it is the behavior that is a red flag.
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.
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
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.
The exceptions are certifications that are required by law.
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.
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.
It's fairer to just focus on competency, certified or not.
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.
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.
Rather than focusing on making the software do X, it makes software that already does X more resilient to failure.
(I've never been in a company big enough to have one of these, so I'm just trying to understand)
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.
I think it strongly depends on exactly what you end up developing.
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.
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.
I think the carts mostly exists to satisfy corporate clients
Cheers!
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.
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.
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.
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.
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.
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).
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 :-)
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.
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....
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
Members will come at you.
Do you work remotely in Asia? I would like to relocate too one day.
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..
If you want to talk to someone about this don’t hesitate to reach out over email!
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.
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.
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.