Seniors (>=L5) go through a "pirate" round that's system design/arch in addition to the "ninja" round. But you're a CTO so you should be able to ace that (after handily passing ninja since you know all the algorithms). So what exactly are you waiting for? I mean like do you want a referral? I'd be glad to make a quick 5k for referring you since you're so confident that you're good enough.
I probably will start applying if my new company doesn't make it.
Though a lot of me wonders why I am working for no pay at my own company when it sounds like I can make enough to retire being an individual contributor. I do believe in my idea though and want to see it through.
I have friends at just about every one of the FAANG companies so a refferal's not the issue.
Edit: When I say way too long... I mean 10+ years.
Edit 2 because I just realized how it could have sounded: I didn't start a company then give myself the CTO title. I was CTO at my previous job (the one I was at 10+ years).
- I graduated college right before the great recession and that effected my career starting rates
- I stayed at a company I knew was under paying me for far too long (because I had a lot of stock options and I valued them too highly)
If either of those two things were different I'd probably be making a lot more. But my point was, regardless, I am making the mean salary for my region and that mean is not what is represented in this article.
So yes, actually... in hind sight I should have gotten my Masters degree instead of entering the workforce.
Edit: That job I stayed at too long... only reason I took it in the first place was because the recession left me almost no choices. No one was hiring in Boston. The job boards were empty for someone right out of college.
the article didn't say it was representing the mean salary though, probably the salary they are representing is the average - so there are a few high earning outliers pulling that number way up.
Hey just a theory. I am probably wrong.
You're wrong. A previous team built a simple data processing pipeline for a big customer. The throughput is single digit per second. The customer was furious as they would have wait for days to get their data in. The reason is the team was not aware that their graph building and traversal algorithms are O(n^2), and they didn't understand how to distribute their processing logic. My team came in, fixed the algorithms with merely dozens of lines, and improved the throughput by more than 200 times in a matter of days. If you build large backend for data intensive systems, which pretty much every tech company needs, you will need algorithms and data structures. Probabilistic data structures? Check. Manually optimizing popular machine learning algorithms? Check. Rolling out our own implementation of graphs, trees, vector similarity search algorithms and indices, parallelization algorithms, cache oblivious data structures? Check, check, and check. You don't have to use those techniques, but your value to your projects will increase exponentially if you push the boundary.
I said algorithms are table stakes (a poker term for something you need to know just to play at the table). To continue the analogy, sounds like whoever designed that system didn't have enough to buy into the table.
> If you build large backend for data intensive systems
I have. Many.
My comment was not that I don't need to know algorithms it was that at a senior level the questions should be far more advanced than what leet code has.
I'm a little amazed that so many people in these comments assume I don't know algorithms.