Ask HN: If not fresh out of college, what did you do to join a FAANG?

58 points by wallflower ↗ HN
Given the removal of the need to move to a High-COL area to work for a FAANG-type or FAANG-aspiring company with the rise in intermediate-to-senior level remote work opportunities for some of them, I feel that it might be possible to FIRE for more of us.

I've always been fortunate enough to avoid grinding LeetCode, telling myself I don't want to jump through those hoops (rotating a red-black tree on a whiteboard) and that I was happy enough at non-FAANG companies. I know that at almost all of these companies they will ask you LC medium (or even LC hard) questions. However, the death of a close friend has made me reevaluate whether I want to work until 65. Maybe retiring early or at least having the option to not work full time makes sense. I do know that you can still live a good life before you are retired, and I am guilty of "Groundhog Day" living like some of us are.

If you were not hired into FAANG out of college and were rusty on algorithms and data structures, what advice would you like to share on getting hired into FAANG? What did you have to do to prepare successfully for the interviews? How many "practice" interviews did you do? How much time did you spend every week? How did you maintain discipline during the grind Did you have a coach or some coach-type program? What books or courses would you recommend? Thanks for any input. Happy new year!

100 comments

[ 3.3 ms ] story [ 182 ms ] thread
Why the fixation on FAANG?

There are plenty of opportunities out there, with large corporations, that would allow you to grow as a developer, learning useful production skills as you go.

Some people just want a paycheck with low minimal work required. I worked at a FAANG and I can guarantee you that many people do not care much about growth and development. A lot are just there for big pay and less work.
The big pay and less work is a killer combination for both employee and corporation. Not only do you produce less code, which people think is an asset but is really a liability, you take more time to do so. Like the idea of ping-pong tables is parodied but it makes sense for profitable companies and in moderation. The employees have to be adults about it, use the ping-pong table specifically to accomplish work, to think. There's so many choices you could take, and the fewer you take the better, you just have to make sure you take the best choices. Mulling things over is good. Time spent on making decisions is time well spent, you could do it quicker but only with a dartboard. Maybe instead of spending an hour on the question and a year on the answer, spend a year on the question and the answer will come in an hour.

As long as there's trust and a work ethic on both sides, it's very virtuous.

not really... I went to 10 different corporations and 1 FAAN. FORTUNE50, startups, finance, retail, software, electronics. there is nothing like faang. pros and cons included
I'm in a similar boat, though I am not in a FAANG, but in a company arguably on a similar tier. I agree 100%.

If I have any advice for current CS college students, it would be to do everything possible to get into a FAANG or FAANG-like tech company.

The monetary compensation speaks for itself, but all of the other non-monetary perks will also contribute to making your future career better, and your daily work more pleasant if not enjoyable.

That's not to say FAANG is perfect - no company is. But no matter the ugly warts FAANG and similar companies have, most other companies (especially non-tech companies where tech is an unrespected cost center) are usually worse.

Which leads me to my second piece of advice for college students - if you don't or can't make it into FAANG or FAANG-like companies, do everything possible to get into a company where tech is a profit center, or at least respected.

I'm reading the parent post as essentially asking about someone who is not looking "to grow as a developer, learning useful production skills" but has already learned the useful production skills and grown as a developer (i.e. already is at "intermediate-to-senior level"), and wants to convert those sklls into large amounts of cash, thus the interest in FAANG as opposed to large corporations which pay less (or are expected to).
Easiest way to make $300k+ working 40 hours a week.
The second half of that statement is questionable, isn't it? I have not worked at a FAANG company, but my distinct impression is that one trades time for a significant chunk of money.
> The second half of that statement is questionable, isn't it?

Yeah, the time I worked at Google most people worked less than 40 hours a week.

> but my distinct impression is that one trades time for a significant chunk of money.

Right, I traded 30-40 hours a week (a significant amount of time) for about $250k a year (a significant chunk of money).

I know other FAANG are a bit more harsh to work at than Google, but I haven't heard of any place where 40 hours weeks isn't the norm. Except Amazon, but Amazon is just a regular toxic company, you find such at every paygrade.

That's fair. However, $250/year is also not what I consider a "FAANG salary" (whatever that means). That's roughly the situation I'm in, in a Series A startup.

I could be totally wrong, but my sense is that $300+ per annum is almost always accompanied by well over 40hours/week.

> However, $250/year is also not what I consider a "FAANG salary" (whatever that means).

I worked there as a junior. The people I worked with had 500k+ and didn't work more than me. I have very low living expenses though and didn't want to stay in the HCOL area so I quit because I got more money than I needed.

Timeframe is probably a factor too.

One of my friends who works at Netflix got a ~$270k offer many many years ago. That is probably unspeakably and impossibly low for Netflix if you were to get an offer there today, but probably high for that time?

Damn, cool! All the interview hoops you have to jump through kinda seem reasonable in that light.
FAANG isn't a monolith. Facebook and Netflix working life seem worlds apart even if the comp is in the same neighborhood.
My understanding is Facebook & Netflix > Google > Amazon & Apple when it comes to compensation?

If you add the MULA companies, I believe ULA are on the higher side while M is on the lower.

FAANG companies literally pay about twice as much, as random regular tech companies.

Its absurd.

(comment deleted)
(comment deleted)
I got a PhD, went into industry as a data scientist, started managing a small team, and then a recruiter reached out to me. Not surprisingly the management interviews are far easier and less technical.

I didn't take the job. They did a geographical adjustment to the comp, and it was considerably less than I already made, and about half what levels.fyi had led me to expect.

Do you mind me asking for more information on the geographical adjustment? Are you in a rural area, or just not in San Fransisco?
I have struggled to reconcile levels.fyi and the salary ranges listed here: https://www.theladders.com/jobs/facebook-jobs

(A research scientist with a PhD in CS making <$100k at Facebook—what!??)

Perhaps there is a big difference between getting hired in the Bay and moving later versus getting hired remotely from the beginning.

Levels.fyi lists total compensation, the ones on Ladders seem like base salaries only
I realize that, but base salaries don’t match either without doubling them.
I guess they match a bit better than I first judged. It will be interesting to see what happens to these companies if their stock prices ever cool off.
Add 50% to base salary for stocks/guaranteed bonuses for junior positions. Then that percentage go up as you climb the ladder. (Guaranteed bonus is a way for them to make you stay to the end of the year before leaving...)

Note this is not accounting for stock appreciation. If stocks didn't go up you would just earn about $300-400k as a senior software engineer, with stock appreciation you can see $500k+.

I don't like the way this document is written, but it works: https://docs.google.com/document/u/1/d/1eKirumpmwDWTtKCJKn2H...

I did what it said and got offers.

Thank you! I appreciate this. I picked up software development to build my startups, but now realize that working at a FAANG has immediate benefits to me - financial and social; as well long lasting benefits - better opportunities, peer network, etc.

I've been looking for something like this. I'd rather read this crass/vulgar document than a 250 page books on algorithms and practice leetcode without a direction. This also seems to be full of insider knowledge and your review makes me feel much more positive towards it. Here's to making this year count.

Thanks for sharing this. I appreciate the honest and hard perspective. On a cursory look, it reminds me of Zed Shaw's guides to "Learning X the hard way".
Don't worry about rotating a red-black tree, I love algorithms, I worked at Google, and as an interviewer I would never ask (or even memorise) something so complex.

Now if it's reversing a binary tree (the famous interview question), if you don't love doing it, you won't love working with big data and complex systems.

As for me, I loved being there working for 1 feature for half year as much as I hated working at small companies where new features had to be implemented every day. I think the latter is just better match for you.

Started out has a contractor for one. And then was eventually converted to an fte after two years.
How does one find contract opportunities with a FAANG?
I found mine via a recruiter on LinkedIn. Would suggest checking what sourcing agencies your desired company uses and reach out to those agencies.
Graduated '16 with a STEM degree. Opted against med school or doctoral studies, so instead took an IT job. Started scripting to fix common issues. Scripts became more like software and I transitioned to a dev job within the same company.

Friend with a FAANG started a bootcamp service and I was one of the first students. Algorithms and mock interviews for 6 months before I landed a FAANG role. It was a grind, but worth it in the end.

Graduated in 2004 with a MS in CS and joined a company that I stayed with for 11 years. My titles were at various points Director and Fellow; I was the most senior engineer who touched code every day.

Interviewed at Google in 2015. I basically went through all the exercises in Cracking the Coding Interview, and spent a bunch of time relearning all the stuff in my Algorithms book that never really clicked when I was 20.

I probably spent a month study all told, and I passed the interview to get hired as a Senior SWE. Had some graph questions, and honestly I've had to do a fair amount of graph related stuff at Google, so it's not a bad thing IMO.

> My titles were at various points Director and Fellow

> I passed the interview to get hired as a Senior SWE

Maybe I'm unfamiliar with Google levels, but that sounds like a demotion from Director or Fellow. Did it feel that way?

A senior at Google earns much more than many directors at non-prestigious companies, it is only a demotion in your head. See for example technical director salaries at AT&T.

https://www.glassdoor.com/Salary/AT-and-T-Technical-Director...

While AT&T doesn’t pay well, that doesn’t sound right for a director there. I know friends making about 140 who are relatively junior developers.
My previous position was more like L6 in terms of responsibility, but the pay was much better at L5 than I was getting before (but in a totally different market).

I work with someone in BD now who used to be the CEO of a company, so I don't feel too bad :).

"Studied for a month". What are you all, geniuses? I am a Chartered Financial Analyst, Google Cloud Certified Architect, Azure Certified Architect, all-A student, "Architect" title at work, and otherwise not too dumb - not humble brag, straight up brag.

And yet, I am sure it would take me 6 months to prep for these interviews (while employed full time). Yet everyone is throwing around "lol a month". Trying to figure out if you are all top 1% brilliant geniuses or completely, completely full of it.

I also spent months preparing for the interviews. People here also talk about being able to build complex systems "in a weekend". I tell myself it's OK if it takes me longer to prepare for certain things to do a good job; the important thing is that I do a good job.
If you are top few percent of software engineers in terms of talent then it wont be much work to get into FAANG. Top few percent doesn't seem like a lot of people, but this is a big forum, and people who are good at something are more likely to respond to a question than those who aren't.
I wasn't learning from 0, and I had been interviewing candidates all the time at my then-current position. It was really primarily review / drill.

As far as if I'm a genius or not - I think I'm pretty smart but think the same about lots of people I've worked with. I graduated with a 3.9 GPA at frankly a pretty easy school (Kent State), where I definitely was one of the top students in undergrad. I've definitely worked with smarter people at Google.

I read Elements of Programming Interviews rather than do LC questions online. That book has a few flavors for popular languages—-just level up on the language you know best, don’t try to learn a new one.

I spent about a month covering the book, and then grokking the systems design.

It’s not so much the knowledge as the familiarity with the interview format and expectations (ask clarifying questions, explain your reasoning). The company I ended up joining had an opportunity for a mock phone screen interview, which I took advantage of. It was roughly a LC easy but covered the format and gave me some feedback on how I conducted myself.

I'm not a fan of LeetCode since it doesn't give much signal about the ability to do the actual day-to-day job. I did not pass the interviews at Amazon, Facebook, or Google because I don't "grind" LeetCode. I worked as an engineer for about eight years before applying to Stripe. Stripe's interview questions resonated with me because they were more grounded in real-world problems. I hit my four year anniversary in early 2022.
I'm curious what kind of questions Stripe asks.

I've encountered "practical" interview problems at various places also, esp. for frontend roles. But while not leetcode, many of them were things you still wouldn't code up in daily work - at least not serendipitously from scratch in 20-40 minutes with little to no references available.

My solution to this was...also grinding.

Here are the broad topics. Some of the questions are floating in public, and have been replaced, but the general idea remains.

- Debug an issue in a library

- Balance bank accounts

- Design a scalable system, and discuss the trade offs

- Integrate with an API

Can confirm that I had a very similar vibe from Dropbox interview process (got the offer, but chose a different offer for reasons that have nothing to do with Dropbox). Grinding leetcode wouldn’t have helped much beyond basics for the coding portion of the interview.

The problems were extremely practical, but also not “dirty” (so not like where you are given something like a React project, and asked to build a website doing XYZ). It was more like “here is a general problem (let’s say, process scheduling algorithm for a hypothetical OS; not the problem i got, but similar in concept), here are the methods the class needs to implement. What are the approaches? Which one you would go with if you prioritized memory? What if we prioritized speed instead? Are there any other helpful methods that the class might need?”.

And it essentially boils down to conversational decision-making on implementing a feature that is very similar to how it is done in a real workplace, not as a leetcode problem at all. And yes, you still implement it in leetcode, but grinding leetcode will only help you with the very basics, and it can imo be totally passed without leetcode grind.

The non-coding interviews were also very well thought-out (in comparison to the typical FAANG process). Systems design was a delight, and the deep dive interview (where you pick a project you worked on before ahead of time, write a few sentences about it, and then when the interview comes you dive very deep into an aspect of it and get grilled with questions on it) was very meaningful and useful.

Overall, i can definitely recommend interviewing with Dropbox, and it was a very difficult decision for me to not take that offer, as I got extremely good vibe from both the people i interviewed with and the company overall.

I have been trying to get an interview at dropbox but I think my resume is being filtered out by some automated system. I have applied to jobs at dropbox where I have direct in depth experience with the entire tech stack the team is using but I only get an automated rejection email. Such a shame I can’t get into contact with a human at dropbox! Their interview process sounds wonderful and their approach to remote work is really enticing.
> I have been trying to get an interview at dropbox but I think my resume is being filtered out by some automated system.

I feel you, having the same issue with AirBnB myself. I got invited for an interview with them my senior year of college, but I had already signed another offer at that time, so I politely declined. It's been over 5 years since then, and I am yet to be able to get a single interview there, despite applying every year.

This is why I go to FAANG and live in high col areas and compete a hard as possible I forget how to live.

I want to work for 10 years then go back to my origin country and just live a simpler life.

Have you ran the numbers to just moving out of the high cost of living area?

I've had a couple friends at FAANG run the numbers that even with a cost adjustment they were ahead moving to states with no state income tax.

I haven’t. It is a good idea to think about it.
(comment deleted)
The question is what do you want to do at a FAANG? Do you want to be a software developer? Leet code might help.

But as a infrastructure, architecture, and security person I've never been asked a single coding question. It's all about the above mentioned topics. The fact I can sling a little code is just a value add.

If you are interviewing with me, you won't be asked about an algorithm; you'll be asked about SAML and the differences between IdP initiated and SP initiated login flows.

So what do you want to do? Make sure you have a few projects and can speak to those experiences.

Consulted for them and then accepted the offer to interview. Comp was meh but the perks and experience made me sign. No regrets thus far.

Not a coder/dev, for what its worth.

The most important thing here is if you're asking this question right as you finish college and this is your goal, then you're screwed up.

Why? Because resume-building for high-profile employers begins long before graduation. Probably the most important factor: internships. Getting an internship is the highest-probability way of getting an offer bar none. If you don't have 1 or preferably 2 internships under your belt then you've made a mistake.

The second is that passing interview loops is a skill. It's one that can be studied for, learned and practiced. And if you're serious about this then you should do that. Many recommend CLRS [1] as a source for this. Personally, my choice would be Skiena [2]. Go through all the chapters on sorting and searching, lists, trees, graphs and possibly dynamic programming (some employers use this in interviews, some don't). Backtracking is useful but I've never seen it in an interview.

Do the same problems on an actual whiteboard. Don't just think about it. Get comfortable enough with any popular language (eg Javascript, Python, C/C++, Go, Java) such that the syntax and common libraries are second nature.

It's not unsalvageable to do this at the end of college (if that's the case). You just need to commit a few months to it.

Some will ask "why FAANG?" and the answer is obvious: the money can be life-changing but even aside from that it's an opportunity to learn a lot and having that on your resume is amazing social proof that will quickly eclipse the value of going to a top-tier school.

[1]: https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press...

[2]: https://www.algorist.com/

Internships really don't matter for anyone past a junior role. Direct employee referals are what will get you looked at by a recruiter and called up for a technical screening. After that it's purely a matter of how well you perform in the interview. I can guarantee your education is only give the most cursory glance. If you're 10+ years into a career I wouldn't even bother to list internships on resume anymore, there is likely far more impactful stuff you can use that space for on the page.
> internships really don’t matter for anyone past a junior role

I think the grandparent comment isn’t claiming otherwise, which is why it essentially says [paraphrased] “if you are finishing college right now, internships are the most important factor in getting that full time offer when you graduate”.

Contract to hire. Easier initial interview. I still had to do a full FTE interview afterwards, but I had the extreme advantage that everyone on the team had already made up their mind. So some of them lobbed softballs, especially the manager.
This is how I did it - though it wasn’t “to hire”. I was part of a wave of 30 or so contractors and I kicked ass during my contract and made some internal allies (most importantly the hiring manager) who pushed to get me on as an FTE. The interview questions and panel were subsequently set up for me to succeed.
Congrats! That is an interesting route to have a months-long "interview". I am assuming contract-to-hire is even more rare than QA-to-software engineer (only know of 2 personally who have done that).
I worked at an internet of things startup for 3 years. Note that my profession is technical writer, not SWE. Google recruited me and I told them to check back in a year because I was learning a lot at the startup. Sure enough they did follow up after a year. At that time I was ready to move on.
Here is my story:

- got an applied maths / CS degree in the beginning of 2000s, followed by a non-STEM master's degree and almost 10 years in a non-tech career

- burned out, quit job

- spent about a year working on pet projects and (re-)learning programming, then a couple of years on a startup with co-founders (which didn't gain much traction)

- moved to a different country for a developer job. I didn't want to ask my old connections for recommendations, so I just took an offer from a small company that found me on Monster or something similar

- after a couple of years, things at the company became worse, so I started looking for a new job. By that time, I had a circle of friends in the new country, some of which worked at FAANGs and asked me if I wanted a referral.

- I had remembered most of the theoretical stuff needed for LC interview from my CS course from 15 years ago, so I just needed to refresh it, cover the topics I didn't know and have some practice. That took me about a month or two of weekends, evenings and lunch breaks.

- I was so frustrated with my job that I took leetcoding as a pleasurable distraction - I didn't really need anything to maintain discipline. The country was in lockdown, so I didn't have much else to do anyway.

- the whole process from deciding to change jobs to getting an offer took about 4 months. I interviewed at around 5 companies, got 2 offer (one FAANG and one non-FAANG) and decided to take the FAANG one instead. Not sure if this job is a viable road to FIRE (and not sure if this concept is for me at all) but I like it so far.

After working at mediocre companies and failed startups for the first 20 years of my career I got a job at a smaller company that is famous for being highly selective and achieving amazing engineering feats and worked there for several years, then followed the wave of coworkers to FAANG when I wanted to hang out with my kids and work less than 85 hours a week. Having several ex-coworkers that trusted me at the FAANG def helped getting in. I can't answer most grindy Leetcode questions at an interview.
What, 85 hours a week? Tell me that's just a joke
It's not unfortunately. And I worked there 6 years. But I have great memories and a lot of great experience from the gig.
The interview process is stupid: you’ll have to grind leetcode and other “system design” interview stuff.
I don' know if you'd ever be quizzed on"rotating a red-black tree ", but you might be asked to verifying if a binary tree is balanced, which seems like a fun exercise. I used to hate leetcode and the like!!
> However, the death of a close friend has made me reevaluate whether I want to work until 65. Maybe retiring early or at least having the option to not work full time makes sense. I do know that you can still live a good life before you are retired, and I am guilty of "Groundhog Day" living like some of us are.

After grinding for years and finally becoming financially independent, my advice to people considering the same is: don't.

Instead, focus on making small improvements to your daily quality of life. From sleep, to exercise, to diet, to finding a project/team/company that is aligned with your personal enjoyment. Try things out and stick to whatever works for you at the moment.

The reason for this is that becoming financially independent is not going to magically make you a happier person, it just gives you more free time. If you were bitter and joyless from years of keeping your nose to the grindstone, once you retire you will just be a bitter and joyless person with extra free time to simmer in your own misery.

Happiness happens today, not some distant future.

Love that last sentence!
- Focus on quality of life improvements with existing control

- Start experimenting for happiness. I only in the last two years found out how incredible I feel stopping coffee at 1 PM and waking up before 6 AM.

- Financial independence can make you happier because not only does it give you more time it can also reward us by not needing to do things we don't want to do like house cleaning.

> After grinding for years and finally becoming financially independent, my advice to people considering the same is: don't.

> Instead, focus on making small improvements to your daily quality of life. From sleep, to exercise, to diet, to finding a project/team/company that is aligned with your personal enjoyment. Try things out and stick to whatever works for you at the moment.

You can do all of those while working at FANG. FANG is the best way to get peace of mind, you make lots of money for a modest amount of work so can focus on other things. If you get into a toxic team at Amazon then sure you trade stress and happiness for money, but the others aren't like that and are harder to get into for a reason.

I think they were saying "don't focus on retiring early thinking it will make you happy, because it won't" not "don't work at a FAANG".
Having FU money is really helpful though, and you get that by working at FAANG. For example it lets you take a few years break without worrying about money etc if you feel like it. It really helps!

The only reason to not care about this is if you love your job so much that you are sure you want to work all the time until you retire.

> FANG is the best way to get peace of mind

You make working for a large corporation sound like a religions experience.

I've worked in start ups my entire career, never once in 13 years did I worry about job security or financial issues in general, the market is just too good for competent software engineers.

The last one happened to have a very successful acquisition and now I still work at my startup (one of the lucky ones whose culture and working environment survive acquisition), but it's part of a larger fortune 100 company. Now I have a start up life, a FANG salary, and mission that doesn't include cramming ads in eyeballs or invading other's privacy and I can't help but to feel that my way was the best way.

This isn't to say that my way actually was the best way, but that calling out any single career path as "the best" seems likely to be wrong.

> You make working for a large corporation sound like a religions experience.

Having so much money you don't have to work is like a religious experience, it makes you revaluate life etc. Getting to that point without having to sacrifice anything is very valuable.

> Now I have a start up life, a FANG salary, and mission that doesn't include cramming ads in eyeballs or hording private data and I can't help to feel that my way was the best way.

Right, you got lucky. I went the reliable path where you get this every time. Start-ups is not a good way to get peace of mind, working 35 hours at FAANG is.

Do any FAANGs have a reputation from being able to actually work 35 hours a week? Google is the only one that comes to mind.

That certainly isn't widely true for Amazon or Facebook.

Can just aim to get a job at Google then? It isn't like their interviews are harder than Facebooks, and they are big enough that there there are always spots open.

Also there are probably many smaller companies around with WLB similar to Google, just that they aren't as famous, no? It isn't like people use FAANG to literally just mean those 5 companies in these discussions, any company paying similarly works.

> Start-ups is not a good way to get peace of mind, working 35 hours at FAANG is.

Your whole talk of "peace of mind" is misguided, as it means different things to different people, the whole point of my original comment that seems lost on you. Thus there is no "best" way to go about getting peace of mind. For instance, I'm working on technology that reduce herbicide usage in row crop farming by 50%, while being in FANG pay bands, that brings me peace of mind.

If you are perhaps in uncertain visa/citizenship position or it some sort of financial state that is precipitously close to ruin and absolutely require absolutely no risk, FANGS may represent the "peace of mind" that you are trying put them off as, otherwise, you are exaggerating the difference. And most people find happiness through their relationships with other people, the nature of their work and the lack of financial difficulty (which hardly requires a FANG).

> And most people find happiness through their relationships with other people, the nature of their work and the lack of financial difficulty (which hardly requires a FANG).

At least to me work is inherently stressful and I can't get peace of mind as long as I have to go to a job. You seem to love working so to you it doesn't matter if you have money or not, but that isn't normal most people don't like working for other people.

So to me there is a huge difference between "lack of financial difficulties (if you work full time)" and "lack of financial difficulties (you don't need to work if you don't want to)".

I know becoming financially independent does not make a person happy, however do you think in present condition money plays a important role in feeling happy ?
Financial security can play a part of it, but that doesn't exactly mean being financially independent.

-- Having a job where you don't go in every day thinking that today is when they will find a reason to fire me or get laid off.

-- Having a bit of surplus personal money (after retirement accounts are paid into, and other planned savings) is really good. It doesn't take much, and you don't really need extra income, just make sure your lifestyle matches slightly below your income.

-- Knowing you can survive for a while without a job, if needed.

To accomplish the above (without having to significantly increasing your income), make sure to avoid the trap of monthly payments as much as you can. Sure you can afford $800 a month on a car payment, but your emergency fund stretches much further if you buy a car with cash up front (or going no more than 3 years on a loan).

-- Take time for yourself. Don't leave vacation days unused. Take advantage of flex time without using vacation if you can (cutting out for a couple hours for a Dr appointment, etc). Take a couple Wednesdays off per month during the summer (5 weeks vacation gets you a 4-day work week every other week for the year, or take minimum time off in the winter, take a few 3-4 day weekends, periodically take a day off that you don't have "must-do" activities scheduled so you can do personal projects such as woodworking or gardening, etc).

This is what has kept me happy, and will continue to do so even if I have to work till I'm 65.

Regarding “ To accomplish the above (without having to significantly increasing your income”

How do you judge what is important for you and what is like luxury which you don’t need right away ? I mean let’s say iPad is nice to have and would enjoy but it is not necessary or must have . But should I not buy something I don’t need to right now but save for future which is very random or unsure . I mean let’s say I been saving all long hoping to have a nice life after retirement but all of sudden I got hit by bus and thinking I should have enjoyed all things I wished sure rather than saving when on death bed . How to balance ?

Unfortunately, there really isn't hard and fast rules about this, as it is different for each person. And sometimes you have to get some life experience to figure out what you did sub-optimally in the past, or try to learn from experience of others and see if that applies to you.

I noticed that I'm happier now that I don't have payments going out for a lot of things (just mortgage and a car payment at the moment). I was looking into getting a motorhome, which I think we would really enjoy. But after thinking about it for the last couple years (and looking at industry quality issues), I figured that the maintenance plus depreciation totaled up to about twice what it would cost to do several 3-4 day weekend getaways at a nice resort every year.

As for buying things that will bring you joy, it isn't an all or nothing deal. Instead of getting the top-of-the-line tablet, see if a cheaper one would be 90% as good, and that leaves you money to get the watch also. On the other hand, if you cheap out too much on a purchase (say spend $300 on something that really doesn't bring you joy where the $800 item would), then you didn't save $500, you really wasted $300.

But the biggest rule I have is to not go into debt unless the payments are fairly close to what you would be paying out regardless. So buying a house (at least back before the prices got way out of control) would cost you close to the what you would be paying in rent, but you get to do so much more (extra rooms, yard, garage for tools and gear, etc). But putting a $3500 Macbook Pro M1 on a credit card that take you 5 years to pay off ends up causing you more stress than the joy that the purchase brought you (because the debt doesn't go down as easy as it goes up). Credit card debt is probably what put the most strain on my life over the previous couple decades (both personally and on my family, as I'd always be complaining about having to spend money on something).

The day I wiped out my credit card debt is the day I started feeling secure. It allowed me to go purchase a new car instead of driving a 15 year old vehicle that was starting to need monthly repairs, and the monthly payments on that didn't bother me because they fit in my budget while still having disposable income left over. Which allowed me to build up an emergency fund. Which now means I don't have to think about money if I want to go out and purchase that tablet, because I know it isn't going to add to my monthly debt payments. And if we want to take the kids to a water park resort for a 4-day weekend, again that is something that is budgeted for and not just thrown on a credit card to be paid off over the next few years.

> do you think in present condition money plays a important role in feeling happy ?

Being poor is very stressful. I'm not advocating for that, of course.

In my personal experience money loses a ton of utility once you have adequate food, shelter and a book to read. Expensive objects or experiences can bring temporary joy, which is fine, but they rarely make a difference in daily contentment. I personally aim for the latter, which appears to be more influenced by the quality of our relationships and our capacity to look forward and enjoy the small victories: a smiling spouse, a cup of tea, a sleeping child.

I hope that answers your question. YMMV.

> Happiness happens today, not some distant future.

Thank you for sharing your perspective from someone who has done it. And congratulations on becoming financially independent! I feel you have shared a lot of wisdom in that one sentence. Life is now, not later.

It echoes what my brother-in-law told me when I blathered in our family WhatsApp about my (maybe) plan for 2022: "If this is driven by your friend's unexpected passing, then my suggestion is to live each day. Don't wait for retirement as life is too unpredictable. You should be able to live a good life while saving for retirement."

I'm still on the fence about grinding LeetCode to get into a FAANG or equivalent. However, I am rationalizing that even if I don't go for FAANG, getting familiar with LeetCode (even if not a grind that consumes my life) could still be an invaluable skill to hone as it would make those types of interviews less of a concern and more companies are adopting CodeSignal-type online assessments as their pre-screens.

I was hired at Microsoft several years ago. I do not have a college degree, but had many years of experience in software development. Here is what I did to prepare. I read Skienna's Algorithm Design book, and actively coded many of the things in there. Then I spent weeks practicing on a whiteboard, actively talking out loud through the problems. (These days you're basically not going to need to use a whiteboard, but you should practice talking out loud while you work through the problems in a text editor.) I identified the kinds of problems that gave me the most difficulty, and for me that was things involving dynamic programming. But you should be well versed with graph problems, how to attack problems involving recursion, and so on.

I practiced for weeks or months and thoroughly immersed myself in it. Different people would likely need to practice less. Practice enough to transform your though process from "I'm nervous" to "I've trained for this." I probably over prepared, but I'm the kind of person who would rather show up too early for an airplane flight than to endure the stress of maybe missing the flight. Also whenever I do a long talk, I spend an embarrassing amount of time preparing for it. But if you take weeks or more to prepare don't beat yourself up about it. And keep in mind that if you don't get the job it's not the end of the world. You can come back and interview again. In short the only way you can fail is to give up.

Another very useful thing to do when preparing is make a list of stories you'd like to be able to tell. Little 1-2 minute stories of different important things that you have done. Rehearse telling those stories. When you look at lists of common behavioral interview questions ("tell me about a time you convinced your team to do something" etc.) think about which stories you would tell to answer such questions. Good stories will have several kinds of questions they can answer; during the interview, look for opportunities to tell some of these stories. This is a trick that a top sales person taught me, and has been very useful to me.

If you're transitioning from one kind of technology to another, and the job you're shooting for requires experience in a field you have no experience in, then do some work to prepare a portfolio you can point to. For example, when I made the transition into an AI job that required demonstrated experience with machine learning, I spent a good amount of time preparing a portfolio of work I could point to.

Many people spend a lot of time talking about how it's useless to jump through these hoops to get a FAANG job, and how broken the process is. Do not distract yourself worrying about this; if you want to land the job you need to go prepare. While needing the actual knowledge is somewhat debatable, it's good to be able to demonstrate that you're the kind of person who can dive in to hard-to-learn things and get the learning done. Because once you get the job, you're going to be diving into hard-to-learn systems that you won't know anything about.

> Practice enough to transform your though process from "I'm nervous" to "I've trained for this." I probably over prepared, but I'm the kind of person who would rather show up too early for an airplane flight than to endure the stress of maybe missing the flight.

Congratulations on joining Microsoft several years ago! I like how you frame the benefits of practicing. I am totally with you on the showing up early for a flight. Pre-all those screenings, I once drove a family friend to the airport at 80-85+ mph speeds (never ever again!) so that they would barely catch their flight.