Table of Contents
Hi readers, this is the ninth (actually 9a) chapter of “my story“. Please take a look at the other chapters for some context.
I started this blog back in June 2016. Inspired by LivingAFI’s The Job Experience. The first posts I wrote were those about my personal, financial, and professional life up to mid 2016.
At that time I was working at Hooli, my fourth Dream Job, since November 2012. I was just 3.5 years in. The chapter about Hooli was essentially a “wow, I finally landed on a true Dream Job! And look at this graph! My Net Worth is skyrocketing yeaaah!“.
But something was already not ok even back then, in mid 2016. I started this blog about FI, and about RE. I set up a target, I announced I didn’t want to work forever – even if Hooli was The real dream job.
Before we start: I still don’t want to explicitly name my former company here. I don’t know, it’s not about privacy anymore… it actually would make for an awesome clickbait title: “why I quit Elgoog“, but I kind of got attached to the Hooli name, so let’s keep it this way 🙂
Anyway, my experience at Hooli has been multifaceted, I’m probably writing this post to organize my thoughts about it. If you don’t care, please skip it – it’s of course 5k words long 😉
When people ask me “Why did you quit? What didn’t you like about it?” I have hard time picking a couple of sentences that would satisfy the interlocutor. I’d need to talk for two or three hours to give you enough context. As you might expect this isn’t getting me popular at parties.
Good thing parties have been banned even before I quit, thanks Corona!
Anyway, during last 3.5 months my “try to not look weird and just reply ‘fine’ when they ask how are you doing“-answer to the question “why did you quit?” has been something along the line “well, it’s not Hooli, it’s me“. You know, burnout, family, priority shifting…
But that’s bullshit.
It’s a fallacy in our modern culture to think every “failure” is 100% on us, it’s just our responsibility. There are aspects of modern workplaces that make them unhuman. Anyway, I’m grateful for the 7.5 years I’ve spent there. I’m not here just to complain, to not take responsibility for having emptied this bottle (my passion for coding), to shift blame, to claim that the best company I could ever aim for failed me. Well, just a bit… But of course, as always, I had unrealistic high expectations.
Let’s take a step back.
I could write a book about all the aspects I don’t like about every level of the hierarchy: about “working” as an employee itself, about the industry, the company, the teams, the actual tasks, and about myself. So I decided to split this long post in sub-posts.
This is the first one, and it will be about my timeline at Hooli, and the financial impact of this job on our Net Worth. I’ll talk about Corporate Bullshit on the next episode of this mini series.
My Hooli Timeline
Initial Confusion (year 0 – 0.5)
I joined Hooli in November 2012, extremely excited by the idea of joining one of the supposed best company in the world, famous for its open culture, geeky offices, free food, cutting edge technology, and stellar compensation. To join Hooli, a (perceived) once in a lifetime opportunity, I gave up on my real dream career as a Freelance. I really loved those ~3 years, between 2010 and 2012.
First months have been mostly confusing: zero pressure, free food, many perks, amazing salary, free food, a lot of time to explore and learn, and… did I mention free food?
“Awesome” you’d say, but I got no directions. A starter project that nobody cared about. Zero guidance. I was… ok, that’s cool, but what am I doing? When am I going to prove I deserve this job?
Maybe it’s a test! Maybe I need to surprise them! Yes, it must be the case.
So I joined meetings where my attendance wasn’t required, I proactively reached out for senior colleagues and offered my help (that nobody needed), and I started asking questions at weekly/bi-weekly/monthly TLAs-saturated team meetings. Questions that uncovered entire new worlds, that made me realize that one cannot know more than a tiny fraction of what was needed to perform even a simple task in that environment.
Frustration (year 0.5 – 1)
Frustration has been a companion for my entire career at Hooli.
My first remarkable frustrating episode happened after 6 months since I started. I remember I was feeling like I still didn’t know a crap about how things worked at Hooli, and the official “novice period” was over. So my own (and my manager’s) expectations started to knock the door.
I was supposed to work on a weird project that we’ll call here Betelgeuse, that was just replicating a processes schedule system, with project dependencies, automatic and scheduled builds and runs and so on. Yes, there are thousands of them already publicly available, and probably twice as much internally available. But we wanted to build our own, just for our team.
It was a crappy product, soon to be deprecated, that the team was using to calculate Hooli Maps metrics and databases. Yep, I was in the Hooli Maps Analytics team. Defining the metrics, writing code to extract the metrics from logs data, implementing dashboards to show the metrics to executives (with whom I never got the opportunity to talk).
“Why the hell aren’t we using one of the 100 tools currently used at Hooli?”
Sometimes it works this way at Hooli, and I believe outside as well: you reinvent the wheel for the 100th time, and while you are at it you convince yourself that’s of course the best solution! Then 2 years later the project gets canceled and it’s soon obvious to everyone that “of course the best solution is to use X, which is the industry standard!” Yeah, what about time! Everybody is a genius in hindsight! But that happens all the fucking time…
“But RIP, why you complain? Just do the work and cash the paycheck 😉 ”
That’s exactly what I thought I could be doing, and it worked for a little while. Then my self esteem shows up, and I can’t just keep pretending. It’s a matter of opportunity cost. Why am I wasting my time in this way? Why am I wasting my skills?
Anyway, I did my best to mostly debug existing crappy code and keeping the tool up and running, surviving the hundreds of weekly updates in project dependencies (easily in the order of 100s or 1000s at Hooli), and essentially learning nothing.
The workflow looked like this:
“Hey, we have a huge bug in Betelgeuse. For some reason database X is not being built. Z and Y depends on X so they’re not being built either. Dashboards look like there’s no data for last 5 days. Go figure!”
… 3 days later, 3 days wasted in debugging code that was apparently working…
“It seems team WhyTheHellWeDependOnTheirCode changed – undocumented of course – their APIs and rolled out new binaries, so when calling this RPC we don’t get the right timestamp. Our metric code needs timestamps to be consistent. It seems it was due to the launch of ShinyNewThingSoonToBeDeprecatedThatWillGetSomeonePromoted”
So, bug fixed by asking them to whitelist our binaries to the old deprecated API for a while until we port the code to the new API. Which will never happen, and some poor developer next year will try to figure out why there’s this comment on their source code:
“//TODO(mrrip): Delete this line once Betelgeuse will support the new API.”
This is not what I dreamed about when thinking about working at Hooli…
Superboss Era and Promotion (years 1 – 2.5)
Then Superboss became the team manager, and he pushed hard to make us engineers the decision makers and driver of innovation, like in Hooli’s good old days!
And it worked!
I worked on a project with some high leveled stakeholders, interacting with Hooli Web Search teams to build a signal for Search Result Ranking from Maps Logs (I kind of became one of the logs expert).
Even though in retrospective it was just another crappy project gluing several systems together (not writing fancy graph traversal recursive algorithms like we ask during interviews), I got passionate about it, I delivered regularly, it brought positive results to the business, I kind of became unofficially the teach lead of a couple of colleagues, I worked early in the morning to meet people from Tokyo and late in the evening to meet people from Silicon Valley… but I was working on something I had enough time to become a master of, and the positive feedback loop acted like a drug! I reached “Turbo-Giga-Awesome!!!” performance rating and got promoted in April 2015.
Then Superboss announced he was quitting the company. Yes, I cried. And I cried again in September 2015, during his last week at Hooli, when we celebrated him at our yearly Hooli Maps Analytics multi teams Summit in Tokyo.
I knew things weren’t going to be the same.
I was right.
Acting Fast and Slow (years 2.5 – 3.5)
I got promoted in April 2015.
I should have done one of the following two things:
- Change team, and eventually Product Area the day after promotion and go climb another ladder.
- Don’t relax, and keep pushing to climb the Hooli Maps ladder. Next promotion could be just a year away.
Instead, I relaxed a bit. In the end I just got promoted, I worked hard for 1.5 years… let’s chill 😉
And let’s celebrate the time when I rocked, like this magic week when I felt more productive that the rest of the team – including SuperBoss:
And the week after:
It didn’t last. I submitted more changelists in those two weeks than in 2018, 2019 and 2020 combined. Not joking…
In the meantime: Superboss left the company, many amazing colleagues left the company or the team as well, I changed manager three times in one year, Hooli Maps former “CEO” quit the company, and our Maps Analytics team essentially became a service team for some PM in New York. “Can you add this? Can you add that?“. No more engineers-driven, but PMs. The project that got me promoted was no more a priority and it was eventually shut down less than 2 years later.
But that’s how things go at Hooli, I should not have felt attached to any of the good things I did, I should only have leveraged them and jump on the next sinking boat.
Instead, I slacked for almost a year. And that was my biggest mistake. Didn’t act fast enough. First 2-3 months after the promo felt kind of deserved, then my fingers ached to code code code. The projects (and the colleagues) I was working on weren’t satisfying anymore. I had to do something. I needed to make a change.
Changing things within the team was out of the table, so the only wise thing to do was to find a new team.
Changing teams at Hooli is like searching a new job in real life:
we they have internal recruiters, internal job posting websites, interviews, secrecy, Hooli Resumes and so on. You want to be sexy for other teams to hire you. I was still hot, less than a year after having been promoted, so I had plenty of options. I interviewed for many positions and got offers, I faced the paradox of choice, having so many options on my plate.
So I spreadsheeted about every single team, taking into account projects, people, responsibilities, growth expectations, my personal preferences… a month long decision making process to pick the best, the absolute best team!
And I failed dramatically.
Given how happy I was while working with people I loved, I decided to prioritize manager quality and gut feelings toward new colleagues. A colleague (and a friend) that I hang out with a lot recommended me to join a team whose manager was his PhD colleague. A cool, smart, and funny guy!
And I joined that team.
And the manager is a cool, smart and funny guy!
But it was a huge mistake anyway.
I acted too quickly.
Seeding the Depression (years 3.5 – 5.5)
So I joined this team in Hooli (Shopping) Express Search Quality in May 2016. I took ~40 days off between “jobs” and went hiking 14 days along the Italia Coast to Coast hiking path in April. Amazing, strongly recommended if you like multiday hiking.
Later that year, June 2016, I launched this blog. A month later, July 2016, I asked Miss RIP to become my wife. A pretty intense year 🙂
Anyway, Hooli wanted to compete against Amazon on online shopping, so they launched their online store. I didn’t care much about the product, it was actually only available to US customers back in 2016 – of course with huge plans to dominate the rest of the world!
The fact I couldn’t even be a customer didn’t help with getting passionate about the project, let alone suggesting improvements and testing customer flows. I learned this a bit too late.
As I said, I prioritized people in this decision. And the people I worked with were funny, friendly, awesome! this has been a constant at Hooli during almost my entire career. People are smart, friendly, funny. But you shouldn’t base your decisions on individual humans beings there for long. Of course I changed manager after 6 months, and of course people changed team, left the company and so on. Human factors are too volatile there.
Meanwhile the job was my definition of hell. No it was not a “clear, recognizable hell”. That would have been easy to spot. It’s like how “evil” is evolving nowadays. Look at old movies or series. The good and evil characters are recognizable from frame 1. It was depicted as a black/white world. Now take a look at Game of Thrones (and forget about last 2 seasons). It’s much harder to define good and bad. Same goes for everything at the workplace today. The devil dresses in ThinkGeek.
So it took a lot of micro-frustration episodes to realize I hated what I was doing.
First: as my grand-Manager (another very smart and skilled guy) said “you either love or hate working on Search Quality“. Changing a small piece of a ranking algorithm requires a huge amount of work. Think about publishing a vaccine for a virus on the market. Before you’re allowed to sell it you need a lot of data backing the launch. Which makes sense, but it has almost nothing to do with coding and software engineering.
So my coding was close to zero. Time was spent in unit testing, regression testing, human evaluation requests, side by side comparisons, A/B experimenting with 0.1%, 1%, 5% of traffic and so on.
And if you raise your head you discover that the amount of bullshit in this process in our team was unbelievable:
- The query results were not deterministic, even given same preconditions: same query gets propagated to many backends, and timeouts in the order of microseconds would call it done with results gathering. It means if you execute two times the same query you get different results.
- The Human Evals procedure is of course non deterministic. Human judgement is individual and not even consistent over time from the same individuals
- The measure of search results “quality” is an attempt to transform a qualitative phenomenon into a quantitative one. For example, the quality of a shopping search result changes a lot with what’s trending, geo location, who’s issuing the query, and even which day of the year it is! The same query “gift ideas” before Black Friday, Christmas, and any other day should return different results, but how the hell do you measure that?
The above, plus other minor problems I can’t recall right now, created some bullshit loops like:
- “try to re-run the same experiment, maybe this time you are green for the launch“, i.e. you made some ranking changes, the experiment told you that you should not launch because metrics are not good, but try to run the experiment again (i.e. roll dice again) and maybe you can launch (and that would be good for your performance and promotion).
- “I’ve this experiment that shows a significant positive improvement to ranking!” … “Awesome! congrats! Launch launch! Btw, what is it about?” … “Nothing, it’s a zero change. I just experimented current code being served vs itself. Since our measurement stack is not deterministic I got a statistical significance of my experiment on its 3rd attempt 😀 ” … “Ah… ok… well, let’s not launch then“
- “I’ve a launch ready, green from experiment!” … “Awesome! congrats! Launch launch! Btw, what is it about?” … “I’m changing parameter X from true to false” … “But wait… last month we launched from false to true” … “yes, and it was a positive launch! But you see, changing this param either way gives us a bust in the short term, then quality degrades over a couple of months. So every time I flip the flag I get a positive impact in the short term, but in the long term we’re going nowhere. Actually people can get pissed off by this continuous change… But I can put this launch in my promo packet 🙂 ” … “Ah… ok… well, let’s not launch then“
Add to this that having to do anything slightly more complex than tuning flags required to interact with one of the oldest black-box-like codebases at Hooli, where changing a bit here can cause the explosion of a nuclear power somewhere else.
I once got an entire reliability team woke up at night for an alert generated by my innocuous looking change in the Shopping Server Behemoth. Of course, no unit test complained when I submitted my 2 lines of code changelist.
This was the hell.
Little coding, zero domain mastery, zero impact, fakeable output, awareness of doing a horrible job, awareness of deskilling yourself.
But it was a funny hell.
I had fun with the people around me, not much pressure from management, and many extra monetary bonuses! Something like 10 bonuses (between 500 and 2k CHF each) in less than 2 years! Essentially every launch was awarded with a bonus. And in Search Quality, almost every code change you submit is a launch.
And we had ponies!!
I survived the first year in this new team because I couldn’t admit I did a mistake. And I couldn’t admit working at Hooli wasn’t the best job in the world. It must have been me.
I tried to cope with the growing sense of dissatisfaction by working less. Officially working less. I asked and got a work reduction to 80% in January 2017.
Great! But not so great. My performances were flat since my April 2015 promotion. At the fourth cycle of “just being ok” the mother of all the weird rules at Hooli kicked in.
This shitty rule says that “you’re expected to exceed our expectations“. So after 4th performance cycle of just meeting expectations, even though I changed team (it’s hard to exceed expectations right after changing team) in the meantime, I got “the talk” from my manager:
“RIP… you’re doing great! But next cycle it’s either ‘Awesome’ or ‘Not Ok’. You can’t be just ‘Ok’ next cycle. Sorry, it’s not me, it’s HR that stepped in 🙁 ”
It was May or June 2017. I seriously considered quitting right away. Like getting up from my chair while my manager was still talking, and heading out from Hooli premises for good. Not even offering a facial expression, let alone a word. That would have been rad! But my manager didn’t deserve that, he is a good and funny guy (we have ponies! And unicorns!). Plus, my brain quickly calculated the financial impact of not waiting at least until January 2018 (stocks, bonus, etc) in the range of 150k and I decided to ponder the decision over the following days.
I decided to not rage-quit that day.
Back in December 2016, when I got approved the 80% transition, I thought that was my first step along the FIRE Spectrum, and announced on this blog:
So, guys, it’s official now. I’m left with 3 more Fridays to work and then, probably, I’ll never work again on Friday.
Oooh how wrong I was!
I got back to work 100% from October 1st 2017. Bye bye 80%, bye bye Freedom Fridays!
I was able to “exceed expectations” on September 2017 performance evaluation cycle, while at the end of my 80% time, but I still hated my job. I then decided to change team again. Having had recent good performances should help with my internal job search.
It was January 2018, right after having cashed the 2017 bonus, when I started asking around for a change. I didn’t want to invest all the time I spent last time I searched for a new internal position, especially given that I ended up making a huge mistake. This time it was a desperate situation. Let’s try something – anything – and if it doesn’t work let’s just quit. Financially I’ll be ok.
Just two requirements:
- I want to write more code.
- I want to work on a project I love and use.
A former manager of mine back in Hooli Maps told me “hey do you want to join Hooli Videos? We’re hiring”
I think I replied within 15 seconds.
A False New Hope (years 5.5 – 7)
Started the new job in Hooli Videos back in February 2018.
It took me less than 2 months to realize I didn’t want to work there anymore.
I documented some of the reasons why in this rant.
I worked in the team behind this:
I.e., go after Patreon, but asking creators a 30% cut instead of ~10% that Patreon asks.
HooliVideo is a completely different company compared to the rest of Hooli.
As a customer I love it, as a developer I hated it.
Do you remember when I was complaining that Hooli Maps was no more an engineers driven Product Area? Well, forget that about HooliVideo! It’s a very conventional company, where PMs dominate and engineers are there just to execute. A commodity.
Whenever I had an opinion about how the code should behave that impacted the user experience I was told “that’s a product decision“. Well, guess what? We, engineers, are building the fucking product!
And code is messy, monolithic, on its way to be ported from Python to C++, with a level of cut&paste that would make a high school CS teacher cry hard. Undocumented and ambiguous as well. All async primitives (essentially RPCs and callbacks) faked because the original structure was single threaded.
A hell for a developer.
Started counting the days until the next bonus (January 2019), knowing that I would have benefited from 12 weeks of paid Parental Leave during the summer 2018. Baby RIP was expected in May 2018. Luckily she came rescuing me a couple of weeks earlier 🙂
Took the entire summer off (Parental Leave). During my leave I attended FIWE 2018, and it was enlightening. Everybody kicked my ass for not having quit yet. We wrote a collective funny resignation letter to Hooli, that I still own and read from time to time.
I came back to work in mid September, more convinced than ever to reach End of Year, cash bonus and stocks, and say goodbye.
After two consecutive performance cycle of “exceeding expectations” at Hooli Express (on my way to the next promotion) I got back to just “meeting expectations”. Despite what Hooli says about work-life balance, having took the entire 12 weeks of paid Parental Leave kind of killed my career. Changing team didn’t help as well.
Anyway, only 4 months left. In January 2019 I’ll quit for sure!
But something unexpected happened. As I said in the rant:
Then December 2018 came. Out of nowhere, a couple of weeks of interesting and challenging algorithmic work showed up. Such a rarity! You know, the things we ask at coding interviews are never ever ever representative of daily life of a software engineer, but those two weeks have been awesome! I worked extra hours, I didn’t want to stop working on both Fridays! I was in the flow thanks to a self contained problem I had to solve and engineer. Awesome! Maybe this is going to last! I was re-evaluating my quitting decision… Add to that the October-December 2018 market downturn, and you got it right: I’m not quitting in January 2019 anymore!
Of course it didn’t last.
It never lasts.
I had similar “flow state” experiences 2-3 times during 7.5 years at Hooli, and in each one of these circumstances I’ve been happily overworking, delivering a lot of value, and being professionally satisfied. But it never lasts for long. These projects get deprioritized all the fucking time.
After having cashed 2018 bonus (end of January 2019), as a measure to improve work-life balance I asked for a sabbatical and/or a 80% work reduction to my current manager (which of course changed in the meantime). That’s when I got the impression I was not valued anymore at Hooli. I was denied both. Funnily, it was during the “mental health week”, where our director with one hand was sending bullshit emails about the importance of work-life balance, and with the other was denying work-life balance improvements to her employees.
That’s when I reached out for Mental Health help and got 6 months of medical leave and a Burnout Diagnosis. You can read about it here: 1, 2, 3, 4.
It’s been tough to accept I needed some professional help, that I was “sick” even if I didn’t feel sick.
I remember contacting a former colleague in Hooli Express and asking him “how’s going?”
His reply – even though we’ve always been joking together about corporate bullshit, and even though he was probably joking this time as well – hurt my feelings:
“Now that you left the team we have a much productive environment. We miss you, but nobody is complaining that much 🙂 ”
For some reason, mostly pride I guess, I decided to give one last chance to Hooli, but I wanted to change everything. A new role, no more Software Engineer, and a new Product Area.
That’s why I became Site Reliability Engineer in Hooli Cloud in October 2019.
Failed Resurrection Attempt (years 7 – 7.5)
It was a desperate attempt, but I wanted to try it.
It took me a couple of weeks to realize that maybe I made yet another huge mistake. I tried as hard as I can to get interested in what I was supposed to be doing, but I underestimated the entire thing.
A SRE’s job is very, very hard. Much harder than being a software engineer. It can get emotional, and forget about work-life balance. You must be as good as software engineer at writing code, and you must master a whole new world made of hundreds of tools, troubleshooting and debugging skills, scripting domain specific languages and so on.
While I had to suppress my desire for mastery as a software engineer, working as a site reliability engineer made me laugh even at the idea of mastery.
I can compare the lack of mastery frustration of being a software engineer with maybe being a surgeon. You need to act with your best knowledge, aware of all the things you don’t know. But the comparison is unfair for software engineers: at least as a surgeon you feel like you’re becoming an expert at one point. The tools you use, and the domain of expertise (the human body) don’t change at the same pace of software.
But even the frustration of a software engineer pales in comparison to the frustration of being a site reliability engineer. In our medical analogy, being a SRE is like trying to save lives on a hospital camp during a war. You see hundreds of people that you could save if given enough time, and you have to jump from a desperate case to another, sentencing people to death for lack of time and resources… Same happens during an OMG (a huge incident in production). You feel almost impotent but you have to do something, knowing you’re doing something wrong but you have no better way to make things more robust during an emergency.
And it’s all emergencies.
And to be able to even “do something” you need to know so many things that your brain must only contain that stuff. And not even all of that. To succeed, or even to feel useful as a SRE, you must devote your entire brain capacity to your job. I’m a jealous custodian of my brain content, I didn’t want to empty it to fill with my job’s required tool-set, which would eventually not lead to mastery anyway.
On my third day as a SRE we’ve been spending 8 hours all together as a team working on an incident. Most of the team members were new employees. I was kind of. Even though I had 7 years Hooli experience, everything was overwhelmingly new to me. And I’ve been off for 6 months… Anyway, during the incident we barely understood what was going on. Luckily we had 2 visiting seniors from Sydney and Silicon Valley who drove the troubleshooting session. We had lunch breaks in shifts, 15 minutes each one. One at a time. Then 8 hours in the same room the entire day. I stayed engaged for maybe the first hour or two, while we collected hypothesis about what was going on. Then I detached and started questioning why the hell I was sitting there. It was Wednesday October 2nd 2019. At the end of the day we didn’t even solve the issue, we just handed it over to the sister team in New York.
I wanted to die, but instead of heading home we went out for a dinner together as a team. I didn’t see my daughter the entire day, after having spent almost every single day with her until 3 days before.
I don’t know… Maybe I thought I was “bored” before the burnout, and maybe I though that some adrenaline, “positive” stress, would have helped. It didn’t help. I can’t get excitement via more confusion. I need to feel like I know what’s going on, I desperately need mastery.
So another – final – countdown started. Goal: reach bonus day (January 25th 2020), and go the fuck away:
As you can see first week was depressing enough that it consumed my entire budget of three complain points that I set with my wife.
Of course the road to actual quitting hasn’t been straightforward. I had second thoughts, discussed with my manager, tried to see what else I could do at Hooli to give myself yet another chance…
During Christmas break I took the decision to talk with my manager and open my problems with him. He was very kind. He’s a great manager. He told me to take my time, look around, see if things could be fixed within the team or outside the team. I took some time to explore other options but without much energy. It’s the third count-down that I let expire without reacting, and that’s not respectful to myself.
On February 6th 2020 I submitted my resignation letter, with last day of work being March 31st 2020. I wasn’t FI, but I made a financial plan that allowed me to not panic in the short-mid term. It’s been weird to quit during the Coronavirus lockdown, without any celebration, without saying a proper Goodbye to my former colleagues… but that’s it!
Almost four months later I can say: no regrets!
Except that the plan I made became obsolete few weeks after, but that’s another story. A story that’s still “in progress”.
Well, in my introductory chapter about Hooli I showed how ridiculous my financial history before Hooli looked like. That was the situation back then:
It looked impressive, right? Exponential!
Well, during last 4 years, since I started blogging, things kept being exponential.
This is today:
Yep, the light blue line is before Hooli, the dark Blue line is net worth at the time of my 2016 post! We’re close to 3x the amount of wealth we had back then 🙂
It’s almost impossible to appreciate what happened before joining Hooli, now everything looks flat before 2012. And exponential after.
Yes, I started investing in 2016, and you can see some bumps here and there… but overall it looks like and exponential function.
Sadly, this also won’t last 😐
Compensation wise, here are my historical earnings since 2012 at Hooli:
I’ve always been between 150k and 265k, but this compensation scheme misses other taxable benefits like free food, transportation reimbursement (now gone), health insurance compensation (for the entire family), Hooli share of Pillar 2 contributions (8.5% of gross salary plus expected bonus) and many more hard to quantify monetary perks. For example, my total comp for tax purposes in 2019 has been 282k CHF, not the 267k showed in the picture.
As you can see, there was a nice bump in 2015 and 2016 due to both 2015 promotion, full speed stocks vesting (after 4 years), and a nice growth in Hooli stocks.
Since 2016, my compensation mostly flattened. 2020 was expected to be the lowest among last 5 years because the screenshot has been taken on March 31st, Hooli stock was 30% down, and because a generous 2015 stock refresh grant after promotion has gone in 2019.
It might look impressive to someone who’s not working at Hooli, but the lack of growth represents a failure of a 7.5 years tenured Engineer.
Let’s do some quick math: over 7.5 years I earned 1.647M CHF total gross (I considered only the actually earned fraction of 2020).
To that I’m going to add 10% of missing compensation here (Pillar 2, health insurance, transport, food…): 1.812M CHF
Let’s cut 25% for Taxes and Pillar 1 contribution (which I consider dead money): 1.36M CHF.
Which is just slightly above our current Net Worth of 1.352M CHF (July 2020)!
That’s mind blowing… ok, I didn’t start at zero (well, almost), and in the meantime Mrs RIP earned some income. And to be honest at the moment of quitting Hooli our Net Worth was “only” 1.2M CHF (due to Corona crash, soon recovered)… but what it means is that I still have all the money I earned at Hooli to show for all the time I spent there!
I can’t fathom what it means to live paycheck to paycheck, but I’m kind on the opposite side! We’ve essentially been living on the snowballing effect of our wealth. Not during first years, of course, but in 2019 for example our net worth grew by more than 300k, after expenses!
I think there’s a concept called Lifetime Wealth Ratio (JMoney, RetireBy40, GetRichSlowly), i.e. what fraction of your lifetime earnings you still own. I don’t want to calculate mine, a too big of a hassle (and too many currencies to handle), but a rough back-of-the-envelope calculation gives me something like 70-80%.
What a rad thing would be to cross 100% and send all the former employers their money back? “Hey, thanks for having worked together between 2007 and 2010. According to my data, I costed you 150k EUR total. I want to return the money back, I don’t need it anymore. Thanks, have a nice day 🙂 ”
Mmm… not today!
Have a nice day!
Software engineer’s life. I’m living the same since 10 years.
Thanks for your honesty.
Hi Seb, did you mean “living”?
Yes that’s what I meant, sorry 🙂
I only hope my income can come close to yours over the next 7.5 years. I think a lot of it will depend on stock growth!
Thanks for being honest and publishing everything. I can’t wait to see what is next on your adventure 🙂 And I LOVE your long-form posts!
What are your thoughts on engineering management? I always saw this as a logical next step up the ladder and you would move on to architecting teams and people development rather than code, but I know there would also be a lot of BS and politics to navigate. I ask as I was planning to study an executive MBa in Stockholm (free tuition,) and I had hoped to try to get onto the management pathway in a couple of years. Do you think it is a path worth pursuing? Would the extra pressure and potential stress be worth the potential extra income, or would moving up the engineering ladder be a better pursuit? I love coding, but I really like optimising and the ‘people’ side of the business too.
Hi SN, good luck with that!
I hope my post won’t demoralize you. I wish you a different and more successful career!
EngMan is a different beasts. At Hooli they say it’s much harder and more stressful to handle people than machines, but I don’t buy it.
I would have loved to have tried EngMan. I think I would have enjoyed more than “writing code”.
Sadly, to be able to manage people I should have been promoted once or twice more, and I ran out of gasoline before that.
But you’d be better off asking the same question to someone who is/was a manager.
P.S. one of the best blog about Engineering Management is charity.wtf
Take a look at this amazing article: https://charity.wtf/2019/01/04/engineering-management-the-pendulum-or-the-ladder/
Hey RIP, how are you doing?
I really enjoy your long posts, and your view of the world really resonates with me.
My few cents from your story so far (and mine too in a different way) is that all smart people with a growth mindset are destined to have some sort of burnout if they are employed in a job!
That’s because psicologically we know we can do more, and we can do better, but we are forced to spin the wheel like mice in a cage, doing over and over the same bullshit.
Moreover if you are a fast learner, like I am, when you start a new job you have a really short period of time when you grow, learn and feel the excitement. Then you reach a plateau when you start to feel bored, purposeless, and then you fall into burnout if nothing changes. But after a while, even you you change a job after the other, it doesn’t matter what you do, what project you are on, because you have a bird-eye view on everything: the bullshit, the process, the environment: everything is the same. I dont’ know if it’s the same for you. And it’s exponential: every cycle gets shorter and you reache the plateau sooner!
That’s why I smile when I read o hear “my dream job” from a smart guy: I think you can never put together the words “job” and “dream” in the same sentence. That’s an oxymoron in my opinion.
Because when you are employed on a job, you just work to fulfill someone else’s dream. If you work at Tesla, you work to fulfill Elon’s dream. Even if you are a waiter, you work to fulfill you boss dream of providing a nice dinner for your clients and making money from it. There is some covenience to having a paycheck without worrying too much but your willpower soon start to wither 😉
Maybe it’s a little too extreme, but it doesn’t matter if you are treated well, have relaxing spots or videogame facilities or have free food at your workplace.
These are just lark mirrors catch employees, even if they can make day to day life a little nicer.
Is freelancing a partial solution? Maybe. Starting your business would be better but more stressful? Probably. Will you be free from burnout risk if you go this way? no! for sure.
If you start the “what’s my purpose”-spiral and you go too philosophical things go weird!
Maybe we must find an acceptable compromise between corporate bullshit and self fulfillment in a job…or risk in a business.
Is there a self-fulfillment-spectrum too? I guess so. The way we see a job is a spectrum too… (from job is a crime like here :in italian: https://finimondo.org/node/2052 to job as a life mission)
Don’t want to make this comment longer than your post though (but long posts deserve long comments!!), so all the best for your new “job” in september, looking forward to reading another long post of yours!
Hi Dom, thanks for your comment 🙂
Yes, I agree that “fast learners” and “smart people” tend to get bored in being employed, but that was not my case.
Well, it’s more complicated. Yes I was bored like hell. But I didn’t reach the point of “I know everything, I’m not learning much”.
My boredom was more of the kind “am I willing to waste a month to learn all the unnecessary complexity to maybe be able to change the color of a button and then try to launch is to make my promotion packet shine?”
It’s opportunity cost mixed with a failure to create meaning out of thin air. Maybe embracing Existentialism or Nihilism would have helped, but I’m not Sisyphus – and the job required me to be.
A very good article about this concept is perhaps this one by Sarah Constantin: https://srconstantin.wordpress.com/2019/07/20/the-costs-of-reliability/
P.S. the finimondo post is way beyond what I consider bullshit 🙂
It’s empty anarchism that considers every interaction a fight, a zero sum game, with some “evil” people that want to keep the poor poor… nope, I don’t buy it.
Yes, there’s a universe of knowledge, you never stop learning… but in a company you are forced to live under many constraints…so your skills and your knowledge are only needed up to a certain point in a fixed ecosystem. That’s why getting bored is easy after a while. Luckily there are still a few “creative jobs” where you push that boundary away, but that’s where the “cost of reliability” kick in!
I agree the “finimondo” article is too extreme, it’s an old piece written in 1924, when social and work conditions were different than now (at least in this part of the world…), just to show how many different points of view are there. Still, deep inside, a 5% of my rebel mind, is moved by those words. Extreme thoughts make me think and expand my view 😉
The “cost of reliabily article” is exactly what I’ve been thinking intuitively but that I’ve never been able to express in a simple and coherent manner, thank for the link!
Ok, time to take my shovel now! bye!
Haha enjoy your “shoveling” then 😀
Hold on, wait a minute…..I love your blog and writing but Hooli let you change jobs every few years, paid you handsomely, gave you 6 months of medical leave, 3 months of paternity leave and you wrote this to thank them? I am not understanding. Sometimes you’ve just got to get on and shovel at work! Employers are not there to provide dream job…..
At Hooli you can change team if you can find a team that hires you. If you suck nobody will want you.
Actually, if nobody wants you, you’re fired. This happens if your team gets dismantled. It’s a “free for all”, you have 2 months to find a new team or you’re fired – even if you’re a good performer.
So… not exactly a perk. Plus, when changing team your career growth is on stale because every new team has a very steep learning curve. Exceeding expectations is hard.
Not really a perk.
Hooli didn’t give me 6 months of medical leave, a doctor diagnosed me with burnout/depression symptoms, and recommended me to take a break. It’s called “being sick”, it’s not a company perk, it’s a kind of civil right to have paid sick leave almost anywhere in the developed world. Unless you’re stigmatizing mental health problems.
Yes, Hooli offers 12 weeks of paid parental leave even to fathers, as a measure to offer similar benefits regardless of sex, gender, sexual preferences and “parenting event”. And I’m grateful for that.
Yes, Hooli paid me a very good salary, and I’m thankful for that.
In the meantime, I burned out and I’m no sure I can function as a software engineer anymore. I’ve had many bad days and I documented my personal experience here for others to learn from it.
I’m both grateful and a pissed off.
Can we live with that?
P.S. “Sometimes you’ve just got to get on and shovel at work! Employers are not there to provide dream job”… if you read it all, I’ve said that the times I loved my job the most were those where I was working my ass off, on tasks that I felt enjoyable. Sadly that was more or less 5% of the time. The rest has been mostly horrible. So I have no problem of “shoveling” at work.
And I don’t give a fuck that employers are not there to provide dream jobs. I’m not there to provide dream work either. Plus, if you read it all you’ve probably read that I tried everything to make it work, changing team many times, letting countdown clocks expire, even trying in a different role.
If you think I’m “spoiled” and don’t know what hard work is, well, I’m ok with that.
Btw, you’re working in pre-industrial agriculture, right?
lol…big American corporate companies are known for their caring, aren’t they?!
The best quote is the one in Netflix job postings:
“We model ourselves on being a team, not a family. A family is about unconditional love, despite your siblings’ unusual behavior. A dream team is about pushing yourself to be the best teammate you can be, caring intensely about your teammates, and knowing that you may not be on the team forever.
But also Google has a good one:
“On the flip side, the safer team members feel with one another, the more likely they are to admit mistakes, to partner, and to take on new roles. And it affects pretty much every important dimension we look at for employees. Individuals on teams with higher psychological safety are less likely to leave Google, they’re more likely to harness the power of diverse ideas from their teammates, they bring in MORE REVENUE, and they’re rated as effective twice as often BY EXECUTIVES.”
Well, I like the honesty in the Netflix job posting you quoted here (unverified by me). I don’t like those who push the “family” concept.
In the end, the fact that a company cares about its employee is a nonexistent concept. First, because a company doesn’t exist. It’s a story we tell ourselves. A “company” doesn’t care. Doesn’t suffer. Doesn’t exist.
I strongly recommend reading Sapiens by Harari, especially the chapter “the Legend of Peugeot”: https://erenow.net/common/sapiensbriefhistory/8.php
What matters is that both you and the other side of the contract are free to walk away whenever one of the parties feel like the agreement is no more beneficial for them.
The rest is just hypocrisy. I roll my eyes at every sign of “we are a family”-related corporate bullshit.
P.S: that doesn’t mean that individual people shouldn’t care about each other, even in a company. I cared a lot – and still care – about some coworkers, managers, teammate. I can build a sense of belonging in a small tribe or a great organization. But it’s important to not fall for the illusion that “the company” itself has any sort of feeling or ethic. Let’s acknowledge that there are things that exist and things that don’t.
I already wrote a reply but then realised: do you need to be an extreme capitalist to work towards FI? I makes me uneasy to think that I should regulary exchange the bottom 10% of performer, just because others happened to be better..and this is exactly the culture that you like?
P.S.: I know a company only exist on paper, like the imaginary boundaries that we call states and the belief that a piece of paper of CHF50 is worth 2 Pizza. But I assume you get what I meant…
I guess my latest post explained something more about my views 🙂
Hey Mr. Rip, since you’re Italian. I just discovered this blog! Do you think this will be possible to do in Italy as a software engineer? As you know salaries are quite low. Currently I’m a freelancer and I am always trying to stai below 65K per year to avoid paying more taxes. Did you actually invested 65% each year?
I don’t understand your comment bro. Get your English together, take a look at my Net Worth Document, and come back again 🙂
Thanks for the sincerity! I’ve finally found someone stating the truth of Hooli. I’ve been working for the past 10 years with some of its biggest competitors and I can tell it’s the same shit. I came to a point where work-life-balance is great, stocks are doing great .. I keep doing my fu**ing boring repetive tasks (funny that they didn’t change across of different companies and since 2010) and am considering to quit from this industry.