Software Engineer • Current Employee
Pros: Your experience will greatly differ depending on what team you join. The following only applies to my particular experience in a particular team.
Company-wide:
* Relaxed environment.
* Free food.
* Nice office.
* Good benefits.
* Paid volunteering opportunities.
* Free/discounted tickets for cool events.
* Good culture.
* People are generally nice and there are many talented employees that you can talk to for advice/discussion.
* Salary is slightly lower than other similar companies.
Team specific:
* Chance to experiment with new technologies.
* Open to feedback/new ideas.
* Decent workflow compared to many other teams, less legacy technologies. If you decide to join Bloomberg, do yourself a favour and choose a team that isn't stuck with development practices and technologies from 20 years ago.
Cons: Your experience will greatly differ depending on what team you join. The following only applies to my particular experience in a particular team.
Company-wide:
* Too many people are being hired without the required skillset. For example, many new developers with no previous C++ experience are trained on C++ for two weeks, then start writing production code. You can imagine the results.
* Legacy technology, legacy infrastructure. This varies from team to team, but in general, every technology used here is quite old and a pain to work with. Want to use a library from GitHub? Good luck. Bloomberg has its own potentially-incompatible C++ Standard Library implementation. Want to use C++14? Nope, ancient compilers are used to support obsolete architectures.
Team specific:
* Most of the work is not engaging or interesting and revolves around the implementation of business logic with no real algorithmic or performance challenge at all.
* You are encouraged to make the code "as simple as possible for new hires." Instead, hire people who know the language being used well.
* Working from home is a perk of the company, but I find it very hard to do without feeling like my manager is upset about it. I wish this were encouraged and easier to schedule as long as people are doing their job. When I'm writing a component, I don't need to be in the office. Just let me do my work and come to the office when it's beneficial to everyone.