swordsmanluke

joined 2 years ago

I worked in AWS for four years. While there I worked for two different teams.

The first team was the worst job I've ever had. I broke four molars in a year, grinding my jaw in my sleep.

The second team I had a great boss. Still one of the best I've ever had. But even at its best - I would never consider working for Amazon again.

I have a whole rant if you want one, but suffice to say that in Seattle - where Amazon, Microsoft, Meta and Google all have campuses - Amazon is widely considered the worst of the lot.

Amazon: Worst life balance. Worst dev equipment. Burns people out and uses golden handcuffs to trap new hires. But hey, sometimes the desks are made of actual doors and 4x4s.

Microsoft: boring and political AF, but you can get a private office.

Google: restaurants and best dev equipment, but the work is largely dull - they have enough world-class experts in X that you probably won't get to do anything interesting.

Meta: is contributing to the erosion of our civil society. But a lot of cutting edge VR/AR stuff is happening out here, so that's cool.

If you want stability and comp, I'd recommend applying to Meta or Microsoft. Both pay as well or better than Amazon and have a harder time with recruiting, making them slightly slower to churn through employees.

Alternately, if you pursue Amazon, note the following:

  1. Do. Not. Spend. Your. "Signing Bonus". It is a trap. If you leave within 2 years of hiring, you have to pay it back.
  2. As soon as you start and get settled in your housing, begin prepping for your next job hunt - just in case. A FAANG on your resume is recruiter-nip. Getting big company interviews becomes much easier if you land a job at any one of them. If you have followed Step #1, you can easily parlay an Amazon position into a much better position elsewhere.
  3. Some people love Amazon - it's possible you could be one of them! It doesn't hurt to interview. If the job fits and you're careful to avoid the golden handcuffs, landing at Amazon definitely opens doors.

Finally, there's nothing special about the "Big Leagues" - 99% of the job is still glorified string manipulation. Don't let that idea intimidate you. Most of the best engineers I've worked with were at small companies (5 out of the 6 or so that come to mind - only 1 was an Amazonian engineer). I saw plenty of bad code inside the walls of Amazon - the industry skill level really is a lot more flat than companies like to pretend.

 

I've interviewed for and been interviewed by companies large and small. We all know software engineer job interviews suck. But it's hard on the other side of the table too.

One of the better places I worked for had a lightweight process of one phone screen and a four hour on-site. The company also prepared offers before the on-site interview round.

When you finished interviewing, you got a same-day yes or no answer, and if it was yes, you had the offer in your inbox within an hour.

What interview practices have you found effective?

... And by what metric?

[–] swordsmanluke@programming.dev 1 points 2 years ago (1 children)

Ah! A fellow holder of the belief that time travel stories are better when they are internally consistent! I hate e.g. Looper for having time travel that makes no goddamn sense. It takes me out of the story when the characters are literally watching the timeline change before them as it magically radiates out from one point. And then our protagonists somehow remember the original timeline... Bah.

...So I must ask - have you seen Primer? If not, maybe you'd like it!

Check out Golvellius: Valley of Doom. It was a Zelda clone, but I think it's more fun than the original.

It's hard to compare apples and mangos, but if we're gonna consider favorite tropical fruits, I friggin love fresh mangosteen. It's like a little fruity Bob-bom. Smooth and silky texture, creamy sweet flesh and just fantastic. They don't seem to travel well, unfortunately.

Or fresh pineapple.

I had fresh pineapple off a farmer's cart in the tropics two decades back. Afterward, I couldn't eat pineapple in the US for almost three years. It was so much better than the canned or grocery-store stuff there was just no comparison.

I started with Ubuntu and then migrated to Arch. I learned a ton about Linux and how tune everything for optimal performance!

...And then I went back to Ubuntu because I just want to work with my computer, not on it.

A few years back I started working on a P2P-based social media app.

The things I did:

  • Pull-based: you don't see anything from people you aren't subbed to.
  • Natural vs algorithm-driven growth: Introduce friends instead of shoving randos into every conversation.
  • No ads: Servers are expensive. P2P architecture removes (most of) them, so we can afford to run on donations of time and money.
  • Community-based publishing: When you share, it's to a community of users you've curated. "Family", "Co-workers", "Cool co-workers", etc
  • Community-based moderation: local + shared tags and filters to control what your communities can show you. (E.g. Block all #politics posts from Uncle Fergulous and all #soblessed posts everywhere. Sub to other users' tags to make them part of your personal moderation team)
  • Data Ownership: I don't want your data. You host it. You own it.
  • Right to be Forgotten: Automatically delete older posts (This is impossible to achieve completely, but having it as the default makes casual abuse harder)
  • Pseudonymous: I don't care who you are. If the FBI cares, they may be able to track you though.

I like to open with "I know crunch happens. It's part of our industry. How often would you say crunch happens here and when it does happen, how long does it last?"

At bad companies, they'll justify how crunch is unavoidable but don't worry, their stock is gonna make you Rich(tm). At good companies, they'll crunch a couple times a year, for a week, maybe two. At the best companies, they'll talk about how their Process eliminates crunch time.

I've asked this question ever since I interviewed at a place where the lead dev had a cot in his office.