Senior Software Engineer/SRE - Automated Disaster Recovery
New York, NY
Posted Dec 13, 2022 - Requisition No. 111177
We are the Data and Runtime Stability DR team, charged to administer the end-to-end testing of Bloomberg's datacenters for disaster recovery scenarios of numerous services which support applications that constitute Bloomberg’s line of products! On any given day we're inventing, engineering, developing, building, coding, trouble-shooting and maintaining a wide range of: tools, monitors, frameworks, interfaces, protocols, solutions and best-practices. These components stitch together a robust suite of automated and self-healing systems that manage the services that Data and Runtime provides to the rest of the firm. We improve uptime, provision and balance resources, architect and coordinate operational procedures, administer backup and recovery processes, coordinate maintenance windows, manage replication and oversee workflows.
What's in it for you:
You will be part of a team that works to help meet company and regulatory defined Disaster Testing scenarios. Manages and supports solutions to support various disaster recovery tools, creating these applications to integrate the services they provide into the Bloomberg operational environment as well as Bloomberg products. This in-house tooling suite is required to test our datacenters in an automated, scale-able and self driven fashion, complete with accompanying metrics and transparency tools that would be required for internal and external clients. Tooling is expected to be written with end-to-end unit testing and continuous integration to provide the highest level of stability.
We have high-level-ownership and "the classic SRE responsibilities" such as: system tuning, performance analysis and the management of patches, installations, and upgrades; you'll also have immediate access to the experts that are designing and coding the Bloomberg specific components, APIs and methods. This means insight and entry to the lowest levels of how Bloomberg applications interact with each other and the Runtime environment for the purposes of both in-depth troubleshooting and enhancing stability, reliability, performance and feature-set.
You need to have:
- 4+ years of programming experience with an object-oriented programming language (Python)
- A degree in Computer Science, Engineering or similar field of study or equivalent work experience
- 5+ years experience with Unix, Unix tools and shell scripting
- Experience with Chaos Engineering
- Deep understanding of TCP/IP networking and the OSI model
- Experience designing and automating repeatable processes in a client/server modeled environment
- Ability to build and maintain highly sophisticated, available, performant, and scalable, critically important systems
- Experience building monitors and alarms for system performance, status and stability
- Experience with CI/CD systems and writing robust unit and system tests
We'd love to see:
- Basic knowledge in Rapid framework
- Experience analyzing existing systems and identifying shortcomings with concrete ideas for improvement
- C programming skills
- Experience designing stable, long-lasting APIs
- Experience with Splunk/Humio and Grafana
- Experience with GitHub and JIRA
- Passion for product ownership
Interviewing with us:
We believe interviewing is a two way street. It's a way for us to get to know you and your skills, and also a way for you to learn more about the team, our technical challenges, and what you'd be working on. The content of each interview round will be tailored to the role and your background, but the general framework can be found here: https://www.bloomberg.com/careers/technology/engineering/software-engineering-experienced-hire
We want to ensure you can put your best foot forward throughout the process, so if you have any questions or need any accommodations to be successful, please let us know!
We have a lot of opportunities to choose from in Engineering, and it is important to us that your skills and experience aligns best with the team you are interviewing with. To help ensure you are placed on the right team, your application will be considered for all of our current vacancies in Engineering at the first stage of the interview process.
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 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
The referenced salary range is based on the Company's good faith belief at the time of posting. Actual compensation may vary based on factors such as geographic location, work experience, market conditions, education/training and skill level.We offer one of the most comprehensive and generous benefits plans available and offer a range of total rewards that may include merit increases, incentive compensation [Exempt roles only], paid holidays, paid time off, medical, dental, vision, short and long term disability benefits, 401(k) +match, life insurance, and various wellness programs, among others. The Company does not provide benefits directly to contingent workers/contractors and interns.
Salary Range: 160,000 - 240,000 USD Annually + Benefits + Bonus