Taro Logo

Solid company with a solid product, bogged down by bureaucracy

Senior Software Engineer
Current Employee
Has worked at Veeva Systems for 2 years
September 5, 2025
4.0
RecommendsPositive OutlookApproves of CEO
Pros

Due to the nature of making software for the medical/pharmaceutical industry, the standards for the product are very high. This can be both a pro and a con: a pro because you get an interesting challenge to meet, but a con because this can be a source of stress.

Very good job security. Even when lots of other tech companies were experiencing mass layoffs, Veeva not only stayed steady but was even actively hiring. The company seems well-poised to withstand economic downturns.

The company has great values, and as far as I can tell, it seems to do a very good job of living out those values. One that I can highlight here is customer success. The company really genuinely seems to care about their customers' experiences of the product. A lot of thought gets put into product decisions to ensure that the new features we develop will help our customers (not just make us money).

No micromanagement. I noticed that a lot of negative reviews have mentioned micromanagement, but I have not found this to be the case at all. My manager is very hands-off and trusts us to get our work done (but is still available if we need assistance with unblocking stuff). This may be dependent on your manager; other managers may be more prone to micromanagement. That said though, one could certainly make a case that there's micromanagement from the upper management level (more on this in the Cons section).

Friendly, knowledgeable coworkers.

I like the way that they handle performance reviews. It feels a bit more informal/casual than at most other companies. There's no annoying lead-up to it; no work from the employee's end is needed ahead of time like I've experienced at some other tech companies.

The CEO seems very likeable. I've never interacted with him directly, and he is not perfect, but he comes across as genuine and thoughtful whenever I hear him speak.

The company often gives an entire week off around Christmas/New Years, which is extremely generous.

Cons
  • Micromanagement from upper management: At some point a few years ago, upper management decided that all teams would need to meet daily at 9am and Tuesdays/Thursdays at 4:30pm. These meetings can often feel like a waste of time that is just designed to force WFH to be sitting at their desks working at both the beginning and end of the day. It feels like upper management is making us waste our time because they do not trust us to not abuse remote work.

  • Personally, the system that is in place for local development, and deploying and testing your changes, drives me crazy. Instead of running the app on your local machine, you run it on a cloud-based system. This might sound nice at first since the app won't take up your local machine's resources, but the problem is that your debugger will be extremely slow when trying to debug the software, because it has to talk back and forth between the IDE and the running app. When the IDE is running locally and the app is running on a cloud server far away, this introduces a ton of latency, and makes certain debugging features that I used to take for granted become basically unusable.

For example, conditional breakpoints are basically unusable at Veeva, because they slow down the system so much with this cloud-based approach (unless you put a conditional breakpoint somewhere that only rarely gets hit, but this greatly diminishes the utility of conditional breakpoints). In general, there's just a ton of sitting and waiting for things to load when you're debugging here. It's hard to maintain focus when you have to wait a minute for the stacktrace to load so you can copy it over, or you're trying to expand out a map to see what's inside it and you have to wait 30 seconds for the entries to load. I don't know how other people put up with this.

What really grinds my gears is that this cloud-based system of course costs the company money, to have all these different cloud servers running the app, so they add all these other restrictions to the system too. Like if you haven't touched your app in x amount of minutes, a bot will automatically shut the server down, forcing you to start it up again, which takes time waiting for it to start up.

There's this guy whose job it seems to be to let everyone know how much we're costing the company by being "wasteful" with our handling of the cloud servers (e.g., by not shutting them down immediately every time we're done using them), and he periodically posts messages chiding us for how much money we're costing the company. I get so aggravated when I read these messages, because I want to reply saying that if the company would just support local development, then I would be costing the company approximately $0 because I would almost never use the cloud-based system. But no, I've been forced onto the cloud-based system, which makes things much slower and more of a hassle for me, and costs the company money to run the cloud server.

The machine I was issued is plenty powerful enough to run the app alongside an IDE, browser, and whatever else I need, so there really seems to be no reason why they can't support local development. I think at some point they just decided it wasn't worth it because the cloud-based approach was believed to be superior.

  • This is somewhat similar to the above, but the development experience on Windows is horrible. When you first hire on, you're given the option to choose between Windows and Mac. But the development experience was clearly optimized for Mac, and Windows was an afterthought. A lot of Windows users that I know switched to Mac because the development experience was so painful.

For example, when I set up my IDE according to the company's recommended way of setting up my IDE on Windows, the IDE would literally crash multiple times a day. Sometimes I would actually lose work, too, because it was actually still letting me type stuff into the IDE for some time after it "crashed", and it took some time for the UI to realize that it had crashed. So anything I typed into the UI in that window of time would be lost.

I eventually had to set it up in a different way than the way they recommended, but it makes me wonder how this is still recommended because I know I'm not the only one who experienced these frequent crashes.

  • Some weirdness in the interview process that turned me off of Veeva and almost made me reconsider/reject the offer after I had previously been eager to start here. For example, one of the interviewers asked me about my childhood, which I thought was a completely inappropriate question for a professional interview. This wasn't meant as idle small talk either, but was actually one of the interview questions to help decide whether or not to hire me.

Then, after I was told that they would extend me a job offer, it took them so long afterward to formally send me the job offer that I actually started interviewing with other companies, and when I finally got to the point where I thought that I was going to get my formal written offer from Veeva, they refused to send me the written offer until I verbally told them that I would accept it first. I have never seen another company do something like this before.

  • Due to the nature of being in the medical/pharmaceutical industry, there can sometimes be a lot of annoying red tape surrounding certain processes, in order to be industry-compliant.
Advice to Management

I would appreciate it if you could be more trusting of your remote employees. It feels a bit weird to me that Veeva advertises itself to prospective employees by making such a big deal about being remote-friendly, but then once you start working here, the message from upper management seems to be that we don't trust our remote employees to be working when they should.

I actually got pretty offended by the "hard-working company" shtick that you put out recently, because what it implied to me, again, is a lack of trust. The reason you have to say we're a hard-working company is because you don't think that we are working hard. Ironically, hearing this actually tanked my morale somewhat and made me work less hard, not more hard.

Additional Ratings

Work/Life Balance
4.0
Culture and Values
5.0
Diversity, Equity, and Inclusion
3.0
Career Opportunities
4.0
Compensation and Benefits
4.0
Senior Management
3.0

Was this helpful?

Veeva Systems Interview Experiences