Senior Software Engineer • Former Employee
Pros: 1. It's more like a high-tech company rather than a financial industry company.
2. The company is filled with brilliant people.
3. Generous compensations and good benefits, including cash bonuses and employee investment opportunities.
4. Good learning opportunities for technologies. Lots of company infrastructures are open to everyone; you just need to worry if you have enough time to learn.
5. Lots of daily office perks. Company parties are usually held in very prestigious locations.
6. Work/life balance is decent. In normal cases, core teams do not need to work long hours.
7. Many offices in the world. It's a good experience to visit offices in different countries.
Cons: 1. Very brutal competitions between trading teams. Trading teams trade similar products and use similar technologies. Talking between teams needs to be very careful.
2. Generally boring but demanding daily tasks. For a period of time, you will feel everything is new. After a while, it's easy to get bored with daily tasks. To improve competition, it's involved with shaving off a few CPU instructions in the fast path or improving prediction accuracies by a few percent.
3. Less opportunities for newcomers. The firm had a very good foundation of software infrastructures. It left very little room for improvement, so new projects are more related to bug fixes or tiny feature improvements.
4. Waste of top talents. After a few years, besides the bank accounts, those top talents spent their lives on pretty meaningless optimizations or tiny works. No real impacts are generated to the external world. In the long run, these feelings will come back and make you doubt your work, even life.
5. The firm favors new graduates from top universities too much. They only held campus interviews in five or six Ivy League or top tech universities. Sometimes, it will make regular joes uncomfortable working with so many top school talents.