Senior Software Engineer- BAS Infrastructure | New York, NY | Bloomberg Careers

Senior Software Engineer- BAS Infrastructure

Careers at Bloomberg

Back to Search

New York, NY

Posted May 24, 2021 - Requisition No. 90966

Our Team:

 Bloomberg Application Services (BAS) is the core microservice framework powering the backend of virtually all Bloomberg products and services, responsible for reliably handling billions of dollars of transactions daily. The BAS network services over 5 million requests per second across thousands of applications and tens of thousands of machines on our global network. We provide a stable, fault-tolerant, scalable architecture with flexible routing rules and support for enterprise security and monitoring capabilities used for developing services by over 6,000 Bloomberg software engineers!

BAS is a global group of software professionals composed of several teams based primarily out of NYC and London, each handling responsibility for different aspects of BAS software development. BAS Infrastructure is uniquely positioned at the intersection of traditional software engineering, DevX, and SRE disciplines. We use a combination of open-source and proprietary technologies to provide internal support to the BAS organization as well as the global Bloomberg developer community for building and deploying reliable software quickly and safely, with a wide domain of expertise and support applied to:

  • Building core high-performance software infrastructure components, used across all BAS services
  • Building analytics and observability frameworks, for tracking the performance and health of the BAS services at the individual machine level and overall health across all global stages of deployment
  • Building core testing infrastructure components, for providing a world-class automated testing environment for our BAS developers, including unit testing, regression testing, and performance testing
  • Building and supporting our automated Continuous Integration framework, with an extensive suite of automated verification testing and static analysis tools
  • Building and supporting our production Continuous Deployment framework, supporting multiple operating systems and cloud-based environments
  • Building software SDK packages for other teams to write software using the BAS framework
  • Building and supporting tools for efficient local development work
  • Support for many production computer language and deployment environments (C++, python, docker, ruby, chef, github, Jenkins/groovy, cmake, Typescript, powershell, among many others)

We work in a collaborative environment, with daily stand-ups and clear inclusive communication. Our team is well adapted to both in-person and remote working. Our biweekly sprints are planned as a group, all team members are included and everyone’s opinion is heard. We follow industry-wide best practices for software development including in-depth code reviews, consensus-based decision making, engineering discipline, and top notch standards for writing code. We have a strong culture of mentorship and professional growth within the team. The BAS team is associated with many of Bloomberg's collaborative efforts, with many of us involved in the C++ Guild (an internal meetup group), automation and testing guild, reliability guild, as well as conferences and external organizations such as ISO C++ Standardization. We also have relationships with many other infrastructure teams across Bloomberg and numerous open-source projects used at all levels of our software development and deployment stack.

Who we are looking for:

We are looking for experienced disciplined software professionals with an eye for detail and an interest in working with many different unique technologies in our collaborative environment. You bring a strong understanding of working with highly multi-threaded and asynchronous programming environments. You are excited about the prospect of working with three, four, or even five programming languages in one day. You have the ability to approach a new technology in the morning that you’ve never worked with before, and become an expert with it by that afternoon. You enjoy diagnosing and solving complicated software build and debug problems, for yourself and others on the team, quickly and successfully. You enjoy writing code and performing advanced system administration tasks on many operating system platforms. You understand how to make changes to a live production system safely and responsibly, without causing any impact on the end users. You enjoy mentoring and sharing your knowledge with others. You communicate clearly and effectively and share our values toward software development and professional collaboration.

We currently have a need for someone to help us with the following projects:

 - Creating a new monitoring infrastructure framework for BAS software, writing code, analyzing metrics, creating new alert rules and monitoring dashboards, transitioning from legacy measurements

  • Enhancing our Continuous Development and health-check frameworks, adding support for more platforms, and using analytics to improve reliability of automated deployments
  • Improving our software build architecture, enabling deeper integration and support for other platforms and environments

You'll need to have:

 - 3+ years programming in C++ and/or Python

  • An understanding of object-oriented design, data structures, multi-threading, and algorithms
  • An aptitude for analytical problem solving
  • BA, BS, MS, PhD in Computer Science, Electrical Engineering or related technology field

We'd love to see:

 - Experience working with large, complex systems under continuous use

  • Experience with build and test frameworks, such as cmake, ninja, GTest
  • Experience in a variety of programming languages such as JavaScript, Groovy, Ruby, PowerShell, or other scripting languages
  • Experience with Continuous Integration systems such as Jenkins
  • Experience working with Linux/UNIX and/or Windows system administration and programming
  • Experience with system management and container technologies, such as Docker, Kubernetes, chef, salt
  • Interest in engineering disciplines such as migrations, planning, post-mortem analysis, and system design
  • Ability to critically assess and plan software changes and roll-outs
  • Exposure to multiple phases of the software development life-cycle

If this sounds like you, please apply or contact {FON Arundhati Kogekar} or our recruiter {FON Justine Bellew} for more information!

Bloomberg is an equal opportunities 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.

Similar jobs

    The Bloomberg Talent Network

    Stay connected with us and be among the first to learn about new job opportunities. We’ll use the information you provide to help us get in touch with you to align your expertise with our opportunities and better direct our conversations.