I don't know much about consulting, so I wanted to ask some of the more knowledgeable folks here. Are there companies out there that would need consulting services for things related to microservice resilience, load shedding/balancing, and/or other things that fall under the L7/RPC networking umbrella? Think along the lines of retry storm prevention, fair rate-limiting, etc. "Backpressure stuff".<p>I've run across so many of the same problems at various unicorn/FAANG companies and as I've become more experienced I'm curious if there's a way to leverage this experience other than continuing to be a "staff+ engineer" at another Facebook/Uber/Snap/etc.<p>Thanks in advance for any advice/comments.
Interesting question. Here is my take (I have both a consulting and infra/data background):<p>* Yes, many companies need the help.<p>* However, they typically (not necessarily unfairly) have a dim view of consulting/consultants.<p>* They can't (or won't) prioritize stopping or slowing down feature development to make the infrastructure changes that will lead to significant improvement. Often the potential solutions are actually either known or obvious already.<p>* In systems of appreciable complexity, it can take a significant amount of time for a consultant to examine all the moving parts to come up with a good/reasonable set of recommendations.<p>* So, as a result, consultants are often only brought in when things have deteriorated to an extent where it really hard to help. One other case is upon change of control (company is sold or acquired); this might be a better point to implement change.<p>* Lastly, knowing what needs to be done is one thing; actually implementing the necessary changes "on the fly" is actually the hard(er) thing. Often the company's team just don't have the skills to do that. Accordingly the best results are often when you can bring in a team to both consult and help the team through the implementation/changes.