Senior Software Engineer - Communication Channels, Infrastructure & Reliability
New York, NY
Posted May 8, 2022 - Requisition No. 82275
About Communication Channels (CC):
The Communication Channels team builds email (MSG), instant message (IB), and other communication and collaboration products. These products are used by the Bloomberg community for real-time communication, such as exchanging price quotes, trade ideas, news, and other financial information. Our products deliver 2 Billion messages across millions of chat rooms per day and our user base constitutes one of the largest and most influential financial networks in the world.
About the Infrastructure and Reliability Team:
Our users count on these products’ real-time performance, massive scale & reliability. Given the criticality of our products to the daily workflow of the financial community, and the scale at which they are used, the Infrastructure and Reliability Engineering team is one of the most visible teams across Bloomberg. Our products are continuously evolving, and have experienced more than 100% growth in usage over the last year, which means we must have very high standards for reliability, stability, and scalability, with a deep understanding of distributed systems.
That's where you come in—you can help us to:
- Define standards & maintain libraries for monitoring, logging, distributed tracing, alarming, and provisioning across 100+ developers.
- Build software to monitor the health of IB and MSG systems via black-box health testing frameworks and other approaches.
- Bring best practices and consistency to our infrastructure.
- Improve the resiliency of our infrastructure through stress tests and chaos engineering.
- Standardize our performance and capacity planning environment to ensure our systems have room to grow as we continue adding features and users.
What’s in it for you:
- A critical part of our mission is fostering a culture of reliability across Engineering teams in CC – you’ll be able to make a significant impact on the design choices and decisions that go into developing MSG and IB infrastructure.
- This is an opportunity to forge your own path and drive the engineering culture forward; making our infrastructure best–in-class will be your main mission, so you’ll have many opportunities to create and implement your own improvements.
- You’ll be involved from design to deployment, to ensure our infrastructure is reliable, performant and scalable.
- We’ll send you to professional conferences and meetups to keep up with the technology space outside Bloomberg, and apply that knowledge to building and improving our processes and products.
Our projects include:
- Building downstream and upstream caller reports to quickly identify bottlenecks and dependencies of our system using Apache Spark and distributed tracing infrastructure.
- Creating black-box health testing frameworks to monitor the health of IB and MSG
- Establishing standards and building dashboards, libraries and tools for metric collection, visualization and alarming.
- Establishing procedures around scalability, failover, Service Level Objectives (SLOs), cluster provisioning, deployment strategies, etc. with the goal of improving the robustness of our infrastructure.
You’ll need to have:
- 3+ years of professional work experience in a software engineering role.
- Proven experience with at least one object oriented language, with preference towards C++, Python or Java.
- Demonstrated experience designing and implementing large scale distributed systems.
- BA, BS, MS, PhD in Computer Science, Engineering or related technology field.
We’d love to see:
- Experience with big data technologies like Apache Spark, Amazon S3, Kafka.
- Exposure to observability tools such as Graphite, Splunk, Humio & Distributed Tracing.
- Exposure to containers and orchestration frameworks like Docker and Kubernetes.
- A track record of open-source contributions.
Bloomberg is an equal opportunity employer, and we value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.