I'm ex faang and have managed to carve out a comfortable independant consultancy where I can kind of join needful organizations as a roving 'fix-it-up' engineer at large, answering to the directors who (hopefully) only care about things working better.
It's gratifying to swoop in and fix real problems for teams, and also get a view on cross team efficiency opportunities that most siloed org-structures don't have good visibility or agency to tackle.
Case in point, about a year into the MedTech work, I was contacted by someone I knew at a large local cyber-charter school who was looking to build out a SWE team (as leverage with the other contractors they were working with). If I were a full time employee, the answer would have been 'Sorry, I'm busy'. But, as a 1099 worker with no set hours, I was happy to help them do interviewing to build out a core team. This lead to a long term advisory relationship with them, firefighting when things exploded, and also building a ton of automation and data governance back office utilities.
There have been some other tasks too, but if I had to boil it down to a few pithy points it would be to: play HARD to your strengths and be flexible.. But also don't be afraid to turn down work if you don't think you can hit it out of the park. Let everyone know that you're open for business too. A lot of organizations would be happy to have a problem solved without having the overhead of onboarding an employee.
This is predicated on you cultivating the level of experience and autonomy needed to get things done without oversight, or, in-fact, providing oversight of others trying to do 'the thing'.
My current challenge is in trying to move away from hourly billing and on to project-scoped contracts. Eventually I would like to build productized services and IP that make money while I'm asleep.. but who doesn't?
EDIT saw your reply. That's a great experience! I tried that but the timing / friends / luck didn't pan out there. I'm happy you got it working though :)
Far too many companies are designed as management empires instead of as engineers-as-drivers of change. This means that you are being only hired as a headcount in a reporting chain, not as a versatile engineer that can be help boost a company. They'll impose ineffective policies such as you cannot switch teams before 18 months, or a manager can sabotage your mobility with some reviews. All of this is designed to keep the corporate structure inflexible.
It is a structural problem in most American corporations, that they are unable to get past. Faang, and specifically Facebook, encouraged so much mobility - and it showed in the way they completely smashed larger competitors like Google, Microsoft in the last decade.
Well said.
I'll just say that all companies (at least, large US-based ones) are like that. Every single one of them.
The trick is to have a 'management empire' that's large enough that it spans most of the required functions. That way at least some engineers are able to move inside the fiefdom and not bump heads against some other high level manager's domain.
Does it mean you felt you were making the work a better place during the earlier couple of years at FB?
By comparison, everything I do now improving the company I work at, and at most times has a direct, positive impact on our users and in a smaller way on society
Also, not sure where in FAANG you had such wide scope. At FAANG either teams are mostly organized by business. For e.g. engineers working on Photos at Facebook, can't suddenly decide they want to work on implementing a feature for container orchestration at Facebook works.
Still, we like to speak of all these companies in the same breath, but I feel like unless you worked at a few of them, it's hard to say what the actual commonalities/differences are.
I didn't get that impression. OP sounds adaptable/flexible and is willing to work on whatever team needs the most help.
If they find a manager on the container orchestration team with open headcount who wants to hire them, there isn’t much that can stop them from moving.
The last sentence is factually incorrect. During my time at FB I contributed code to the container solution, the Jenkins-equivalent, the network routing layer, the bare-metal-provisioner, the monitoring solution and even wrote a feature for the website. I identified a problem, parlayed with the owning team, and shipped that feature. This was the best part IMO about working at FB.
The heads of the subdivisions of the company “own” their smaller units, and the units own the people. I think of it as feudal governance. “Sharing” people ultimately makes the overlord look weaker.