Table of Contents
Hi readers, this is the ninth (actually 9c) chapter of “my story“. Please take a look at the other chapters for some context.
This chapter is again about Hooli. In previous two chapters I’ve explored my timeline and few of the issues I had, mostly about stress and burnout.
I only touched “Corporate BS” superficially.
This chapter is about Corporate BS at Hooli, but you can find similar – or even worse – problems in your company as well. This is to remind me that there’s no ideal “job”. That the discontent with working for “the man” is so deep that the only way out is actually Out.
I planned to write more about my experience at Hooli, but it’s been 5 months since I quit, and almost 7 months (February 6th 2020, resignation day) since I kind of stopped working (and going to the office). My memories are fading.
I’ll probably write another chapter on “the death of Passion”, which will be more centered on me than Hooli, and that’s it. The 29 pages of anger diary will be buried with my master degree once I’ll retire.
So long, Hooli, and thanks for all the fish.
I know some readers and current Hooli employees will be pissed off by my statements, but I’m not here to fix Hooli’s or corporate America’s problems (didn’t you notice that I quit? If I wanted to fix – and I did my small part while employed – I’d still be there). I just want to be vocal about the issues, and warn the young idealists to keep their expectations low.
A couple of important disclaimers:
- I think the problems are industry- size- and capitalism-specific, not just Hooli’s. Maybe Hooli does even better than the others in the same industry. I don’t have much experience outside Hooli. My previous experiences as a Software Engineer (In Research, In the VideoGame Industry, as a Freelance) have been way more rewarding in terms of Mastery and Autonomy, but it was a different era for software development, and it was a different me. So… I don’t know!
- As I said many times, I’d still recommend you to take this job at Hooli! Hooli is still an amazing company under many aspects, including but not limited to the stellar compensation! You want to startup? Yes, great, spend two years at Hooli first! You’re not sure you want to be a Software Engineer anymore and want to write poems? Awesome! Please tell me your Net Worth… what? Ok, work at Hooli for a couple of years and then I’ll read your stuff, Mr Shakespeare!
- The Corporate BS was just the icing on the cake. It’s not the main reason I quit, I guess. Now that I think about it, most of the actual development is driven by Corporate BS (perf driven development and technical debts, team defrags, acts of fake leadership, change for the sake of change, “we are still a 6 digits employee startup yo!”). Ok, cancel this number 3 please 😀
I’d like to start this post by unrolling most of the common issues people reported in the Quora Thread I linked in my previous post, and adding my thoughts on them.
If some of the issues I hinted in my email to Mr V will be uncovered, I’ll face them after.
Note: the following are not sorted by my perceived importance, the order is mostly random.
Many quora answers point out the lack of specialization. Take this one for example. I split it in two, since it faces two different problems in my opinion.
The engineers Hooli hires fit the mold of generalist system types. They are good at algorithms, database concepts, transaction processing, scaling, etc. They generally do not have domain expertise in product areas.
This is not that bad on itself.
It’s true: you don’t need to know any specific software framework to work at Hooli as a SWE. Your coding interviews will be algorithmic, or system design oriented, and you’ll be able to pick a language of your choice to solve the problems at hand!
And in your career at Hooli you’ll mostly use internal products, most of them unknown and useless outside of Hooli.
It’s true that “everybody wants to interview you” after you quit Hooli, but it’s also true that unless you devoted your free time (and your work-life balance) to keep up with industry standard, you’ll feel obsolete, overpaid, and essentially unemployable in the real world as an engineer.
But while you’re within Hooli walls you’re protected, well paid, comfortable. And unemployable outside 😉
The culture rewards engineers who solve knotty technical problems and leaves behind those who enjoy the harder part of product development, moving a product from version 1 to a truly great version 3 by smoothing out the rough edges and adding functionality based on customer feedback, and by maintaining and debugging a product. This is one reason why years after release, Hooli products tend to still look like a version 1 product, not a honed version 3 that unquestionable beats the competitors in the market.
I’ve already talked about it in last post, and I confirm it here again.
“Hey RIP, but if those are the rules why not just go for it yourself! Just solve some cool technical problems and leave the boring robustness and maintenance to someone else!”
Yeah, good suggestion… except that I joined too late the Software Development Ponzi Scheme Pyramid, also known as Detonator Pattern. Had I joined few years earlier, or got promoted a couple more times before the zombie horde of technical debts showed up, maybe I could have survived.
Plus, I’m the kind of person that needs to understand everything. That needs to have cleared all the steps from idea to assembly code, at least in my mind. Offering software time bombs and short term solutions is not what I studied Software Engineering for.
From another quora answer on the same thread:
Too much complex stuff to learn that is Hooli-specific and cannot be applied elsewhere
Yep, so true!
Diversity of Thought (lack of)
Hooli talks a lot about diversity. They want to hire without respect to race, religion, or gender. That is an extremely good thing. Hooli means it too. While I was there, I saw efforts to combat hidden prejudices and to make the environment better.
True. To the extreme though.
To the extreme of hearing rumors of recruiters celebrating their “diversity hires”.
I interviewed many candidates. I think I was pretty good at it. the correlation between my interview scores and final hiring decisions was pretty high. Except for two Asian women. I was asked to review my score multiple times. One of the two was embarrassingly unskilled. She was offered a job. I’ve seen several skilled candidates not being extended an offer.
It’s not the best way to achieve diversity. Not even good for the people benefiting from your policies.
This is just bad.
However, the type of diversity that is truly crucial for a company is the one they do not want: Diversity of thought. They want innovative employees, but only ones who think inside an algorithmic box.
Didn’t think about it, but it’s actually true. I never fully understood what was this “Hooliness” we were supposed to evaluate in coding interviews.
Anyway, yes, at Hooli they want a colorful herd. Same person, in infinite variations.
Metrics are Everything
Metrics are everything, regardless of what they measure — I think metrics are crucial. You cannot manage what you cannot measure. But, at Hooli what you measure is merely something to be gamed. That is, the ability to measure can take precedence over the wisdom of what to measure.
I can second this as well.
During my Hooli Shopping Express years, we were essentially just gaming metrics all the time.
You must be data driven, even where a metric is useless, inaccurate, gameable.
This is of course just a byproduct of Perf Driven Development.
Don’t listen to the users. Just pick a metric and optimize it.
“But RIP, metrics are good!”
Yeah, but if they become the target, they cease to be a good measure.
Excellent engineering managers, but poor connection to business objectives — Engineering managers at Hooli tend to be bright technical minds. […] Business sense can be lacking.
I don’t have strong opinions on this. I must say I’ve always wanted to be as far from “business” as possible. I never felt connected with “what’s going on” on the business side of things, but I didn’t put any effort to know more.
For example, I found a bit weird that we never talked about real numbers, money, revenues, profitability of what we were doing. Just technical stuff. I was ok with it, but that doesn’t mean we were unaffected by business decisions. When Hooli Maps in Switzerland defragged most of the teams it was clear that it was due to a lack of product profitability, but we hadn’t a say the entire process, and no warnings before. Everything is awesome, until one day it isn’t – and it’s too late to awesomize it back.
No involvement in the business, but you pay the consequences of wrong business decisions.
Maybe the reason I didn’t care much was that it never affected me directly. My teams survived all the reorgs and defrags. I was lucky in this respect. In my Hooli Maps here, mine was one of the only teams who survived two huge reorgs.
Also about Eng Managers:
Engineering management with extraordinarily poor EQ — Most of the management at Hooli has been raised through engineering culture. Technical chops are selected for. People skills are not. It shows.
I mostly disagree with this.
I was managed by 9 different managers in 7.5 years. My managers were on average nice people. Even those not born with “empathy skills” were trained for it. I also tried to do my best to establish empathy grounds, sharing feelings and personal life with them.
Ok, maybe my perception is skewed due to Superboss huge impact on my Hooli career (he managed me for 1.5 years and got me promoted), but my average manager was way better that I expected both on the technical and on the human side.
But of course I heard horror stories from colleagues, so… make your judgement 🙂
In retrospect maybe I could say something not great about a couple of managers of my Hooli Video era, but on their defense I was on the verge of burnout and a hard person to manage.
“But RIP, that’s where a great manager shows up!”
Yeah, but also they have the business to keep going. I’m not attached to the romantic idea of a manager who should only care about the morale and the well-being of their employees… They’re also playing their own perf driven development.
From RIP Hooli Anger Diary, page 22:
Monday November 12th, 2018: in our 1:1 MyManager said that next Wednesday team meeting is not mandatory.
Wednesday November 14th, 2018: I skipped the team meeting due to a lunch-time event I wanted to attend (team meeting was scheduled at 1pm). MyManager scolded me “it would be great if you attend team meetings, RIP”.
Thursday November 15th, 2018: Our CEO is visiting our office. Well, not the CEO CEO, but one of his reports. No, wait. There’s another CEO between them. Anyway, our Hooli Video CEO is visiting and there’s a Town Hall event I’d like to attend to know what’s Hooli Video 2019 road-map. I guess half of the office will be there, the huge meeting room will be fully packed. I sent an email to MyManager to ask if we are having this yet-another-useless-team-meeting today at 11.30am, because, you know… CEO is here. He didn’t reply. I sent an email to the entire team. Nobody replied. Checked the phone 5 minutes before the meeting should have started, while I was listening to our CEO in a room full of people. Again, nobody replied. I left the crowded room to go to this shitty, useless meeting. I was alone. Nobody showed up. 10 minutes later, 11.40am, TechLeadColleague replied to the email: “let’s cancel it”. Fuck you, asshole. I’m quitting this shit!
Introversion and Loneliness
You may feel alone and isolated, as everyone’s just so focused on their work and have no time or desire to just take it easy and chat.
I do think one of the best quality of working at Hooli was the sense of emotional safety. You don’t feel judged for who you are, what you dress, what you believe, what you like.
This is good, very good.
I come from Italian working environments where it was “normal” to make jokes about colleagues, judge their clothing, their haircut, their belly, their sexuality and so on. I didn’t like that. For example, I don’t give a crap about appearance. I wear the same clothes every day (but of course I do care about cleanness), and you can find me on the vocabulary under “opposite of fashion”. While working in Italy, I was sometimes mocked for my clothing, or for my shaving habits, or for not even owning a suit. I survived 5 or 6 weddings by borrowing clothes from family and friends. it’s one of the things that pisses Mrs RIP off 🙂
Even though I’m this kind of guy, I was surprised to realize that many colleagues were way less curated than I was. For example in my first team in Hooli Maps I had a female colleague who dressed t-shirts with holes in them, put her fingers in her nose all the time, burped frequently, and used to scratch her body in not very polite manners. I was kind of surprised… I thought “wow, if she worked in any Italian company they would make her cry day and night!”
I got used to it, and actually loved the “respect” and “safety” associated with “I am what the fuck I want, given I’m not acting like an asshole”.
The problem is that the meaning of “acting as an asshole” changed over time, in the direction of limiting personal freedom. A lot.
In the end everything became “a sensible topic”, and you couldn’t do or say anything.
In order to not offend anyone, the “I’m what the fuck I want” had to shrink a lot.
You have no idea in how many ways you can offend someone if you don’t make any assumption, as you should always do. People complained about everything. People complained about playing “Dire Straits” songs in cafeteria that offended black people. People complained about not using gender neutral pronouns. People complained about reinforcing stereotypes. People complained about t-shirts being inappropriate for work.
We had a monthly mailing list named “Yes at Hooli”, managed by HR, with all the complains visible for public shaming. Of course the behavior was under judgement, not the person committing the bad behavior. At least not in public form.
I saved few of them because some of the issues were so hilarious I couldn’t believe them.
I ended up on the wrong side of public shaming twice thanks to my geeky t-shirts.
One said “I don’t need Hooli, my wife knows everything” – reinforcing gender stereotypes.
Anther one said “Sorry ladies, I’m in the Night’s watch” (from GOT) – not appropriate.
Nobody ever told me why was this t-shirt not appropriate for work.
I was just anonymously reported to HR and ended up in the wall of shame
Reading the Yes at Hooli mailing list teaches you what you can’t say or do because it may offend someone (answer: everything).
LGBT: “There was ~7 min of Pride content and ~27 minutes of AI content at the TGIF. That’s just shameful.”
People below the Equator: “When referring to dates in terms of seasons, people should keep in mind that southern and northern hemispheres have opposite seasons at the same time of the year. Months or quarters are easier to understand and more inclusive.”
People with bad teeth: “In the MK today, I was carefully selecting the dried fruits out of the trail mix using the provided scoop. A colleague came up to me and joked that I was just going for the sugar. I have bad teeth and can’t eat nuts, but honestly, it’s not anybody’s business what somebody else chooses in the MK.”
Irish people: “Today I learned we have an internal product called “paddywhack“, which is a racist term for an Irish person”
So what do you do when even Irish are allowed to get offended??
Haha sorry, it was to good to skip! I didn’t mean to offend anyone 🙂
Anyway, what do you do?
You just don’t talk to people. Of course, talking about working projects is welcome. And maybe about the weather. And geeky stuff, given that they’re inclusive to all religions, genders, ages, ethnicities, disabilities, and so on.
I remember there were a colleague of mine in Hooli Shopping that was visibly pregnant. I noticed it when she was probably 4-5 months pregnant. Nobody said a shit about it. Never. Nobody acted like she was pregnant. Not even her. I was scared to ask if she was pregnant because – god (pick one of your choice) forbids – I don’t want to think what that would have happened to me in case she were not pregnant but affected by a rare disease that grew her belly… I’d be crucified in the main cafeteria for having hurt her feelings! Why take such a useless risk?
Time passed, she was probably in her 8th months and I felt safe enough to ask. My wife got pregnant few months before, and I wanted to share some… you know… HUMANITY.
I was willing to risk my career by asking her the unaskable.
I put on my best “empathy & listening face” and made my bold move:
“Hey, Julia… you… you’re… pregnant, right? 🙂 ”
“YES, I am! 🙂 ” <– oh shit, using pink color will reinforce gender stereotypes!
She felt so relieved that someone asked! We spent quite a lot of time that day and the following weeks talking about becoming parents, the feelings, the fears, the excitement… we connected!
That’s amazing, that’s human.
The fear of offending someone killed so many potential human connections, but not that time.
It was an ephemeral victory though.
I let the fear win many subsequent battles, and turned myself into an introvert at work.
Maybe it affected my life as well.
Maybe it’s also a cultural issue. Maybe since I’m Italian (Oh no! reinforcing cultural stereotypes!) I’m not used to NOT talk to people I spend more time with compared to my family… maybe. But the office started to get filled with silent drones.
Most people are introverted and don’t talk much, so you may become introverted too or quieter than you were before.
I’m not advocating for Michael Scott’s idea of “respect”, but there could be some middle ground where you can still be an accepted social animal and TALK.
Another reason for solitude is that there’s no teamwork, just a bunch of individuals working on their own projects (getting promoted).
I loved pair programming, I used to do a lot of it in my previous work experiences.
At Hooli? Forget about that.
Slower, and not as dynamic as other companies, maybe because Hooli trusts no one to self-approve their own code. Every single code change (called changelist, or CL), no matter how big or small, important or not, risky or not, needs to be looked at and approved by someone else, often by 3 people: the owner, someone with ‘readability’, and someone on your team. This process involves a lot of waiting sometimes, like days of waiting after you write a few lines of code. Only a few lines since you’re supposed to submit the code in small chunks / small CLs. So most ‘engineering’ time is spent not in writing code and doing actual engineering work, but in writing tests, asking for reviews, defending your code in reviews, and doing reviews, and in reading and writing emails. Then you may spend a lot of time in changing configs, more than in writing code. Do you become a better engineer like this? I doubt it.
I hate slow iterations. I hate it so much!
At Hooli everything is slow.
Let’s say you want to make a change. First you have to clarify your idea. Design it. Write a design doc (good for promo). Ask for feedback, get many approvals (good for promo), consider several points of view, hunt people down especially if they live in a different timezone (it’s your promo packet, not theirs). Consider privacy, security, production issues, scalability, impact, effectiveness, alternative approaches…
You get your design approved, awesome! Let’s start writing code!
Wait, not so fast.
Let’s check if there’s room in team OKRs, in this biweekly scrum sprint, then announce it at the daily standup, then let’s brainstorm the technical solution together, address the follow-ups
“Oh, RIP, but that’s all good stuff! You better make sure your work is useful before you make the move, no?”
Yes, sure, that’s what I do when I feel I have some mastery in the topic, and when I know what I’m doing is going to last for decades… not when I’m trying to make a plan with hundreds of unknowns that will very likely get deprecated or de-prioritized at random times in the near future, if you’re lucky enough “right after your next performance evaluation”.
Time to write some code!
Wait, not so fast.
Test! A lot of them! Write unit tests, tons of them, even when they’re useless!
“But RIP, again, this is a good practice! it’s called TDD”
Yeah, but it’s not always good. Let’s not even start this discussion, ok?
Let’s say that TDD is usually good, but there are times when it’s a real pain in the ass. You write simple functions, your code is data heavy and not logic heavy, your code uses many backends that need to be mocked… I don’t want to bother you with engineering details, but most of the time I wanted to write 3 lines of code I had to add 100 lines of tests that took days to find out how to write,a dn that are more costly to maintain every time you change backends. Frustrating. And unavoidable. Your presubmit pipeline checks for “code coverage above X%”, and you don’t want to be that guy who tried to submit a changelist to reduce the minimum coverage for your project!
Anyway, even if unit tests were to magically appear while you write your production code, this won’t be fast enough anyway.
Debugging is painful when your code doesn’t run on a machine 1 meter from you. When you can’t step into the code and check memory and processor status. I miss it so much! I miss my Windows and Xbox360 game development, so fucking rewarding to debug!
Ok, code written, tested, and debugged (locally). Time to push it in production!
Wait, not so fast.
First you have to submit it into your repository.
Submitting your code require rounds of code reviews. Sometimes you need reviews from people on a timezone with no work-time overlap with your working day (hello California!). Plus, you need to please many automatic presubmit tools that your team has configured on all your CLs, depending on how paranoid your Tech Lead was.
One of the things not mentioned here is the Draconian code review process, where Those With Readability and code review trolls get to tell you that you need to add more whitespace or write clearer documentation, and yet miss big architecture faults.
Ok, cool, code submitted… Let’s see it in production!
Wait, not so fast.
Launching and productionizing is another slow process: you need to get many approvals to finally put your code in binaries on Hooli servers and see it at work.
Then you need to finalize your story around your launch: gather metrics (good for promo), prove it was useful (good for promo), check for regressions, monitor… until you submit your perf/promo packet, then it can rot, who cares!
The only thing that’s fast in this process is code compilation and linking. Wow, billions of lines of code are compiled and linked in seconds! Wow! It used to take much more time to build a repository from a clean client in the outside world. Cool! Sadly, it matters ZERO in your iteration cycle.
Unnecessary optimization. But still cool.
Everything else is so slow it will depress you.
Let’s also not forget that we’re not talking about rocket science.
The problems you’re facing are both extremely complex and extremely simple. You need to change the color of a button, and to do that you need to show Nobel prize winning technical and communication skills, pass thru five or six reviews, reverse engineer half of the codebase, and get your code in production annoying some directors who don’t give a crap about you.
An enormous expenditure of personal energy to change the color of a fucking button.
the smartest mind of our time are wasting time in making you click ads.
Someone also complained about the strictness of the “coding standards”, but I actually liked them. I
t’s the only place where “order” rules in a land of chaos. Yes, ok, it slows your first CLs down by a lot, but then you’ll grow to appreciate the marginal reduction in complexity that a codebase that seems written by a single person brings.
But it hurt when I got 120 comments on a CL over 10 rounds of review by Superboss – who was well known for his deep and picky code review style 🙂
I often say Hooli has a great problem: Too many outstanding people. For example, when I left, my direct reports were outstanding, my boss was outstanding, my peers were outstanding, my boss’s boss was outstanding, my boss’ peers were outstanding.
Too many people who are smarter than you may make you feel dumber than you are
Yep, impostor syndrome all the way down!
In such an environment you’re stressed to perform at your best all the time, which is not bad on its own, but it comes with high stress attached. It’s like you’re on the Olympic team all the time. One false step and you’re outpaced by your smarter (and younger) colleagues. False step can also include “have a family”, “age a bit”, “have other issues in your life” and so on.
100k employees, everyone pushing as hard as they can.
Maybe one should approach it like one approaches a sport career: you know it’s not going to last for long, so stash as much money away as possible, and say goodbye before it’s too late.
Else… Why are you still working?
And as I said, all these talented people are not working on meaningful projects.
Here’s something to ponder. The only meaningful organic products to come out of Hooli were Search and then Ads, which itself was enabled by the purchase of SomeCompany, and got its legs from CoFounder.
HooliDroid – awesome, purchased.
Hooli Video – awesome, purchased.
Hooli Maps – awesome, purchased.
Hooli Plus is a flop.
Hrome browser is great, but no direct monetization (indirectly protects search), etc.
Tiny number of wave creators, huge number of surfers.
Too many great people, doing work that just doesn’t matter, and they’re being paid off not to care in an explicit effort to starve the rest of the valley of extraordinary talent.
Stagnation — Most people are over qualified for the jobs they are doing. Because of this, people do not increase their skill set at the same rate they would in a more challenging environment. This is a horrible thing for someone newly entering the workforce because your first few years of work will have a large influence on the rest of your career. You will establish your professional discipline and your professional bona fides in an environment which has rewarded you for learning the politics of surviving in a big organization as opposed to advancing your technical skills. Your peers who took more technically challenging positions with other companies will have a leg up on you within a couple of years.
Boredom — part of being underemployed is doing work that is neither professionally nor intellectually satisfying. This might not hit you for a while, but it is one of the major reasons people eventually leave Hooli.
Insignificance — being a small cog in a big organization means your work has little chance of being significant. This is the other major reason people eventually leave Hooli.
There’s a joke that, as a software engineer, the most challenging task at Hooli is the interview process. After you are in the program, you will need to use very little computer science.
So it’s actually like being in the Olympic team of your country, training with the strongest athletes in the nation, but never actually competing in the Olympic games! Just impressing each other during workouts, without the outside world knowing noticing anything.
The worst part about working at Hooli is how, when you weren’t looking, it takes over the majority of your time and energy. If you are not intentional about how you approach your time, it can quickly become your life.
(read the whole answer here)
That’s a good point, and I admit I’ve been swallowed by this monster as well. I still am somehow. I still only wear Hooli t-shirts (I have like a hundred of them) and use every single Hooli products for my personal life.
But I guess this is true in many companies. Wouldn’t bitch too much.
Many Hooli tech employees are isolated from the outside tech world. For example, don’t be surprised if you talk to a Hooli engineer and s/he has never heard of Slack.
Conferences? Communities? What are they?
You may gain weight from all that free food.
“Haha c’mon bro! Seriously, are you complaining about that?”
Haha no, I’m joking 🙂 I wanted to close this post (which is dangerously getting close to 6k words) with a reminder that in exchange for your energy and your life you get a lot of perks, including free food and amazing insurance coverage, generous pension contribution schemes, more vacation days that required by law (at least in Switzerland), a real parental leave even for the father and much more.
“So the free food is great? 🙂 ”
Yes of course!
Well… most of the time 😀
Bonus 1: Take a look at this amazing post by Michael Lynch, former Hooli employee. You’ll enjoy another great tour of Corporate BS: from promo driven development to sudden project canceling, from stressful and continuous priorities shifts to mountains of technical debts, from corporate politics to team defrags. Michael’s experience was very rough, but that’s how to take a driven, motivated, skilled developer and drain his passion for the job.
Bonus 2: Mission Statement
Bonus 3: I finally realized my why:
What I hate is the performance required. I hate the charade of working 8.5 hours even when it’s not necessary. I hate that half hour that has to be unpaid because of lunch. I hate having to consider the optics of your decision to work a different schedule, take a three week vacation, or having a long lunch. I hate the endless meetings and documentation required to assure everyone you are, in fact, working. I hate the contests people have with one another on who is skipping lunch, who is coming in early and staying late, and who can’t take vacation.
It’s bullshit. It’s inefficient. It’s unnecessary. And so that is why I want financial independence. To free myself from bullshit.
Bonus 4: Litany of Office Hate:
I hate getting myself to work every morning.
I hate pretending like I want to be there when I don’t.
I hate being fake and peppy, keeping a benign smile on my face and making small-talk even if I don’t feel so hot. I hate when I notice that other people are faking it, too — I wish I could tell them that it’s OK to be real with me, that I don’t want to go through the motions, either.
I hate reviews. I hate self reviews and peer reviews, reviews of vendor products, reviews of prospective hires, and reviews of managers. I hate setting goals for myself for the following year. I hate having goals set for me. I hate how the bar always goes higher, never lower, never laterally or even in a circular motion. Just: Higher. I hate how I feel compelled to pretend that I like this ridiculous model because it’s “challenging.
I hate the use of jargon and Three Letter Acronyms (TLAs). I hate MBAs, MBOs, SLAs, SOAs, and having to CYA. I hate people who ask for things to be completed ASAP or, worse, fucking yesterday.
I hate documenting the use of my time, filling out time-sheets that book hours against specific projects so that other people in the organization can further optimize the use of human resources.
I hate doing things this way because they’ve always been done this way.
I hate being on-call.
I hate being expected to come up with new projects and initiatives on my own because this shows to management how plugged into the company I am. I hate that work takes over my mind.
I hate that this parade of things that I hate lasts for five straight days and after two short days that usually are devoted to catch-up life and family maintenance at a breakneck pace you are back to day one of another five day cycle.
I hate the fact that even though I generally enjoy my core function, it typically constitutes only a third of my week. (RIP Note: good for you! I guess during my last 4 years at Hooli what I enjoyed constituted ~1% of my week)
I absolutely love the fact that being financially independent allows me to leave all of this behind.
Love, love, love.
Bonus 5: Quote from John Green:
It is so hard to leave—until you leave. And then it is the easiest goddamned thing in the world
— John Green
Ok, that’s all for today!
As always, even if you say that you’s still recommend to work at Hooli, my feelings are evenly split between “Oh fuk this sht, if i must be a SWE for the rest of my life at least let’s do it for 10x my current income, let’s try it!” and “No way, i’ll never withstand that corporate bs for a month, stock vesting will be a mirage!”… i just hope that some day, be it in your new job or in some personal “side project”, you will find again the joy of programming, and an everlasting one! It hurts to see a person, whom i think is very talented even if you may have fallen sometimes in the impostor sindrome (who never did?), writing about “death of passion” 🙁
PS. the Hooli Video CEO image should have the company product name redacted, or are you starting to loosen up even more about confidentiality? 🙂
It’s a poison you can handle for 2-3 years, even more if you’re lucky enough to be immune to it. Just don’t idealize the workplace, but give it a try 😉
About the CEO (but not the CEO CEO) picture… crap, I did my best to keep everything confidential… who leaked it?? 😀
I used to be a regular reader a couple of years back, then life happened (twins, a few months after your daughter), and just catching up.
I’m a fellow Italian and long-timer in a big US tech company (12y+ in the current one).
The perf review it not as bad everywhere 🙂 It might help that the corp I work for isn’t HQed in the bay area, and that has shielded it a bit from some of the perf BS… at times it still feels a company of engineers run by engineers for engineers. The BS level is kept at a bearable level 🙂
IMO when you decided to join Hooli you had been bewitched by the idea, the cool factor, of Hooli itself (and I know a few others who were), more than the job itself, and that has been the root cause of many of the issues you faced there.
If you managed to get hired there, you could just as well get hired in any other big tech company, and aimed instead at a field you were deeply interested, so you have fostered it for years up to achieve mastery (I personally did precisely this: first decide the field I wanted to dig deep, after 7y or so playing around on different things, then looked for a company to do it in, where I’m now). You still can 🙂
That’s one of the most important things I looked for in a company, when interviewing: how long had the interviewers and my future possible team members been in the company and in that team? If you don’t see at least a 10-20% of folks with grey hair in the corridors and the cafeteria, steer away…
Finally, a word of warning on going back to academia/research (I spent my first 3y there): it’s a lot of good fun playing with nice ideas and technologies, but quality is not rewarded… not even considered something worth spending time on. The targets are demos, and it’s an established practice to fake a good part of them too 🙁
When in there it felt like a mafia, in which this group from that R&D center or university is going to judge your project today, and next year you’re going to judge theirs, so everybody is friend with everybody else. Very Italian saying like this… but widespread across all the EU research projects I worked on, in those years.
So you’re going to need balls of steels to pursue quality in such an environment. Not impossible, but unrewarding, and tiring on the long run.
To finish with a positive note: don’t give up on tech companies, plenty of them are good long term investments (but yes, not really Hooli :))
This is a very constructive comment, thank you very much!
Good to hear that there’s still hope, but my tolerance level is so low, and my skillset is so old that I think I’m unrecoverable now.
I pushed too hard for too long, driven by the salary alone, and I destroyed my engine.
About academia, my environment won’t be “100% academic” (they don’t pay 200k in EU for academic jobs), so I expect to be the right mix of freedom and challenge.
The only problem, as I stated above, is that I’m far from being on the cutting edge. I’m like Marco Van Basten after the n-th surgery… very close to retirement, with my golden days behind.
Let’s see if I’m being overly pessimistic, give me few months 🙂
where did you decide to dig deep out of interest and how did you do so?
For me it was a desire to move closer to the hardware. At the time I had been working on middleware (in embedded systems) for a while, but I felt more and more fascinated by kernel, drivers and underlying HW architectures, after having had to help with the porting/adaptation of some driver from one chipset to another.
So I started reading college-level textbooks on operating systems and refreshing whatever I had done on computer architecture back in university. At work I volonteered every time there was a chance to do something (anything) kernel/driver related.
Then I kept reminding my manager(s) I’d be happy to move to work more on BSP-related stuff… but alas I was considered too important for the job I was doing (but, as usual, not so important to cover me in money).
So I started looking throughout Europe for job postings in what I was interested into, initially in the sector I was in (automotive), and got no meaningful answer, then extending to other sectors, but always roles related to BSP and embedded development.
I didn’t have much luck with monster or other job-posting websites, I mainly just applied directly at companies I knew or found out about. I wasn’t invited to many interviews, I failed one (they would have taken me but for a role I wasn’t so keen on), I nailed the 2 subsequent interviews with 2 other (big) companies, and was lucky enough to pick the one that became a behemoth instead of the one that almost disappeared with the 2008 crisis.
I stayed there ever since, first in UK and then at the main offices in southern CA. Lucky enough that within 6 months of joining I was doing a chipset bringup and playing with bootloader assembly code (I couldn’t have dreamt of a better task, spending the evenings and nights deep in the ARM processor manuals). I then did some security, and then back to kernel with still a touch of security.
Is it possible to get a job at Hoolie without a degree? If you don’t want a background to this question you can stop reading here.
I am 22 years old going for 23 this year, and I recently started working as a programmer because I got sick of university bullshit. Covid destroyed my “study-routine” and I am also tired of studying to pass exams instead of learning things.
In summer I transfered from an university to another (changed city) and had to wait an entire semester to get my credits certified and know which exams I had to pass in the new university, losing the whole semester of lessons (luckily “thanks” to COVID they are all online, but I still lost the time). tldr: lost more than 2 semesters due to covid and italian bs burocracy). I can’t really find a reason to continue university but I wish to have a succesful work career and Hoolie could be a nice objective to focus on in the next 15-20 years.
If you want and have time, please also tell me what would you do in my situation with university, considering I now work a full time job (mon-fri 9 am – 6 pm).
I loved reading all your life’s stories, it gave me a lot of motivation to improve as a programmer and person. You really gave me a big encouragment to pursue my self-improvments goals for this year.
Thank you in advance 🙂 and sorry for the WoT :(.
Maybe you should take a look at my last two posts about reaching the interview phase, and passing the interview
Thanks for these posts RIP, really enjoyed reading them, I’m on a similar schedule to you, a little younger but have a little one wrecking my sleep at home.
Do you have something close to an ‘answer’ for work? Like maybe what you should have done based on hindsight? I think it’d be hard to say hooli was the wrong move but I can detect your passion when talking about freelance work.
My own story is I’m an SDET at a huge tech company, glass ceiling for my location and drained of all passion for the job. I just have no idea what to do to deal with the feeling of dissatisfaction, I won’t have FIRE money soon so it’s either grind for 10years or find something I enjoy more and take 20…I just have no idea.
I guess my belief is that your ‘work’ should build toward something. I followed Cal Newport logic of so good they cannot ignore you to switch from SWE to SDET (I was mediocre as a SWE but highly prized in testing.). But I’m kinda at the top and I’m wondering now what?
As I was saying, your pursuit of mastery in dev work seems detached from a company or anything which I see as good and the right way to do things. For me…I guess I was aiming at world class SDET or something but now it feels inherently useless or less valuable than dev work for example. i.e. if I retire….is my contribution going to be test frameworks to non-profits/OSS…I doubt it. Yet as a dev you can create whatever you want, I guess I can also do that but the work skills I’m building don’t favour that as much as straight dev work. Same can be said for data science, after retirement, you could use your skills for good with open government data and stuff.
Sorry for the wall of text, I know from your learning notes you think similar to me. I haven’t caught as many of your recent posts so perhaps you’ve discussed your current answer to work already. I’d welcome a link to it if so!
You asked RIP, but I’ll give you my own 2c.
If in general you have to grind on for 10y+, pick something that lets you explore.
Money in big tech companies tend to be better than in small ones, and life easier and more flexible (which makes a huge difference with small kids at home).
Secondly, big tech companies let you change as a way to improve retention, so you have the possibility to start working on things you’re not an expert on while retaining your “status”, ending up in position that you couldn’t apply as an external new hire: the bar is lower for internal applicants, almost always.
Thirdly, tech life is longer as an SWE than as an SDET: I have and have had greyhair SWE colleagues, but no SDETs. The career path is longer, even if you choose to stay an individual contributor and “jump technology” every 5-6y.
My plan if I were you? Jump back to the SWE wagon, possibly in a technology you’re curious about. If you find out it’s not for you, jump again after 3-4y; if instead you like it, stay there, or look for a similar role in the same technology in another company if you fancy it.
Time 2-3 jumps and you’re FIREd.
Agree with everything you said about big tech: Money, Flexibility, Internal Change, even though the prize you pay for it is mindlessness, lack of purpose, lack of perceived impact, and more.
I was also going to recommend a bit of job/role hopping, which is a way to not let the meaninglessness of your corporate jobs find time to penetrate your brain and destroy it forever. I wish I had company hopped every 3 years instead of having lasted 7.5 years in the same one.
Hi Nick, sorry for late reply.
Of course Hooli was the right move, but I should have played my cards better in the company, and maybe I should have left after 3-4 years while my engagement with the profession was still high.
Working as a freelancer has been the peak of my career joy, but I don’t think I can re-gain that happiness and satisfaction if I switch to freelancing today. And I don’t think I’d be happier if I kept being a freelancer, unless I had spent a lot of time finding the right customers. NavalCompany (my main customer while freelancing) had huge problems the year after I joined Hooli, so I “literally” left the ship before it sank 🙂
I don’t have a solution for you, but I have hard time believing you’re a great Test Engineer and not a good Software Engineer. Why not get more skilled as a SWE? Take a look at my most recent post (https://retireinprogress.com/how-to-get-a-chance-of-being-interviewed-at-google/), I’ve linked few books that ca help you 🙂
As you mentioned as a SWE you have more options to build unbounded mastery, and cool products on your own.
Hi RIP, I really enjoyed these posts too! I’m still a student in computer engineering and everything make me think I’m following a path which is similar to yours, as I’m planning to pursue the msc in artificial intelligence and robotics at Sapienza, which I think should be similar to what you did in the past.
So what do I want to ask you? Well, first I’m extremely curious about your feedback on the new research job, as I’m planning to follow this kind of career and want to know if it is suitable, not in Italy trying to avoid what you have gone trough here. Then, I would like to ask you what do you think about robotics/control engineering, since you still suggest big tech company as they are lucrative…but are they the only choice?
Nice questions, they’d require a very long answer not suited for a comment.
Short answer is: I do think AI/ML and Robotics are hot topics but the distribution is skewed. With Large Tech you have a larger pool of companies with amazing benefits to choose from.
I am an other fellow Italian working for Hooli. It went through most of the blog during the weekend, it was a great read 🙂
My 2 cents:
Probably it’s not what you enjoy and that’s why you quit, but I stayed because I wanted to fix all those issues you mentioned (I agree with most of them). Will I fix them? Probably not all of them but it’s a great exercise of leadership, navigating politics (it’s a skill) and learning that being right it’s not always being efficient.
I joined as L5, went to L6 for my technical skills and to L7 when I stopped complaining about all those organizational issues and started to change things for the better.
And yes, as L7 financial independence is easy to reach. Will I retire early? Probably not, I am having fun trying to change such a big organization and enjoy doing that with enjoy “f*CK you” money in the bank/sp500.
@brainy: I’ve always wondered what “stop complaining and start change things” means in practice.
To change things in such organizations you have to change others people mind, how can you do that without exposing concern and criticisms about the current state of things?
In my company I’ve tried the “show don’t tell” approach.. And It’s not working at all.
They don’t want to leave old habits, they don’t recognize value in what I’ve done and, more important, to recognize value they need to expand their knowledge and they don’t want to invest on that side.
It’s like to explain equations to people that knows only how to add two numbers and that don’t want to make any effort in understand something new.
They will tag every other thing as “hard”, “unuseful”, “not pragmatic”, thanks to the spread of buzz-concepts like keep-it-simple-stupid and other totally decontextualised sentence that will find everywhere on linkedin and jobrelated discussions.
I’m already a follower of your video contents (mainly Youtube short extracts from your Twitch streaming activity) and so far I’ve only read bits and bobs from this blog (mainly market-related articles).
Now my holidays are starting and I’m discovering other pieces of it. Last few days, I’ve been sat at the seashore, belly-up, roasting in the sun whilst reading your articles exported to my kindle. And… wow, what a ride.
I already felt you were somehow internally akin to me but… bloody hell, mate. I’ve had to share this specific page with my partner because we had expressed exactly the same general concepts you’re expressing here (almost using the same terms!) a few days ago in a personal conversation (she works in a field different from soft engineering but the cultural “zeitgeist” at her place is basically the same). Now you got even another reader!
P.S.: the quality, the depth of your work in writing is truly amazing – I totally get that videos are spread more easily (indeed that’s how I’ve known of you) but letting writing go for good would be, in your specific case, a devastating loss for your community!
I’m glad you see you here as well Kairos 🙂
Writing is not gone, I’ll be back.
What’s gone is the ability to focus for long stretches of time… I miss it so much (and writing demands deep work sessions)