Senior Software Engineer - Data Processing Pipeline

Careers at Bloomberg

Princeton, NJ

Posted May 24, 2018 - Requisition No. 65510

We’re looking for talented software engineers with strength in SRE (Site Reliability Engineering) to help design, enhance, and evolve a number of widely used services and platforms. A community of over 3,000 data analysts across many business domains rely on data processing pipelines we support. From build integration through coding best practices to deployment automation, we’re constantly searching for platform improvements to make it resilient, efficient, and scalable. The data processing pipeline consists of a number of subsystems (both home-grown and acquired), whose engineering teams you will collaborate with closely.

As an engineer in Data Technologies, you’ll be responsible for the systems that onboard all the referential data that drive Bloomberg's applications and enterprise systems. As our clients are shifting more and more to rely on machines to interpret data and drive insights, we are utilizing cutting edge technologies to deliver unparalleled data quality. By joining Data Technologies, you will help us improve the accuracy, coverage, timeliness, and accessibility of our data to service our clients across all of Bloomberg's products. Learn more about the Data Technologies teams at Princeton here:

You will be asked to:

  • Establish yourself as principal advocate of the platform, setting the guidelines of usage, monitor and enforce them
  • Build plugins, services, and other components to meet the challenges of providing robust platform to the users
  • Maintain the robustness of the system by proactively improving as well as troubleshooting problems
  • Identify the needs from both business and technical perspectives, design robust solutions, and execute them while working with members of other engineering teams

You’ll need to have:

  • A passion for automation- you want to take manual processes and replace them with automated ones wherever you find them.
  • An understanding of what makes a service robust- resilient, scalable, performant, and efficient. In addition, you understand how to define and gather metrics to ensure that that services you built are robust
  • 3+ years of coding experience in a variety of languages- Python, Shell (ksh or bash), Java, Groovy, Perl, etc, and interest in learning new tools and languages
  • Systematic problem-solving methodology with a sense of ownership
  • Working knowledge of a UNIX-like environment (mostly Linux) and network fundamentals
  • Experience with troubleshooting system software and performance problems

We'd love to see:

  • Tech diversity- experience with a range of interesting technologies you can talk passionately about
  • Intellectual curiosity- uou want to investigate matters in depth, learning new concepts and techniques as you go
  • Design thinking- you want to design large-scale distributed systems with a clear purpose
  • Clarity of thought- you have the ability to communicate clearly and in technical depth, both verbally and in writing, and an enthusiasm for improving and simplifying documentation
Similar jobs