Not all tech jobs are like that. Also, different tech jobs will appeal to different people, which is fine. Maybe this one job is not the best fit for you, and there may be another one out there that is.
If I were you, I’d try a job as different as you can in a company as different as you can, for the sake of making sure the situation will be different. You might still land in a situation that’s not for you, of course, but that should mitigate the risk that you’d land on the exact same problems.
Moved from France to the US in 2013, mostly because opportunities in tech don’t compare, and also because for all the great things French culture has, the gloomy/whiny tone of the culture was always difficult for me.
It was hard for a while on precarious immigration visas, but then we got our self-sponsored Green Card in 2015, and it’s been smooth-sailing since. The Green Card path I chose took many years to prepare, starting far before we immigrated; and tons of continuous hard work to prepare. It’s hands down the hardest thing I’ve ever done.
It’s worked out pretty fantastically for me and my family, so I regret nothing. We became naturalized citizens last year.
Every culture is different and there is none that is for everyone. That’s why it doesn’t make much sense to me that people would want to spend their whole life where they happened to be born, without trying anything else. I think everyone should live abroad a little while, no matter where.
I work for a FAANG-like company right now, and used to work for Apple, and worked for startups too. Some thoughts.
• Engineers in large tech companies are neither better nor worse engineers than in startups on average. They just work on different things.
• Large tech companies are a lot more heterogeneous than it looks at first. I had a great experience with talented and respectful people at Apple, while a friend of mine was in another engineering division also at Apple, and… not so much. It’s so large, it can’t be the same throughout the company. It wouldn’t be surprising that your team is struggling to hire quality talent, but some others have an easier time, for all kinds of reasons.
• But each company does have some common cultural traits you’re likely to find throughout all its teams though. My current company takes a lot about the importance of work-life balance, while Apple told us at bootcamp on day 1 that we’d be working our asses off. In both cases, it turned out true.
So, one FAANG might be wrong for you, but another FAANG might be better. And one team in a FAANG might be wrong for you, but another team in the same FAANG might be better.
One reason I like larger companies is because once you’re in, they’re so large that it’s easy to switch to another role all the while having a lot of insider information about what you’re getting into, way more than if you were to switch companies. But yeah, a lot of the time they want to keep you on one team for a little bit first, so at least they’re getting some ROI on their efforts to find you.
Sounds like he didn’t actually have a liquidity event? In which case, his net worth is mostly paper money, so while I’m sure he’s doing nicely and I wish him for this money to become real money eventually, it is just not the case at this point, so he’s probably not as crazy rich as you’re thinking. At this point, he probably can only liquidate some of it with board approval, and can’t do it too much because of the signaling risk that comes with it.
When taking a group of hundreds of millions of people with the same trait (such as their nationality), it’s easiest to compartmentalize and expect them all to think the same and behave the same. So when inevitably individuals or subcultures in that group have differences, it’s easiest to call it hypocritical.
I’ve been a European in American companies where saying “I don’t like that VP” in public would raise serious eyebrows, and I’ve been part of other American companies where saying “the VP Product is a fucking idiot” in public would make everyone laugh. It’s not the first time I hear GitHub fancies itself to be a bit edgy in culture, and I’m personally not into it, but it doesn’t make them hypocritical because some other guy you know, and you need to put in the same bucket, is different.
We’re on my developer salary in a modest Chicago suburb house, which is enough for us by itself, so my wife was able to leave her job to focus on our 6yo daughter full time, with little financial concerns. We can pretty much last like this indefinitely, if nothing changes.
We were living in the Bay Area a few years ago, and then a couple of years in Chicago itself, I’m very thankful we happen to find ourselves in a more affordable area as this is going on, because everything would have been much trickier...
Am I the only one to feel like the Hey people are basically having a faked marketing-driven temper tantrum?
Not to say that Apple applies their rules fairly (I wouldn’t really know, but I’m willing to trust there are issues). Just that each communication I see from Hey feels entitled and self-dramatizing. It doesn’t feel like they’re helping their own case...
Yes, we did it at Kenna Security. About 300 paying customers, but over 1000 with trials, and overall about 6B vulnerabilities being tracked (the largest table in aggregate). Some of the tables were business intelligence data accessible to all customers, so they were on a “master” DB that all could access; and some of the tables were fully multi-tenant data, so each customer had their MySQL DB for it.
The motivation was that we were on RDS’s highest instance and growing, with jobs mutating the data taking a less and less excusable amount of time.
The initial setup was using just the Octopus gem and a bunch of Ruby magic. That got real complicated really fast (Ruby is not meant to do systems programming stuff, and Octopus turned out very poorly maintained), and the project turned into a crazy rabbit hole with tons of debt we never could quite fix later. Over time, we replaced as many Ruby bits as we could with lower-level stuff, leveraging proxySQL as we could; the architecture should have been as low-level as possible from the get-go... I think Rails 6’s multi-DB mode was going to eventually help out too.
One fun piece of debt: after we had migrated all our major clients to their own shards, we started to work in parallel on making sure new clients would get their own shard too. We meant to just create the new shard on signup, but that’s when we found out, when you modify Octopus’s in-memory config of DBs, it replaces that config with a bulldozer, and interrupts all DB connections in flight. So, if you were doing stuff right when someone else signs up, your stuff would fail. We solved this by pre-allocating shards manually every month or so, triggering a manual blue-green deploy at the end of the process to gracefully refresh the config. It was tedious but worked great.
And of course, since it was a bunch of Active Record hacks, there’s a number of data-related features we couldn’t do because of the challenging architecture, and it was a constant effort to just keep it going through the constant bottlenecks we were meeting. Ha, scale.
Did we regret doing it? No, we needed to solve that scale problem one way or another. But it was definitely not solved the best way. It’s not an easy problem to solve.
It is magnitudes simpler to hire an American, immigration laws make sure of it. Any employer will readily hire qualified American candidates, they’re just fully aware that those qualified candidates won’t happen through this local newspaper channel for this kind of job. Americans who would apply to that specific ad would only do so to run interference, hence keeping their wording irrelevant.
Why wouldn’t a qualified American candidate run interference then? One reason: most candidates for this kind of job are educated enough to be aware that the economy and the job market are not fixed-sum, so a foreigner being hired today doesn’t meaningfully change their own odds at being hired tomorrow. It’s kinda like saying that new graduates entering the workforce take jobs away from people in the workforce, when factually an economy grows with more people in it.
If I were you, I’d try a job as different as you can in a company as different as you can, for the sake of making sure the situation will be different. You might still land in a situation that’s not for you, of course, but that should mitigate the risk that you’d land on the exact same problems.