I got multiple FAANG offers in Europe
blog.goncharov.page
blog.goncharov.page
Getting a job is a function of: Quantity_of_applications * Quality_of_applications.
I have been somewhat successful in securing positions in the past 10 years or so of my career, including a relocation. And when some friends/associates ask me how I did it, and I offer to mentor them, they are not willing to put the time that it takes to research positions, and apply with tweaked "marketing material"; so eventually they give up, some not even try.
Looking for a job is a full time job, and if you're doing while employed, it means you're working 2 jobs.
Then I looked it up, read about it, and realized that I'm using it without naming it. I know it by the name of the special class I'm using in my language.
I wonder if I would fail miserably in an interview, or if it just depends on the questions that are being asked in the domain I'm working in. Or maybe I'm just not FAANG.
Often when asked about "the heap", it's in the context of heap versus stack. "What's the difference between a heap-allocated object versus a stack-allocated object", or "what's the diffence between the heap and the stack"?
That sometimes comes up in early phone screen interviews.
Some languages don't have that distinction: Everything is heap-allocated. So it's understandable how you could work without encountering the difference in some environments. But many of the commonly used "big" languages make the distinction, and if you've been working professionally for 8 years, interviewers who ask about it will take into account if you know the difference. Especially if the job is in a language where it matters.
(If you're looking at working with any of the async-await-patterned languages, you might be asked a trickier question about how does async change heap vs stack allocation.)
As a sibling comment points out, "a heap" is used in a second way, to mean a heap data structure, which is one of many ways to implement a priority queue data structure. Realistically, this rarely comes up in real life except that you might use an efficient priority queue without caring how it's implemented. In interviews, it might be asked about to assess the depth of your CS or performance knowledge. The same way they may ask about other basic data structures like balanced binary trees, linked lists, etc. Heaps are among the simplest "CS-ish" data structures. Even if you're not that interested in CS, I'd say it's worth reading what heaps are and how they work, even if you never implement one.
Now, of course, after reading about it in the linked article, I looked it up and now I have an understanding of it.
But I wonder how much this will be taken into account during an interview. I could, from the technology I'm working with, explain what the pitfalls of an async/await-pattern are, or what the difference between the logical and the visual tree in WPF is.
I wonder if you loose some knowledge on the way while working in a certain domain for a long time, and if that's a bad thing per se.
That's why part of me does not consider myself a programmer since I'm just building out applications/basic server admin but I'm not worrying about nLogN or memory management. Unless something is really just blatantly bad/noticable lag/bad performance. I only recently started to learn about BST but personally have not had to use it yet.
There’s a comment I found from a few years back[0] that touches on something related. There are some oversimplifications in the latter part refuted and expanded on in the replies, but the general idea struck me as probably mostly correct.
At this point I’d kill to just get out of the industry entirely, but there’s no desirable path out.
Build solutions, delight your customers, and call it a day.
99.9% of the time it makes no difference whatsoever and when it does, Stack Overflow is only a click away!
I also wonder to what extent can you consider yourself good/bad regarding resourcefulness/desire/aptitude to learn. If you took a developer and had them learn Post/ghostscript while having not worked with printers before, how quickly should they be able to learn it? That's a thing I'm dealing with now, it's not as easy as just pulling a popular library from GitHub and plugging it in.
Although I wonder if I would want to get out of the industry. While I admire the works of Torvalds and Bellard, and every once in a while dip my toe into low-level works, I feel happy about end-user feedback and making someone's life easier by providing a useable UI to a dataset.
Individuals who learned data structures and algorithms in university 20 years ago and can recall 95% of it do exist, but there's far less of them than most people think. There's no real progress without keeping your personality and your situation in mind.
Sometimes I think I should be able to come up with a sort algorithm from my mind, for instance - but I would have to look up how quicksort is working. I know that something like quicksort or bubblesort exist, but I couldn't tell you how the algorithm behind it works.
On interviews, I have the same fear as you. I know very little on the theory side of things (and don't have much of an interest to either), but I can get the job done. Maybe I should read up on the theory a bit more, or maybe I will another day ;)
Every time I go to start a job search this is what I tell myself I’m going to do this time around. That quickly goes out the window as soon as I’m rejected from most of those roles though.
I'm surprised, however, about the willigness to relocate in general for high paying jobs (from friends working at faangs / hn comments).
So what is it with people wanting to work so badly for large / FANG companies? The money and perks?
"A natural question here is why only publicly trading companies? First, I had already tried working for small and medium-sized businesses, wanted to try what it feels like to work for a proper corporation at a proper corporation-sized scale
"Second, I figured that a FAANG entry on my resume would act as a quality stamp, opening many doors in the future.
"Third, I hoped that a rigorous hiring procedure would help to concentrate true talent inside of the company. When you are surrounded by people willing to methodically take a VM apart piece by piece just to figure out why one operation works 5% faster than the other one, it, kind of, becomes a new norm for you, don't you think?
"At least, it is a heck of a story to tell at a conference.
"Forth, I figured that larger companies would be less afraid to relocate candidates.
"Last, my wife is about to start her Master's, and FAANG pays pretty darn well."
There were densely packed cubicles, the walls of which dotted with calendars, SLAs, corporate branded motivational posters, and poorly taken baby photos used as a reminder of why you continued to turn up to this droll.
Endless .. and I really mean endless .. middle management beuracracy meetings, interspersed with yuppy salesman/managers (hard to tell the difference) comparing their weekend adventures at the golf course, referring to you for pointed but logically flawed questions about the possibilities of technology, gasping at your lack of enthusiasm to work the weekend.
Canteen food that wasn't fit for prison, but still cost you twice as much as home made.
Filing form after form. Sometimes a form to request a form (no really, this happened.)
Then came this hip new company that had pool tables in the office, open spaces and plants to help relax the employees - how on earth would they ever get anything done these yuppies scoffed inbetween sharing pictures of their latest company car amongst one another.
Wait.. they let their engineers lead projects? What do the project managers do, then? THEY DON'T HAVE ANY?!!
(I'd like to add I'm really not making any of this up. My years at EDS, Xerox, several large UK banks, and some would-be-giant-corporation companies was just like what you saw in Office Space.)
There are other comparisons between the inner workings of the FAANG and Big 4, but I'll leave that for those in FAANG to make the comparisons.
- working on high scale projects
- working with highly skilled peers
They're relatively unique, in the sense that they can be found in other companies for sure; but at FAANG they're pretty much guaranteed.
Working on an uninteresting task at high scale is, I think, an experience worth having, profession-wise.
And working in faang has also become something of a status symbol, maybe that's what comes with money and perks
And for what it's worth; my search led to an average of €76k ($90k) for SDE-I in Germany: https://www.levels.fyi/company/Amazon/salaries/Software-Engi...
I know it's an exceptionally privileged position to be in, but trying to make the right decision for my future, particularly when it affects my partner as well, is really stressful.
Interviews vary wildly. Some are pure HackerRank grinds, others are more conversational and want to assess how rounded or seasoned I am as a developer. Some had a focus on algorithms and data structures, others were purely coding, debugging and thought process focused.
One started with a 2.5 hour homework as a timed HackerRank test, before any human contact, and was followed by 6 hours of further technical assessment. I took holiday off my current job to take these interviews, and WFH has helped me "bunk off" and do them.
The only advise I can offer to others is this: work with _only_ the best recruiters you can find, and leverage your personal connections and word of mouth. If your recruiter isn't introducing you to companies you've never heard of, or getting you interviews, ditch them.
My current recruiter:
- Checks in with me every day, unprompted.
- Calls me after (and sometimes before) every interview.
- Schedules interviews appropriately so I'm not overwhelmed.
- Respectfully tells companies who aren't moving fast enough to get lost (He did this with several companies once I had my first offer, only entertaining companies that promise an expedited or accelerated interview process so that I can make an informed decision).
- Gives me his honest opinion on offers I received from direct applications or via other recruiters, even when they're favorable and it's not in his best interest for me to accept. He's used these as leverage on my behalf.
- Has contacted me at weekends and bank holidays so I'm not left hanging.
If anyone in London wants a good "C++ in the financial sector" recruiter. Let me know.
When I'm running an interview for a coding test, I absolutely don't care about your answers as long as you show a proper reasonning with strong arguments. However, if you take 25 minutes to write a loop that count letters, that's going to be a reject.
I strongly advise against this, especially for Amazon.
We read each other's notes in the debrief. If we all see the same story, questions arise about experience. Have some variety. If you think the same story will answer all questions, it had better be one hell of a story.
People willing to grind leetcode, send out 400+ resumes, doing a lot of interviews will probably have a better career than the one's who don't.
Every interviewer has a leadership principal or two they need to get data points about. And there's a database of questions to ask that help specifically learn about that LP.
And it all has to fit inside the same hour as a technical question.
I note he interviewed to a wider range of companies than just FAANGs (Booking, Databricks, etc), but ended up getting offers only from Amazon, Facebook, and Google. With no disrespect to Andrey, does that suggest they're actually easier to get into than the rest of the pack?
what.
400 applications?! I've heard about people on cscareerquestions sending hundreds of CVs, but this is insane!
Yep, looks like "resume spam". No wonder recruiters do not read submitted resumes anymore. Kind of DoS attack :-)
Most of them worked companies like banks, and other big name non-tech companies.
The number of people with past experience in big dotcoms now is big enough that any mid-sized company can expect to get a few resumes from such for each position.
It's very obvious a sign of risk averse, and lazy recruiters, but what you can do? No doubt, it works for them, professionally.
It makes me think whether chasing a big dotcom name onto the resume, at any cost, and regardless of the merit of position worth it from the job security standpoint.
A dotcom name on the resume really opens you a lot of doors, you will not get yourself in otherwise. A stone cold truth.
Unless you mean TC which includes share-options "valued at" £200K+ (but likely will barely get £50k when vested after 5 years of active tenure.)
A good salary for principal engineers in London is upto £120k, but can be from half that. There are exceptional cases of higher. Highest I have personal confirmation of is £150k (a friend.)
Across all of engineering, the mean average salary at Google is £66k according to glassdoor, and that's known to be embellished.
This is a dangerous misconception to have. You may not want to work at FAANG which is fine. Otherwise don't shoot yourself in the foot by misunderstanding pay structure.
Public companies such as FB pay in liquid stock, that vests over some period of time. These are not options. You get 200K every year, immediately sellable. Or keep them and grow. Which given the performance over last two years would actually give you close to 400, not 50.
However..
> Public companies such as FB pay in liquid stock, that *vests over some period of time*.
And
> immediately sellable
Are a contradiction, no?
The tension is too much to bear, please enlighten me :)