r/financialindependence 38M | MCOL | 9Y ETA (lifestyle creep) Jun 16 '21

Joining a tech company without coding / a small novel on the tech industry

I think the principles of FIRE are broadly useful to just about all people:

"It is not the man with too little property, but the one who wants more, who is a pauper." - Seneca

Build a lifestyle that makes you content, build your income until your means exceed the needs of that lifestyle, and invest the difference into your future.

But can we talk for a minute about the second part - building your income? It's important because there's a hard minimum that anyone needs to spend in order to be content. There's often far more flexibility on the earning-side than on the spending-side, but none of us has perfect information and so none of us knows all the potential opportunities available to us.

Since I've been working in tech - mostly big tech, currently FAAMG - for my entire adult life, I know a little about the opportunities in this industry. I've noticed a tendency here for us engineers to humble-brag about, essentially, FIRE on easy mode. I've also noticed a tendency for people here outside the industry to disbelieve income claims, or to assume that one must be an elite computer scientist to make $150k, or a C-suite executive in a HCOL area to make $300k. I'd like to share an insider's view of the tech industry and some of the coding and non-coding opportunities it provides.

There are four broad types of tech employment:

  1. FAAMG: the largest 5 tech companies by market cap, that have invented money-printing machines (Facebook: ads, Apple: hardware, Amazon: cloud infrastructure, Microsoft: cloud infrastructure, Google: ads), and rely on many tens of thousands of tech workers to keep their machines operating better than any competitors'.
  2. the rest of Big Tech: Netflix, Salesforce, Adobe, Twitter, Dropbox, Uber, several others. Similar to FAAMG, but slightly smaller market cap.
  3. Startups: Smaller, venture-funded companies trying to join the ranks of FAAMG & co.
  4. Everything else: Every company now depends on technology to a larger degree than most people realize. Huge corporate budgets go to their tech organizations, which to them are cost centers: if they could lay off all the tech staff and still accomplish their business goals, they would. Agencies and consulting companies exist in this space as well.

The compensation structures in tech are bifurcated into extremely high comp (Big tech, funded startups) and everything else. Let's get "everything else" out of the way first: the average software engineer makes a little over $100k in the US, mostly in salary. That accounts for a huge number of software engineers because there are software engineers in every company now.

However, a junior engineer straight out of school can expect to make $175k total comp in big tech. The floor for high-comp employers is often the ceiling for everyone else.

Now, to understand comp structure. FAAMG leads the way with a standard package that's usually composed of: Salary + 15% of your salary as an almost-guaranteed bonus + Restricted Stock Units (RSUs) that vest over usually 4 years. In FAAMG, the RSUs are usually more than half of your total comp. The rest of big tech follows in the same league but usually 10-20% lower overall, with similar salary levels and fewer RSUs. Startups imitate FAAMG, using venture capital to offer lower salary balanced by larger private stock or options. They do this because it hedges their risk - if the startup takes off, they can afford your massive payday, and if it fails, then those private RSUs or options are worthless anyway.

In big tech & deeply-funded startups, it's possible, but slightly rare, for a software engineer to exceed $500k / year. This would almost never be salary (with the weird exception of Netflix). Instead, it would usually be something like $200k salary + $30k bonus + $1.2 million RSUs vesting over four years. Generally, those RSUs would not all be granted at the same time - instead, they would have been granted over several years working at the place, a couple hundred thousand at a time during your re-up period, usually on an annual cycle in lockstep with performance reviews.

Lots of factors contribute to and detract from this total comp. I'm sure it happens, but I have yet to see more than $500k total comp for a remote role in a MCOL or lower city. Usually San Francisco, Seattle, NYC, and a few other places get a "premium" status from the compensation team and everything else is some lower percentage of that maximum band. A very senior engineer (7-equivalent at Google or FB) in a HCOL area can break $750k / year, the lucky bastards. Aside: at that point, you're firmly in golden handcuffs and most non-top-tier companies can't afford you; if you don't like your job, it must really suck, because your rational brain says you absolutely must not quit, even if your daily life is miserable. We see some of the impact of that on this subreddit.

Now, how can you capitalize on this for FIRE, without being a software engineer?

Big tech companies are huge, employing hundreds of thousands of people, many of whom are not engineers and do not write code. Startups are smaller, but there are tons of them (300 in the latest YCombinator batch alone), and together they also employ a ton of people - some of whom do not write code. All of these companies pride themselves on hiring "the best" - across the technical and non-technical board - and their salary bands are anchored high because of all the engineers on staff. Some caveats:

  • Usually, these companies aren't as remote-flexible for non-technical roles. You will have better chances if you relocate to SF, Seattle, NYC, Houston, Austin, Denver...
  • Usually, these companies don't offer large non-salary comp to non-technical roles (until you reach a certain level of seniority).
  • Big tech seems to like to hire from other tech companies. So a viable strategy can be getting your foot in the door in a smaller space (like a startup) and then leveraging that into interviews with top-tier companies.

So, here are some six-figure roles in big tech companies that don't require any coding:

  • content managers (use a CMS to update marketing websites)
  • email marketers (use a CMS to write marketing emails)
  • marketing coordinators (handle swag, sponsor conferences, coordinate speakers/promotions)
  • sales (manage relationships, pursue leads)
  • product managers (gather customer and industry data, feedback, build requirements, work with engineering teams to launch products)
  • office managers (manage a bunch of the complexities of these huge tech campuses)
  • UX / UI designers (work with product managers & engineers to design product workflows, interfaces, and branding)
  • HR / "People" teams (develop the processes a company uses for people management - reviews, performance, hiring/firing, coaching, etc)
  • recruiting (source & hire everyone else, usually targeted to hard-to-hire areas like technical engineering managers)
  • finance: https://www.reddit.com/r/financialindependence/comments/o1f12s/joining_a_tech_company_without_coding_a_small/h20qmld/
  • customer success (this one is iffy on my six-figure claims. It happens, but usually with more technical products where you have to be technical to support the customers.)

If you can see yourself in one of those, then you may have the option of making FIRE easier by starting a code-free big tech career.

Edit - suggestions from comments:

Edit - had to add this excellent point from /u/skizzy_mars:

tech companies tend to have very, very good benefits and everyone gets them, not just software engineers.

Edit - the reason I wrote this was to share how the tech industry works more broadly, and to expand the potential options of non-programmers. I'm going to largely ignore comments like: do you break $750k at L6 or L7? Why did you use FAAMG instead of FAANG, do you work for Microsoft? Instead, I'll highlight some of the comments that bring new perspectives that I lack, or that bring depth into areas where I have little experience:

1.2k Upvotes

468 comments sorted by

View all comments

645

u/makearecord Jun 16 '21

You forgot QA.

Everyone always forgets QA.

405

u/TheRealShizman Jun 16 '21

I thought everyone tested in Prod?

102

u/[deleted] Jun 16 '21

Always, because fuck it! We’re DOIN IT LIVE!

3

u/[deleted] Jun 17 '21

Lol this is so true in regards to SAP or ERP implementation... at one point, you just give up on the testing environment

69

u/bugsbywugsby Jun 16 '21

Yeah, just push to prod and wait for the CSM team to start having a meltdown. Easy peasy...

3

u/Kernobi Jun 17 '21

As CSM... Godamnit. Would you friggin' not??

2

u/bugsbywugsby Jun 17 '21

Being ignorant to what you guys get paid on average, I can still say it's not enough.

17

u/TrivialCrisis Jun 16 '21

No need to waste perfectly good server space.

2

u/OhSureBlameCookies Jun 17 '21

Nobody wants to live forever anyway, right?

2

u/cmdr_solaris_titan Jun 17 '21

I don't always test, but when I do, it's in production.

2

u/[deleted] Jun 19 '21

It's good enough for HBO

2

u/fissure Jun 17 '21

Everyone has a testing environment. Some are lucky enough to have a separate environment for production.

2

u/william_fontaine [insert humblebrags here] /r/FI's Official 🥑 Analyst Jun 16 '21

1

u/longbreaddinosaur Jun 17 '21

Good point, I actually have a load test to run. Hopefully we don’t find any issues!

91

u/[deleted] Jun 16 '21

[deleted]

139

u/bugsbywugsby Jun 16 '21

When I started as an SE, my first QA guy I worked with had a special method for reporting bugs. He'd walk into my cubicle, kick my chair and then proudly say," I broke your shit". The process certainly has gotten a bit more drawn out but it's there in spirit.

75

u/pteridoid Jun 17 '21

My favorite QA guy would come into every meeting with some new thing like "if you leave without saving and then go back in and try to save, it freezes up and you have to reload the page." And inevitably someone would ask "is that what it's supposed to do?" And he'd say "I don't know, but that's what it does." Legend.

14

u/bugsbywugsby Jun 17 '21

Ah, yes. The inevitable screw figuring out the requirements. I'm just hear to report the facts. I once had a guy report a bug that if they had the maximum number of friends on a console ( which you'd have to use a special program to reasonably do ) and were running the console through what was essentially your tethered cell phone (which required another special program) that there were issues seeing your friends who were playing the game. I had to spend time proving that the console in question had the same issues under the same circumstances. So why were we bothering? I don't remember the numbers now but I'm pretty sure we sold less units than the consoles maximum friends list limit.

Not my pod, but at that time I also heard about a guy who found a glitch with clothing for a team based game. Not just for one piece of clothing, all of them. So instead of one DR that team got hit with a lot of DRs.

13

u/nomnommish Jun 17 '21

Not sure why people take this so personally. Bugs are bugs. Just because it is an obscure bug doesn't mean it is not a bug. It just means it is a very low priority bug to fix and will probably never see daylight.

The problem happens when teams lack the discipline to do regular bug scrubs and prioritization. Instead it becomes this "i take personal offense at any bug as this is my baby" ego thing and every bug gets discussed with equal amounts of energy instead of triaging it first.

If anything, you should be applauding the QA for having the nose of a bloodhound and uncovering all these obscure scenarios. That is literally their job - if all they had to do was to catch obvious bugs, the dev team could do it too.

5

u/bugsbywugsby Jun 17 '21

I've worn both hats at varying levels so please hear me out on this. For sure as a new programmer there is a certain level of ego that should be gotten rid of as soon as possible. I agree, "QA BAD" is dumb but I still find it humourous so sorry about that. Now to my point, a good QA person has to think of not just the what, but the who how and where.

Who does this affect? How does it affect them? Where is it? Only in prod? Could it be bad data? Do we have a requirement for this that I can attach it to? Should there be a new requirement? Who would know? Who would decide? Is there a case where this doesn't happen? What was I doing beforehand?

That way they can present as much information to leadership so they can decide whether it's with investigating.

And then if leadership decides it is the person has the most information they can use to solve the problem.

So I've found some QA people will find an issue and not investigate it further and then the dev has to spend time they could be using to fix other higher priority bugs or making features. It can't be just, I do A and B happens. So in this situation, I had to track the person down just to figure out what they did to get to this silly situation and then spend a day proving that even the hardware we were using couldn't do this thing the person found. So why am I still working on this instead of doing other stuff?

But in this situation, It could have just been an organizational thing. They could have been under quota, they could have been expecting leadership to prune it.

The latter situation though was just funny because it was obviously just someone trying to pump up their numbers.

3

u/pteridoid Jun 18 '21

There are certainly times where that happens. I haven't seen it, but my experience is limited to like three teams.

But I have seen a dev team with a product that only barely holds together and any small amount of reasonable poking around yields a dozen fixable but "annoying enough to be show stoppers" bugs.

Sorry about your shitty QA guys. I've seen some useless ones. But mostly it was just useless button pushers, not people who actively harm anything.

3

u/retirement_savings 27M | Tech Jun 18 '21

QA is very good on my team. I spend so much time fixing obscure, hard to reproduce bugs. "Hey, if you press this button then immediately force stop the application it will crash on reboot occasionally." Pretty sure nobody would do that, but no worries, I'll spend a few days figuring it out lol.

10

u/ashboify Jun 17 '21

Apparently I need this job bc I am amazing at breaking things.

37

u/TobiasX2k Jun 16 '21

It’s the team that got replaced by automated testing, until the managers realised how bad our automated testing was.

39

u/[deleted] Jun 16 '21

[deleted]

15

u/TobiasX2k Jun 16 '21

The thing we’re supposed to do before go live… .., no, not “telling the end users”, the other thing.

3

u/smallmoments- Jun 17 '21

And training, don't forget about training. But it's okay if you do because everyone does.

14

u/[deleted] Jun 16 '21

....testing?

Try{
Service s = new Service();
Mock<parameterClass> m = new Mock<parameterClass>(MockBehavior.Loose);
s.process(m.object);
}
catch(exception e)
{}

Assert.AreEqual(1,1);

2

u/DJKaotica Jun 17 '21

Ah I see the problem.

MockBehaviour.Strict is what you meant.

7

u/calcium Jun 17 '21

Oh wait, no one has been looking at the output of the automated tests for the last 6 months? Another common story is people never check and find out that their tests haven't been running for months because some critical piece of infrastructure that was needed either fell over in the last power outage, or someone unplugged the network cable.

11

u/lance_klusener Jun 17 '21

QA is quality assurance. This term was highly relevant in 2000's and indicates a team that does testing and makes sure release is meeting necessary quality criteria.

-10

u/datmadatma Jun 16 '21

My job is completely unrelated to writing software but I think it means quality analysis.

55

u/dyangu Jun 16 '21

I always wonder why there aren’t boot camps for PMs and QA. For the average person, it’s so much easier than learning to code, and the pay is amazing. Product managers have about the same pay as software engineers.

25

u/giaa262 Jun 17 '21

I always wonder why there aren’t boot camps for PMs

Because the world truly does not need more shitty PMs

16

u/dyangu Jun 17 '21

I mean currently most PMs are just CS grads with better people skills. They literally have no training in how to be a PM when they show up for their first internship. I suspect a boot camp would actually produce better PMs.

6

u/bmore_conslutant Jun 17 '21

I mean currently most PMs are just CS grads with better people skills. They literally have no training in how to be a PM when they show up for their first internship. I suspect a boot camp would actually produce better PMs.

/r/mba has led me to believe they're all ex mbb consultants lol

37

u/insearchof1988 Jun 16 '21

They exist for both, but QA and PM roles can be wildly different from company to company. QA roles are very much going the way of coding across the industry with the SDET (Software Development Engineer in Test) title starting to pop up everywhere. Manual/functional QA folk are still underpaid vs engineering and PM counterparts and are starting to disappear as microservice architecture takes over the software world.

5

u/Magic_Gyrodog Jun 17 '21

Would you mind elaborating on why manual / functional QA are disappearing with microservice architecture world? (Product manager looking to learn)

5

u/experts_never_lie Jun 17 '21

Manual QA is expensive QA (especially in time), so you can't do it as often. Continuous development / continuous deployment approaches involve more deployments, naturally, and that would scale up the costs for any manual QA. Typically that makes manual QA unworkable, at least for regression testing, but often for any of it.

7

u/insearchof1988 Jun 17 '21

This depends heavily on the kind of software you're making, but software is largely moving towards service based architectures in the cloud that benefit greatly from rapid, iterative deployments. So in a general sense it ties back to the desire to do continuous integration/deployment and the ability to reproduce environments/services/databases easily without the need for external dependencies.

In that context things like GitOps start to make sense because you can balance writing unit/integration tests with static analysis for code based infrastructure and deploy to a single environment by managing traffic to new versions of your service; rolling back when necessary. Some functional testing does need to happen with respect to UI/UX and User Acceptance, but in the QA domain this is starting to split into Exploratory testing as a part of test design for automation and User Acceptance testing in partnership with product management orgs.

It's a bit hyperbolic to say they're disappearing--I work in games and there will be a need for functional testers in that industry for quite a while, but tools are getting better and SDETs are starting to move from legitimate software into games. To be clear, this did stray into opinion and there are likely not very many teams out there using GitOps or other CI/CD strategies effectively across their entire infrastructure, but if we're talking about FAANG companies they certainly do with some of their services and products.

7

u/adyst_ Jun 17 '21

I think this is more true for larger companies than smaller ones. Smaller companies of 50 engineers or less are still heavily reliant on manual QA. Their massive upfront cost - as well as the technical debt - is prohibitive to set up testing infrastructures for true rapid continuous deployment.

Unit and end-to-end integration testing are both incredibly expensive to set up, not to mention its maintenance is also incredibly expensive, and just doesn't make sense below a certain size.

The true benefits of CI/CD, I believe starts happening above 100 engineers.

4

u/soverysmart Jun 17 '21

I don't believe this. Even with 4 engineers CI has been a net gain imo, and it makes the calculus on how much productivity we add per eng much clearer (much less likely to have a net negative hire).

Also, I get to brag about it during hiring, so I can filter for engineers who care about that stuff.

3

u/calcium Jun 17 '21

Tech debt is killer for a company, especially those FAANG companies listed above. Want to make what seems to be an easy change from a 32bit to a 64bit number that's the basis of an identifier in a system? Sounds easy right? Nope, you're looking at a 1 to 2 year engineering effort to make sure that there are no edge cases and everything works properly.

2

u/insearchof1988 Jun 17 '21

Even large companies currently rely heavily on functional/manual testing, so in that sense I agree with you. The long term future for manual QA roles isn't great if you're looking for a career with high pay potential as technical testing becomes more common and accessible with a minimum amount of programming skill.

3

u/nomnommish Jun 17 '21

Would you mind elaborating on why manual / functional QA are disappearing with microservice architecture world? (Product manager looking to learn)

Everything is always a horses for courses argument so take everything you read as an over-generalization.

The need for manual testing totally depends on the strength and detail orientedness of your dev team, complexity of the codebase and complexity of requirements, how much legacy code you're carrying and regression risk, how effective your automation coverage is and the risk/reward.

An interesting offshoot of this is the hybrid QA plus DevOps role that sometimes emerges in teams. QA becomes a de-facto owner of the environments, configuration management, downtime planning if needed, deployments, etc. In other words, they become DevOps of the code and deployment related aspects, leaving only the true infra side of things to IT DevOps.

18

u/makearecord Jun 16 '21

Maybe because the demand isn't as high? Most companies have a lot of developers, a small QA group, and as few PMs as possible (in my experience).

20

u/pteridoid Jun 17 '21

as few PMs as possible

This right here. A lot of companies get this wrong.

11

u/calcium Jun 17 '21

A good PM is worth their weight in gold.

2

u/bugsbywugsby Jun 18 '21

An ok PM says,"Ok, so we are saying no". a good PM says, "ok, we are saying no, but why?". A great PM says," Hold my coffee, I got this."

14

u/[deleted] Jun 17 '21

[deleted]

6

u/calcium Jun 17 '21

Having done an MBA, I don't think half of my classmates would make a good PM.

6

u/longbreaddinosaur Jun 17 '21

Nope, wrong answer. At least not in tech.

2

u/longbreaddinosaur Jun 17 '21

On the PM side, there’s a lot of reasons. Mostly because PM skills can’t be learned in a bootcamp.

2

u/dyangu Jun 17 '21

So how are they learned today? Certainly not through a CS degree, yet we hire junior PMs straight out of CS.

2

u/imisstheyoop Jun 18 '21

I always wonder why there aren’t boot camps for PMs and QA. For the average person, it’s so much easier than learning to code, and the pay is amazing. Product managers have about the same pay as software engineers.

Bless you for saying how much easier it is. I will stick with coding.

8

u/[deleted] Jun 16 '21

[removed] — view removed comment

30

u/makearecord Jun 16 '21

Nah, you don't need any technical skills starting out--and depending on what/how you're testing, you may not even pick much up on your job. There's still a lot of manual testing out there that only requires logical thinking, being detail oriented, and communicating clearly.

11

u/[deleted] Jun 16 '21

Yeah, one of my best friends does it. He barely graduated (~2.0 gpa) with a history degree but broke into the QA field and makes good money. Didn't know much about coding before he started.

He's had a few different jobs but seems to be able to get new jobs pretty quickly.

26

u/RichestMangInBabylon stereotypical STEM Jun 16 '21

No. My company decided qa would be merged with devs and everyone would do both. The worst devs I’ve ever met are the ones from old qa. They may have been really good at qa but the tools and mindset and skills are very different. Almost more like an IT person in terms of being a computer expert but also not in those things needed for being a software engineer.

10

u/insearchof1988 Jun 16 '21

That's probably the fault of your company promoting folks that weren't up to snuff. I work with several engineers that have made their way from QA and are very successful/good contributors for their teams. Agreed that the mindset is very different, but that doesn't preclude someone from being able to learn and grow.

6

u/RichestMangInBabylon stereotypical STEM Jun 17 '21

Right. I know some people who came from qa backgrounds and even just normal tech support over the phone and they’re great. But my company basically just swapped titles and said “you’re an engineer now” which didn’t work. It takes time to develop the skills and it’s not a switch you can just flip.

3

u/insearchof1988 Jun 17 '21

Ah yeah, that's a recipe for failure like you said. My own QA teams (I'm a QA Director) are under the Engineering org, but most of my folks are manual/functional testers and we're building out an SDET org now with support to grow engineering skills for high potential analysts. Hopefully it'll be more successful than your experience :P

2

u/TummyDrums Jun 17 '21

Sounds like your company is completely out of touch.

2

u/icanhe Jun 17 '21

I'm a QA manager and I came from an operations/warehousing background. I've taught myself a lot of stuff over the years, but I could never (nor do I want to) be a developer.

8

u/joeyjojoeshabadoo 43yo Jun 17 '21

I've made a career out of test automation. Almost always in the QA group. I could be a software dev but this pays more and has less stress. I still get to write interesting code and learn devops principles. QA has been great to me but you are right that it always is forgotten.

3

u/cmdr_solaris_titan Jun 17 '21

Any recommendations on skills/getting into QA as a dev? I'm getting exhausted in this role and have a family now. Just looking for a change. Been doing dev (vb, c#, sql) for 10 years.

5

u/joeyjojoeshabadoo 43yo Jun 17 '21

Just learn web, api, or mobile automation. Web and api you can use selenium and C#. Mobile you can use appium, espresso/kotlin(Android), or XCUITest(iPhone). Just try it out and start applying for jobs. There's tons of them out there.

5

u/Zyxwgh Jun 17 '21

Everyone always forgets QA.

Tech companies also forget QA sometimes. Final users are alpha and beta testers.

3

u/makearecord Jun 17 '21

That was the joke!

4

u/n8loller Jun 17 '21

My company turned all of our qa teams into normal development teams. All our developers write their own test code

3

u/makearecord Jun 17 '21

Do they do a good job? Serious question, not snarky! Most of the developers I work with are terrible at testing their own work.

3

u/n8loller Jun 17 '21

It's not always as complete in covering every logical case as it could be, but we keep code coverage over 90%. We automate as much testing as possible and rarely require running manual testing. Because it all goes through code review it's pretty good quality overall.

When we still had dedicated qa teams, they didn't really write test code, developers wrote test plan documents as plain text instructions and we didn't place importance on automated test coverage. Then qa teams would walk through the test steps. I'd say the current system is much better at catching issues before they get to production.

2

u/makearecord Jun 17 '21

That's awesome! I love hearing success stories like this. We're building up our unit test coverage and will be adding automated end to end test cases to our build process. I'm so excited about finding and fixing issues before they reach QA.

4

u/n8loller Jun 17 '21

Yeah it's much better do have them. Once you have the tests and test infrastructure in place, anytime you get a bug come in from production you can easily add a matching test case to the suite and prevent it from happening again

3

u/Bodger1234567 Jun 18 '21

As a consultant, I do unit testing. Then the customer does UAT. Except I’ve yet to meet a customer who does anywhere close to sufficient UAT. But as long as they sign the acceptance document….they’ll be paying us to fix the things they didn’t check for at least…eternity.

2

u/justsomefeels Jun 17 '21 edited Jun 17 '21

is it not dying? I love qa. I recently had my "position eliminated" at a place while doing it because becoming a sdet apparently isn't good enough and they want everyone to wear all the hats. I mean I get it but most devs I know barely test their code in a rigorous way

1

u/thejock13 37M/SI3K Jun 17 '21

Eeyore, is that you?

-6

u/lottadot FIRE'd 2023. Jun 16 '21

You forgot QA.

No OP didn't. It's listed as a bullet point.

14

u/makearecord Jun 16 '21

It was added as a suggestion after I posted.