Senior Software Engineer- Bloomberg Application Services (BAS)
New York, NY
Posted Apr 18, 2022 - Requisition No. 102617
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 fields. 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 standard methodologies 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 well-adapted 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 multiple programming languages in one day. You enjoy diagnosing and solving complicated software build and debug problems, for yourself and others on the team, quickly and optimally. 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
We'd love to see (Pluses):- Experience working with large, complex systems under continuous use
- Experience with build and test frameworks, such as cmake, ninja, GTest
- 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 subject areas 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
Bloomberg is an equal opportunity employer, and we value diversity at our company. We do not discriminate on the basis of age, ancestry, color, gender identity or expression, genetic predisposition or carrier status, marital status, national or ethnic origin, race, religion or belief, sex, sexual orientation, sexual and other reproductive health decisions, parental or caring status, physical or mental disability, pregnancy or maternity/parental leave, protected veteran status, status as a victim of domestic violence, or any other classification protected by applicable law.
Bloomberg is a disability inclusive employer. Please let us know if you require any reasonable adjustments to be made for the recruitment process. If you would prefer to discuss this confidentially, please email firstname.lastname@example.org