This post is inspired by the question of a friend who is looking for the next challenge. He is interviewing with a few big companies and was interested to learn about my experience with Salesforce and Microsoft. Rather than giving a blanket answer, I realized there are insights that could help a broader group of people. My network of friends and acquaintances covers most big engineering companies. Additionally, I get to have friendly coffee conversations with people applying for my open positions. In this post, I cross-referenced personal experience with online observations and information learned from job seekers to distill generalizations about each company. I hope you find these insights useful when deciding where to go next.
Keep in mind…
To make this information help rather than hurt your decision I have to qualify a few things.
- No one company is inherently evil or substantially better than the other.
- Companies covered by this post are large organizations with tens of thousands of employees and hundreds of teams. One team is not like the other and a lot depends on the manager, business area and product maturity.
- Observations in this article suffer a survivor bias. Opinions are obtained from people who want to leave the company. Very few inputs are taken from people who want to stay.
One last thing…
I realize this article will be read by avid fans of each of the companies in question. It would be naive of me not to expect to hurt a few feelings and egos along the way. If I hurt your feelings, muscle-up buttercup. Everyone is entitled to an opinion.
Let’s start with the most obvious question that typically concerns junior engineers. Who pays the most? If we sort companies from left to right in ascending amount of compensation we will get the sequence below.
All of these companies have good compensation packages that include cash and stocks. And it is not true that everyone working for Oracle gets more money than AWS employees. However, if we look at overall compensation trends, Microsoft tends to pay less and Facebook pays more. In some cases, Facebook pays a lot more, to the point of me questioning their hiring panel competence.
Oracle seems to throw money at any breathing body in order to cover expedite building their cloud business. However, they do not renew stock awards in subsequent years as vigorously so people feel that their income is going down over time.
Think of Microsoft as a good benchmark for how much your skills are really worth on the market, as evaluated by seasoned engineers. Other companies are willing to pay a premium on top. Starting at Principal level and above, Microsoft can splurge as well so the equation shifts in Microsoft favor.
When we join these big companies we feel like we scored big time. We are full of emotions and excitement for future opportunities. However, some companies tend to bring the hammer of reality on our heads faster than the other. Lets sort companies from least sustainable to most sustainable.
Amazon has a high attrition rate, meaning people leave the company often. However they also hire a lot, so, overall it is less visible. However, Amazon is a results-oriented company, and the only thing that matters is that you deliver, alive or dead. The average career span of an engineer at Amazon is 1 year. People join, burn-out and leave. Those that stay longer, complain about the crushing weight of service support cost.
Google is a great company with many perks, most of them designed to keep you focused on the job. Google also has a lot of service support around. The distinctive traits of Google are political middle management and an abundance of smart engineers, which makes them all compete for the place under the sun, so to speak. Having said that, people that join Google from Amazon go through the withdrawal period not believing that it is possible to have a more balanced work/life equation.
Microsoft makes an honest effort to maintain balance between work and life, especially in services (like Azure). It doesn’t have much politics in first few layers of management, at least.
Salesforce is the most sustainable and “happy place on Earth” kind of company. Employees work reasonable hours, encouraged to take time off to volunteer and are encouraged to explore opportunities within the company before looking outside. Many people work for Salesforce for a long time and are genuinely happy.
If you are a kid who wants to create completely new things from scratch, push the boundaries of what’s deemed possible, I have a company line up for you as well. If we sort companies from least innovative to most innovative we get the sequence below.
If you want to build cool tech, you should be part of AWS, Google or Microsoft. These companies are innovating (in the true meaning of the word) in multiple markets. AWS is building new cloud services (like Aurora, Fargate, DocumentDB, etc.). Google is pushing in Search, ads, Chrome, Android and Cloud and Enterprise. Microsoft is expanding Azure quite heavily with Azure Arc, Synapse analytics, etc. Microsoft is also a thought leader in hardware design (think the Surface line of products).
One interesting point to note about Google innovation is that it is “hard to ship”. Engineers enjoy working on cool ideas but they find it increasingly difficult to ship them to customers.
Salesforce innovates through the integration of different systems to solve business problems. The kinds of problems Salesforce is solving would not immediately excite the young generation, but will likely make big enterprise customers jump out of their pants. You are unlikely to see a new encryption algorithm or a low powered chip to be developed by Salesforce.
Oracle is building a cloud infrastructure by hiring smart engineers from Microsoft, Google, and AWS. Oracle made a pivotal decision about a decade ago to not pursue the cloud business. When they realized a mistake they’d lost a decade. I am worried they may never catch up to Microsoft and AWS. I’d rank them higher than Salesforce for trying to innovate in the foundational cloud layer.
We, humans. thrive in an environment where we belong. We do our best when we are surrounded by support and appreciation. All tech companies aspire to be the best place for diverse employees, but not all of them nailed it yet. If we sort companies from least welcoming to most welcoming we would get the order below.
Let’s talk about extremes. Google has the least welcoming culture. The company hires top of the top talent and until you prove yourself – you are not worth the attention. Everyone pulls the rug in his or her direction. Some teams give new hires time to ramp-up before full cultural immersion. Some people appreciate strong engineering culture and data-driven decision making at Google and would not agree with this description of the culture.
Salesforce is the most welcoming company. Everyone who joins becomes an equal part of “Ohana”. Any acts that make anyone feel unsafe or vulnerable are strictly reprimanded. People make a genuine effort to collaborate with each other and contribute to a common cause.
Microsoft is a culturally healthy place but there is a decent amount of “the loudest voice in the room gets the credit”. The company would not tolerate bullying or intimidation of any sort towards employees. People who leave Microsoft usually are looking for a bump in their careers.
Amazon has a culture of “you fit in as long as you deliver”. There isn’t much emphasis on personality, results matter. Amazon is also known for rapid firing, just like they do rapid hiring.
Facebook has grown from a startup into a large organization rapidly and people feel less connected to the cause and to their leadership. It is common to hear that people leaving the company feel isolated, even though they work right next to their peers.
There is no one perfect company. They all have their strengths and weaknesses. Please remember that leadership of all companies wants them to succeed and they will likely evolve over time. Perhaps, you will join one of these companies and will lead that transformation.
For the time being, I’d recommend picking top 1 aspect that you care the most about and joining the company that delivers. Everything else – you have to beg, borrow or fight for.