Live data from Hacker News

Ask HN: Joining Big Tech in One’s 40s

news.ycombinator.com

161–170 of 203 posts

Re: Ask HN: Joining Big Tech in One’s 40s

#161
post #75

I cold applied for an L7 position at "A" recently. Going in, I had fear that I was under qualified. My background is CompSci, Management consulting and leading teams at global 5 companies, startup founder, and other lead positions. I left the L7 interview wholly underwhelmed as I felt I was interviewed by engineers with experience an inch wide, one mile deep. Whereas I like to be a mile wide, 0.8 miles deep. My thoug…

Very interesting metaphor of the engineering talent you sized up during your interview. Thanks for sharing that.

You have an interesting background, would love to learn more about your career trajectory. Do you have a blog where you write more that you don't mind sharing? Feel free to email a link if you're up to it. (email in bio)

Thanks!

Re: Ask HN: Joining Big Tech in One’s 40s

#162

I joined Google at the age of 50. Just send a resume. They are not trying to surprise you and want you to do your best. Consequently, not only do they tell you what to expect from the interview process, the recruiter will send you a PDF that talks through what to expect along with a reading list you can use to prepare. (For example: cracking the coding interview and CLRS are on it.) That said, I just went in cold. If…

Just as one data point - I went through the onsite recently and I personally found that PDF to be unhelpful. While it does list everything you need to know, it also lists way too many things that you probably don't need to know. It's basically an exhaustive list of basically every resource and topic that could possibly show up in the algorithmic interview. In my view you just need to cover Cracking the Coding Interview and then do 50-100 Leetcode questions. If you have a strong grasp of intro algorithms that would work too, except for engineers like me who didn't major in CS and hence never took an algos course.

--- Here's the actual PDF contents -------

Algorithm Complexity: ○ Please review complex algorithms, including big O notation. For more information on algorithms, visit the links below and your friendly local algorithms textbook. ■ Online Resources: Topcoder - Data Science Tutorials, The Stony Brook Algorithm Repository ■ Book Recommendations: Review of Basic Algorithms: Introduction to the Design and Analysis of Algorithms by Anany Levitin, Algorithms by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani, Algorithms For Interviews by Adnan Aziz and Amit Prakash, Algorithms Course Materials by Jeff Erickson, Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein

● Sorting: ○ Know how to sort. Don't do bubble-sort. ○ You should know the details of at least one nlog(n) sorting algorithm, preferably two (say, quicksort and merge sort). Merge sort can be highly useful in situations where quicksort is impractical, so take a look at it.

● Hash Tables: ○ Be prepared to explain how they work, and be able to implement one using only arrays in your favorite language, in about the space of one interview.

● Trees and Graphs: ○ Study up on trees: tree construction, traversal, and manipulation algorithms. You should be familiar with binary trees, n-ary trees, and trie-trees at the very least. You should be familiar with at least one flavor of balanced binary tree, whether it's a red/black tree, a splay tree or an AVL tree, and you should know how it's implemented. ○ More generally, there are three basic ways to represent a graph in memory (objects and pointers, matrix, and adjacency list), and you should familiarize yourself with each representation and its pros and cons. ○ Tree traversal algorithms: BFS and DFS, and know the difference between inorder, postorder and preorder traversal (for trees). You should know their computational complexity, their tradeoffs, and how to implement them in real code.

○ If you get a chance, study up on fancier algorithms, such as Dijkstra and A (for graphs). ● Other data structures: ○ You should study up on as many other data structures and algorithms as possible. You should especially know about the most famous classes of NP-complete problems, such as traveling salesman and the knapsack problem, and be able to recognize them when an interviewer asks you them in disguise.

● Operating Systems, Systems Programming and Concurrency: ○ Know about processes, threads, and concurrency issues. Know about locks, mutexes, semaphores and monitors, and how they work. Know about deadlock and livelock and how to avoid them. ○ Know what resources a processes needs, a thread needs, how context switching works, and how it's initiated by the operating system and underlying hardware. ○ Know a little about scheduling. The world is rapidly moving towards multi-core, so know the fundamentals of "modern" concurrency constructs.

● Coding: ○ You should know at least one programming language really well, preferably C/C++, Java, Python, Go, or Javascript. (Or C# since it's similar to Java.) ○ You will be expected to write code in your interviews and you will be expected to know a fair amount of detail about your favorite programming language. ○ Book Recommendation: Programming Interviews Exposed; Secrets to landing your next job by John Monagan and Noah Suojanen (Wiley Computer Publishing)

● Recursion and Induction: ○ You should be able to solve a problem recursively, and know how to use and repurpose common recursive algorithms to solve new problems. ○ Conversely, you should be able to take a given algorithm and prove inductively that it will do what you claim it will do. ● Data Structure Analysis and Discrete Math: ○ Some interviewers ask basic discrete math questions. This is more prevalent at Google than at other companies because we are surrounded by counting problems, probability problems, and other Discrete Math 101 situations. ○ Spend some time before the interview on the essentials of combinatorics and probability. You should be familiar with n-choose-k problems and their ilk – the more the better.

● System Design: ○ You should be able to take a big problem, decompose it into its basic subproblems, and talk about the pros and cons of different approaches to solving those subproblems as they relate to the original goal. ○ Google solves a lot of big problems; here are some explanations of how we solved a few to get your wheels turning. ■ Online Resources: Research at Google: Distributed Systems and Parallel Computing ■ Google File System ■ Google Bigtable ■ Google MapReduce

● Development Practices and Open-Ended Discussion: ○ Sample topics include validating designs, testing whiteboard code, preventing bugs, code maintainability and readability, refactor/review sample code. ○ Sample topics: biggest challenges faced, best/worst designs seen, performance analysis and optimization, testing and ideas for improving existing products.

Re: Ask HN: Joining Big Tech in One’s 40s

#163
post #19

Yes, I did exactly this. Stayed a dev, moved to the west coast, got a big pay bump, job stability, and benefits. There are plenty of 40+ devs here. So much of the work at big companies is learning their huge custom domain, don't worry about any particular tech. Only regret is that I absolutely under leveled myself (msft L64), and after a couple years getting dragged through a couple of reorgs, I still feel like promo…

>it's much slower and less interesting. But, still worth it....I guess. (second-guessing myself now?)

My experience at msft in a nutshell. They pay very well and their name brings prestige, don't forget that when you second guess yourself!

Re: Ask HN: Joining Big Tech in One’s 40s

#164

Earlier quoted context omitted.

Not quite, the term IC also comes with connotation you don’t want to be a manager track. Many software engineers (including myself) much prefer the IC route.

so... a not-just-a-worker who is manager level in terms of ability to orchestrate but is knowledgeable in excess of typical expectations for that of a classical "pure" manager. Ok I probably mangled this but IC just paid for itself in my mind via increased understanding, nuance and useful brevity.

It doesn't imply "manager level". Anyone can be an IC at any level. It might imply "not on a manager track" but strictly just means "not a manager right now". Since it is the opposite of "manager" it might have all kinds of connotations due to being where that distinction is relevant, but the denotation is still just a technical role with zero reports.

Re: Ask HN: Joining Big Tech in One’s 40s

#165

I joined Google at the age of 50. Just send a resume. They are not trying to surprise you and want you to do your best. Consequently, not only do they tell you what to expect from the interview process, the recruiter will send you a PDF that talks through what to expect along with a reading list you can use to prepare. (For example: cracking the coding interview and CLRS are on it.) That said, I just went in cold. If…

You advice is sound but incomplete. > if you still understand your undergraduate level algorithms course and the corresponding vocabulary, then you know what you need to know speaking from experience, this would not get you nowhere near the level you have to be for passing the Google interview (or any other FAANG interview for that matter). You need to study long and hard in addition to solving OJ problems and famili…

[deleted]

Re: Ask HN: Joining Big Tech in One’s 40s

#166
post #25

I would not recommend trying to interview as a manager for any large tech company without having first been a manager in another role. I would also not recommend doing this for small startups, but some may be willing to hire you into such a role without you being able to point to concrete experience in the role (the filters aren't as strong). I say this because that is personally a cardinal rule of mine, and I've nev…

What's the bar for being hired as a FAANG engineering manager? Prev FAANG management experience? Prev FAANG IC role? Cursory LinkedIn searches show many FAANG engineering managers were promoted from within or came from a similar position at a similar company. FWIW I've been both an IC before and have steadily moved to CTO at my current startup. I come from a non traditional background (non CS) but had several leaders…

I joined Google last year, hired directly as a manager. Germane to this thread, I'm in my early 40s.

At Google, the bar is that you are expected to be able to contribute as an equivalently senior IC, but will be expected to use those skills to inform how you do manager stuff.

So you will definitely get technical questions, the type of which will vary slightly depending on which level of management you're interviewing for. But they will be legit technical questions, like solving a graph theory problem or designing a distributed system.

In addition, you'll also get explicit sessions probing you on your leadership style and management fundamentals. Standard behavioral stuff.

Non CS background doesn't seem to matter as much as actual leadership experience afaict. Formal leadership roles seem to be weighted more strongly when considering your level, but you do seem to get some credit for informal roles too. I'm not super sure on this point.

I think it'd be hard to go directly as an external IC to a manager role. That's not a risk I'd personally want to take if I were the hiring manager in that situation.

If it helps you calibrate, I had about 6 years experience as a line manager at other companies, and I was considered for (and hired as) a line manager. I was never being considered as a 2nd level manager of managers.

hth.

Re: Ask HN: Joining Big Tech in One’s 40s

#167

Earlier quoted context omitted.

so... a not-just-a-worker who is manager level in terms of ability to orchestrate but is knowledgeable in excess of typical expectations for that of a classical "pure" manager. Ok I probably mangled this but IC just paid for itself in my mind via increased understanding, nuance and useful brevity.

It doesn't imply "manager level". Anyone can be an IC at any level. It might imply "not on a manager track" but strictly just means "not a manager right now". Since it is the opposite of "manager" it might have all kinds of connotations due to being where that distinction is relevant, but the denotation is still just a technical role with zero reports.

>...but strictly just means "not a manager right now".

There's also the verisimilitude that it can also mean an inferred ceiling. For example, Principal Engineer role[s] at Microsoft is [are] typically the highest that you can go - if you stick to the IC (read: non-managerial) track[s].

Re: Ask HN: Joining Big Tech in One’s 40s

#168
43? you young-uns crack me up.

> I can still keep up coding

This sounds like you are not confident of your skills. At 43, with 20-ish YOE, if you want to become a SWE IC at FAANG you better be good, and know it.

> but should I do that, or try for management?

no offense, but you sound like an 18 yo.

In all this time at startups, how is it you haven't learned how to make decisions? Sorry if I am being harsh, consider it tough love. :)

You might just be coming off in writing as being indecisive and lack confidence, whereas in real life you are solid. Or you might have the humility that only true seniority brings. I can't tell from here.

Either way, I don't think this is a question with easy answers that you can get from a forum. You need to do some soul searching. I would first settle the question of whether or not you want to go into management, not whether or not you think FAANG will have you as an IC. There are plenty of books on becoming a manager. Almost all of them suck, but that doesn't matter. You'll get some initial perspective from reading 1 or 2 of them.

Assuming you do want to switch tracks to management, I don't know at all how FAANG is at hiring no-experience managers at age 43. Personally, I like to be prepared so my personal plan in that case would be to get a manager job at a startup -- it should be super easy for you. Do that for 2 years max. Quit no matter what after that. (You need to make that your plan and stick to it.) If you like it, apply to FAANG! Note though that being a manager at FAANG is completely different than being one at a startup. But what you're going for is the resume builder as well as the experience of having direct reports. Ideally you'd get a job where you have firing authority. Not that you want to exercise that, but it changes things.

Now if you search within and read a couple books and decide IC is what you love, take a month to bone up on core algorithms and then go for it.

Re: Ask HN: Joining Big Tech in One’s 40s

#169

Earlier quoted context omitted.

What's the bar for being hired as a FAANG engineering manager? Prev FAANG management experience? Prev FAANG IC role? Cursory LinkedIn searches show many FAANG engineering managers were promoted from within or came from a similar position at a similar company. FWIW I've been both an IC before and have steadily moved to CTO at my current startup. I come from a non traditional background (non CS) but had several leaders…

I joined Google last year, hired directly as a manager. Germane to this thread, I'm in my early 40s. At Google, the bar is that you are expected to be able to contribute as an equivalently senior IC, but will be expected to use those skills to inform how you do manager stuff. So you will definitely get technical questions, the type of which will vary slightly depending on which level of management you're interviewing…

Can you share a bit more about what management questions you were asked, and perhaps a hint as to how one prepares for them? There seems to be plenty about technical questions, but not so much about management and leadership.

Also is the technical bar lower? And do they care at all about having done business school?

Re: Ask HN: Joining Big Tech in One’s 40s

#170
I have both worked with and interviewed people in their 40s when I worked at a FAANG. Despite what's advertised by HR, culture tends to be org/team-dependent at bigger tech companies. I believe that you should be more concerned about culture fit which is something you can assess during the interview. If you decide to interview for an individual contributor position, I recommend that you brush up on algorithms. You can either target a company on LeetCode or go through a generic list of problems (here is the one I use https://theinterviewlist.com)
Post reply on HN