Taro Logo

A completely different experience, depending on the team

Software Engineer
Current Employee
Has worked at Citadel for 2 years
February 23, 2017
3.0
Doesn't RecommendNeutral OutlookNo CEO Opinion
Pros

Passionate employees who know their respective fields very well and work hard. Great compensation. Getting specific tech or tools to use isn't a problem (money-wise, anyway). Still, this depends on the team you're on. If you have a good boss (and boss's boss), you'll probably have a great experience. The challenges at the scale Citadel operates at are uniquely interesting, and they have some awesome solutions to some of these challenges. Great office, food, gym, perks like that. Generally good hiring culture (depending again on the team).

Cons

The worst siloing I've ever seen at a company. There are multiple bug tracking tools, code repository systems, wikis, and even chat/communication tools. It varies from department to department and team to team who uses what, making collaboration nearly impossible.

It is very difficult to make an impact on the tech since it is so spread out.

You could end up on a very siloed team with very little access to anything, and your boss expects you to work all the time, including nights and weekends.

Lots of teams want to just buy solutions and build their own spaghetti systems instead of leveraging what's already been built elsewhere (within Citadel and from the open-source community). Sometimes this isn't even really their fault; they just don't know what's out there.

Some of the code you'll find is comically bad because of deadlines, "not invented here" syndrome, and simply asking quants and traders to build software. This goes for use and abuse of databases and queuing technologies as well.

There is very little service-oriented architecture. Lots of monoliths. There is a poor understanding of basic software engineering concepts like fault tolerance, retrying I/O, and exception handling, etc.

Advice to Management
  • Set better company-wide work/life balance guidelines. Don't expect anyone to work nights and weekends all the time—that makes for unproductive workers and uninspired thinkers.

  • Build up a common tech stack that supports all modern languages and a few databases. Make sure every technologist can access and use the same codebase so there aren't a million reimplementations of the same things.

  • Embrace open-source technologies. Commit back to projects you can. This is huge.

  • Instead of trying to hire more people, let the people you already have form larger, cross-departmental groups so they can build a few, well-architected things instead of trying to build and manage many things on their own.

  • Let good engineers come together to build great systems over a long period of time instead of trying to rush a tiny team to build complicated, bespoke scripts.

Was this helpful?

Citadel Interview Experiences