Senior Software Engineer - Automated Disaster Recovery
Description & Requirements
The Team:
We are the Disaster Recovery as a Service engineering 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 Platform Services provides to the rest of the firm. We help to 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 standards. Manage and develop solutions that 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 clusters and managed services that reside in our datacenters and nodesites 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 product ownership and "the classic system ownership responsibilities" such as: system tuning, performance analysis, defining and following availability targets such as SLA’s, SLO’s and SLI’s as well as having immediate access to the experts that are designing and coding the Bloomberg specific components, APIs and methods used by and supporting the disaster recovery infrastructure. You’ll receive insight and entry to the lowest levels of how Bloomberg applications interact with each other and the runtime environments for the purposes of both in-depth troubleshooting and enhancing stability, reliability, performance and feature-set.
You'll need to have:
- 4+ years of experience in Python and/or TypeScript
- 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 designing stable, long-lasting APIs
- 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 proven methods for improvement
Experience with Chaos Engineering
Experience with Splunk/Humio and Grafana or other metric based reporting tools
Experience with GitHub and JIRA
Passion for product ownership, stability and security
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.
Accommodations
Bloomberg provides reasonable adjustment/accommodation to individuals with disabilities. Please tell us if you require a reasonable adjustment/accommodation to apply for a job. Examples of reasonable adjustment/accommodation include but are not limited to making a change to the application process or work procedures, providing documents in an alternate format or using specialized equipment. To request an adjustment/accommodation to apply for a job, please email [email protected] (Americas), [email protected] (Europe, the Middle East and Africa), or [email protected] (Asia-Pacific), based on the region you are submitting an application for. We may share your information with a third party provider of accommodations services who may use this information to reach out to you for the purposes of accommodating your application.
Equal Opportunity
Bloomberg is an equal opportunity employer and prohibits discrimination in employment. It is Bloomberg’s policy to provide equal opportunity and access for all persons, and the Company is committed to attracting, retaining, developing, and promoting the most qualified individuals without regard to 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, self-identified or perceived sex, sexual and other reproductive health decisions, parental or caring status, physical or mental disability, pregnancy, childbirth or related medical conditions, or parental leave, protected veteran status, status as a victim of domestic violence, or any other classification protected by applicable law (each, a “Protected Characteristic”). Bloomberg prohibits treating applicants or employees less favorably in connection with the terms and conditions of employment, in all phases of the employment process, because of one or more Protected Characteristics.
How to Get Hired at Bloomberg
- Apply through bloomberg.avature.net/careers — Bloomberg's Avature-powered career portal. Review job descriptions carefully and tailor each application to the specific team and role, since Bloomberg's Talent Acquisition team reviews every application personally.
- Bloomberg's hiring process typically takes 3 to 7 weeks for engineering roles and averages 23 days overall. Expect: application, assessments (role-dependent), recruiter screen, technical phone screen (engineering), and 3-4 on-site interview rounds.
How well do you match this role?
Check My ResumeBefore you apply
Most resumes are rejected by ATS software before a human sees them. Check yours in 30 seconds — free, no signup.