Software Engineering Manager • Former Employee
Pros: This was my experience; your mileage may vary.
The Good
* Salary/Benefits: If you're from a non-tech company, they're most likely better. If you work at a different tech company, they're probably worse (Salesforce is very stingy with stock awards). There are too many benefits to use them all (it'd probably be much more worth it to get paid more).
* Unlimited PTO: You can take off whatever time you need/want as long as you're on top of your work.
* Remote work: Pretty awesome. No more commute; easier to concentrate/get things done.
* Being laid off/severance: Weird to say, but if you're going to get laid off, it's a good place to be laid off. Additionally, you won't have to deal with the new increased workload all your former coworkers are picking up (6 months' salary and paid health insurance).
* Excellent managers: There are a lot of fantastic managers/leaders who will advocate for you and your career.
* Coworkers: Lots of smart, interesting people that are fun to work with.
* Growth opportunities: Personally, I was promoted twice and was reimbursed for additional school.
* Reliable software: Secure software that is very reliable.
* Nice offices: While working remote is nice, visiting offices in person is typically a great experience.
Cons: The Bad
- Awful software. I know I said the software is reliable and secure (it is), but it's also terrible to use, complicated, and ugly as hell. Additionally, like a lot of big tech companies, their business model is to create an addictive ecosystem for customers that is very painful to leave. This leads to lots of terrible software products that are much worse than competitors, but they "add value" to the ecosystem.
- Dogfooding. While it is a good practice in general, it really sucks to use the software. It'd be much more productive to use alternative non-company software a lot of the time.
- Bureaucracy. I almost died laughing when I heard in an all-hands that "Salesforce has a very flat structure." Lots and lots and lots of bureaucracy, processes, approvals, etc., and if you don't know how to navigate it, you're paralyzed.
- Constant pivoting. Really, all you're going to be doing at work is pivoting. Very directionless and constantly changing to the next initiative/life-threatening priority before any progress was made on the previous one.
- Jargon. Insane amount of jargon. There's acronyms for everything (and acronyms of acronyms), and for some reason, people refuse to type out whole words.
- Security checks. Lots and lots and lots of security checks. While they do keep things secure, the trade-off is slowing down progress.
- Negative feedback. Everything in the company is negative: "Here's the list of people who have violations," as opposed to "Here's the list of who have completed work with zero violations."
- Worst product team I have ever worked with. (However, their group, like every Salesforce group, was absolutely overloaded way beyond capacity).
- While there are lots of good managers, occasionally you'll come across one who makes every situation they touch worse.
- There's an enormous amount of technical debt affecting the software that is constantly growing.
- Contractors. I'm not going to go in depth on conditions for contractors, but it's a common practice that all the big tech companies do to reduce costs.
- Automation hell. Very common to come across broken automation that runs hourly/daily/weekly, and it will email/message you to death.
- Worldwide workers. Late-night/early meetings with teams across the world; they're terrible and unproductive.
- Layoffs. They're frequent; don't be surprised when they happen.
The Ugly
- Purpose. The purpose of your job is to enrich billionaires/oligarchs. At the end of the day, this job boils down to getting more money/power for Benioff and company (his billions aren't enough, and it's your job to get him more!). There's a lot of BS values and "making the world a better place."
- Bad leadership. It's a very top-down leadership style place. Leaders make demands and don't take 'no' for an answer. It's not an environment where you can be successful; it's more of a "how can I minimize how much I lose" every quarter/release/project/etc. Leadership does everything they can to avoid leaving paper trails. Lots of gaslighting. I remember "wellbeing days" were created during the pandemic to deal with employee stress, and then later discontinued while being told how important wellbeing was, lol.
- Tech monolith. Really bad, really ugly tech stack. Also, it's constantly changing (new teams, frameworks, org shifts, priorities, etc.), and the expectation is that you simultaneously understand the big picture (which, by the way, doesn't affect you) and be an expert on your area. JK, you're also supposed to be an expert on the big picture (it's impossible). The tech stack has gotten so bad due to years of neglect, overworked employees, and overloaded teams.
- Stress. There's a tremendous amount of overwork, overcapacity, stress, etc. You'll very frequently come across individuals/teams/divisions that are way stressed out, and it'll rub off on you. A lot of employees fear using their unlimited PTO. If you aren't very healthy and diligent about dealing with stress, this environment will crush you, and you will burn out. Honestly, it's a really bad environment for mental health. You're always between a rock and a hard place on everything. There are always impossible expectations, and the reward for every accomplishment is more work assigned. Additionally, these impossible-to-achieve expectations lead to massaging the numbers/data to fit the expectations rather than hitting them naturally.
- Under promotion. I've witnessed a lot of promotion skipping or hiring individuals at a level below their current ability.