Software Engineering

Senior Software Engineer - Crowdsourcing Technologies

 
Bloom731-lexington-office.jpg
 

Senior Software Engineer - Crowdsourcing Technologies

Company: Bloomberg LP

Location: Princeton, NJ

APPLY BELOW

The Data Technologies Web Services team provides web-based solutions to facilitate the acquisition of new data streams from outside parties into the Bloomberg ecosystem. Our solutions include full end-client applications, such as OpenFIGI.com and lei.bloomberg.com, web application tools such as Annex, and crowdsourcing solutions that the team maintains and is continually improving.

What is crowdsourcing? Crowdsourcing is the practice of utilizing a large group of people to accomplish a task by disseminating micro tasks, typically via an online platform. Bloomberg utilizes both public crowdsourcing platforms such as Figure Eight, as well as its own platform called GIGWork. These platforms enable gathering data, confirmation of data accuracy, and collecting truth data.

As more and more teams throughout Bloomberg Engineering begin utilizing machine learning, the need for high quality truth data, and systems to obtain that data, have never been higher. Our platform, GIGWork, is in a unique position to meet this need, therefore critical to the machine learning efforts of our firm.

We are looking for a strong Software Engineer that has a real passion for application development and a strong desire to build infrastructure that will help bring Bloomberg’s machine learning efforts to the next level. If the below sounds like you, please apply below!

In this role, you can expect to work on the following:

  • Integration of active learning

  • Creating a streamlined integration with the Data Science platform

  • Building support for more sophisticated workflows

  • Seamless integration of annotation tools

  • Collecting worker statistics

  • And much more!

We’ll trust you to:

  • Design, implement and own critical applications and components of our services stack

  • Participate in the full SDLC of various components and systems that are required to be robust and scalable

  • Get to know engineering and data teams across Bloomberg, understand their application requirements and data access patterns

  • Understand the needs of Data Scientists and Machine Learning engineers and how those needs translate to functional enhancements to the platform

You’ll need to have:

  • Extensive experience with Python in Unix/Linux environment

  • Excellent problem solving and communication skills, and ability to thrive in a highly collaborative and dynamic work environment

  • Significant experience with Machine Learning

  • Significant experience with JavaScript

  • BA, BS, MS, PhD in Computer Science, Engineering or related technology field

Senior Software Engineer - Developer Experience

 
 

Senior Software Engineer - Developer Experience

Location: New York, NY

Company: Bloomberg LP

 

APPLY BELOW

Bloomberg's developer experience team empowers 5000 engineers globally to reach their maximum productivity. The work we do helps engineers deliver software that underpins the entire financial industry. Bloomberg leverages more tools and open source technologies every year, and our team is expanding to ensure engineers here are well-equipped to take advantage of those tools. That’s where you come in.

You are passionate about build systems that can manage a large-scale, multi-language codebase. You are interested in building tools that can prevent complex bugs and keep our code clean. You are ready to help build the next generation of intelligent analysis tools to perform bug detection and smart code refactoring. You want to provide an end-to-end build and deployment platform where pull requests are streamlined into a modern and dynamic integration.

Read on to learn more about our teams and what we're looking for. You can express interest in particular teams in your application.

1. Build System

Our team develops and maintains the system that Bloomberg engineers use to build the terminal software used by over 300 thousand clients every day. This system comprises proprietary components as well as off-the-shelf tooling for a diverse set of platforms. C/C++ are continuously integrated and deployed daily alongside Python, Haskell, and other third party tooling integrated into Bloomberg.

We'll trust you to:

  •  Design and improve protocols that help our engineers build and test code
  •  Collaborate with engineers to debug and diagnose compiler or operating system bugs and issues
  •  Research and prototype new build platforms as well as operating systems and compiler options
  •  Work with a wide range of technologies, ranging from source control (git, subversion) all the way to databases (postgres, sqlite)

You will need to have:

  •  An interest in a wide variety of languages (Python, Javascript, Kotlin, Scala, Haskell etc.) including an intimate knowledge of a compiled language (C++/C)
  •  Strong development skills with at least one scripting language, preferably Python
  •  Understanding and familiarity with compiler toolchains such as gcc or clang
  •  Familiarity with build systems such as autotools, CMake, Bazel, or Pants is a plus

2. Deployment Platform

You’ll be part of the team who leads the transition from a manual deployment model to introducing CI/CD to the company. You can balance a long term vision of where we want to go with the short term goals of delivering incremental solutions to challenges users are facing today. You’ll also act as an incubator for technologies that go on to be used by the rest of the company, giving you the opportunity to try and work with new open source technologies.

We’ll trust you to:

  •  Develop and maintain deployment functionality for our engineers
  •  Continue advancing technical quality by researching and leveraging industry-standard solutions and open-source projects
  •  Provide guidance on best practices for a CI/CD workflow.
  •  Listen to our users

You will need to have:

  •  Experience with Unix/Linux with strong problem solving skills
  •  Experience with Go and container technologies
  •  Any experience with microservices and distributed systems is a plus

3. Development Workflow

We are a team of technologists, engineers, evangelists, and trainers helping our engineers deliver their best work. We are not afraid to make large investments to build our own continuous integration and development solutions, covering all stages of development. We work with Phabricator, Jenkins, Debian Package, GitHub Enterprise, Coverity, Jira, Confluence and anything that fills gaps and joins them together. You will not only help thousands of developers inside the company, but you’ll also join a global community of engineers leveraging open source technologies.

We'll trust you to:

  •  Develop software which will help standardize development workflow across the entire organization
  •  Research the latest methodologies in CI/CD
  •  Engage with Developers across the firm to design & develop CI/CD tools ?

You will need to have:

  •  Development experience in Unix/Linux
  •  Experience with technologies like Java 8, Kafka, Node, REST, Python and platforms including GitHub Enterprise, Jenkins, SonarQube
  •  Familiarity with technologies such as Postgres, Hibernate, Vue.JS, GraphQL ?

4. Automated Refactoring and Analysis

We are working with our diverse developer community in improving the overall state of the quality of the code. This is done via the adoption of off-the-shelf Static Analysis tools as well as the development of customized tools based on Clang and Camfort. We not only report on issues for the developers to fix, but whenever the fix is a formulaic code change we also produce a tool to automate that change.

We'll trust you to:

  •  Evaluate and implement off-the-shelf static analysis tools, by working directly with our application teams
  •  Write tools that will automatically perform changes in C and C++ code by using the Clang Libtooling AP
  •  Write tools that will automatically perform changes in Fortran code by using the Camfort API
  •  Work with our developer community on adopting Best Practices in terms of code design and general architecture guidelines

You will need to have:

  •  Experience in C/C++ as well as some interpreted language, such as Python
  •  Understanding of build tools, such as CMake
  •  We'd love to see experience with Haskell or other functional languages, clang libtooling API, or writing grammars and parsers

Senior Software Engineer – Communication Systems

 
bloombergofficespace.jpg
 

Senior Software Engineer – Communication Systems

Location: New York, NY

 

 

APPLY HERE

Our product is the foundation of Bloomberg's premier reputation and client experience. We build the technology that allows Bloomberg representatives to answer client questions in an unparalleled fashion, and also helps quickly detect and diagnose issues in our product. Leveraging client intelligence gained from years of incoming questions, our tools are able to react in real time to incoming client chats and phone calls. Our group’s work empowers the Bloomberg Analytics desk, or HELP HELP service, which enables our 300,000+ clients to connect in real time and get their questions answered accurately and efficiently. We also provide tools that help our engineers to be easily notified about any issues within our product, and then communicate effectively about these issues across the various departments in the company. If you believe scalability, performance and reliability are a given, then we want you on our team.

If you love owning the product throughout the entire development cycle, we’d love to hear more about how you’ve been successful doing so in a collaborative environment. If you are passionate about your work, embrace changing business priorities and enjoy consistently delivering on exciting projects, you will enjoy working here.

We’ll trust you to have:

  •  2+ years of experience programming in Object Oriented Programming
  •  A passion for design, problem solving, and hands-on development
  •  Demonstrated knowledge of object-oriented design, data structures, systems, and applications programming
  •  Good communication skills

We'd love to see:

  •  Knowledge of JavaScript, Python, and SQL Databases (SQL Server, PostgreSQL)
  •  Experience working with open source technologies such as REDIS, Ignite, or RabbitMQ
  •  Experience shipping high-profile user-facing products, working with large code bases, and engineering features for security, scalability, and high availability
  •  Knowledge of multithreading programming
  •  An understanding of the design, implementation, and deployment of high performance, large-scale applications in a distributed environment
  •  An interest in the latest technologies, industry practices, research, and trends

Senior Software Engineer – Fixed Income Core

 
Bloom731-lexington-office.jpg
 

Senior Software Engineer – Fixed Income Core

Company: Bloomberg LP

Location: New York City

 

APPLY HERE

We deliver a single integrated platform to support our client's complete workflow, from analysis to idea generation, in arguably the world's most important capital market. This includes tools that have become the market standard, including yield and spread calculators, quantitative risk analysis, and relative value comparisons. Our calculation APIs are invoked billions of times a day - supporting millions of application runs by the most prominent players in the industry. Our software engineers take responsibility for the full software development life-cycle, from understanding the needs of the business through to coding to deployment and maintenance.

We'll trust you to: - Develop large scale, low latency servers and user interfaces to redefine client workflows and help them make informed decisions

  •  Solve highly complex problems while understanding the scope and impact of your work
  •  Be quick, resourceful, flexible, and an excellent collaborator.
  •  Work with product and other software engineering teams and balance the best of technical and product knowledge to craft unsurpassed product solutions for our customers

 

You’ll need to have:

  •  2+ years of experience programming in C++, Python, Java or similar in production environment
  •  2+ years of object-oriented programming experience
  •  Comprehensive knowledge of data structures and algorithms
  •  Strong problem solving skills
  •  A thorough understanding of the systems you've worked on
  •  Good communication skills and an ability to explain technical concepts in a non-technical way

We'd love to see:

  •  Development experience in Unix/Linux platforms
  •  Experience with relational databases
  •  Familiarity with the nuances of building high volume, high availability distributed systems
  •  Familiarity with open-source technologies
  •  Knowledge of financial markets or an interest to learn

Data Services Software Engineer - Foundational Services

Data Services Software Engineer - Foundational Services

 
Bloom731-lexington-office.jpg
 

Location: New York City

Company: Bloomberg LP

 

Engineering Data Services group is responsible for core data and analytics services that are used across Bloomberg’s application teams. Our service stack currently runs on over 900 machines and serves over 120 billion requests a day. With ever increasing data volumes and growth of Bloomberg’s Enterprise products this footprint has been growing at a rapid pace year over year. Our team also provides multiple foundational services such as meta data and id master for Bloomberg Query Language (BQL), the next generation analytics and screening engine for financial datasets.

We are building out a suite of tools that help developers support and optimize implementation of Bloomberg reference data and analytics. One such tool, the reference data integrity, is required to verify 50 billion unique data points daily to detect anomalies. This immense scale requires the use of Hadoop and Spark analytics framework. We are developing a set of brand new services for metadata, security & entity relationships and entitlement. Due to the large volume and explosive growth of underlying data we are looking to leverage Hadoop based storage for these services. We are also building new tools to manage our server farm more efficiently and leverage analytics to ensure high availability, efficient load balancing and fair scheduling.

We are looking for strong C++/Java software engineers who can design and develop low latency, high performance distributed systems. If you have strong programming skills, the ability to work collaboratively and a proven track record of delivering quality engineering solutions to real world problems, you’ll fit right in.

Our team is comprised of a small group of technologists passionate about data and pushing the boundaries of technology to deliver innovative solutions. We expect you to be proactive, able to work independently and take ownership in driving the vision and execution of the product.

We’ll trust you to:

  •  Design, implement and own critical applications and components of our services stack
  •  Participate in the full SDLC (Software Development Life Cycle) of various components and systems that are required to be highly efficient, robust and scalable
  •  Enhance our infrastructure to fulfill mission critical SLAs, whether low latency or high throughput data retrieval
  •  Get to know development teams across Bloomberg, understand their application requirements and data access patterns

You need to have:

  •  3+ years of C++ or Java on UNIX/Linux environment
  •  Solid understanding of algorithms and data structures, knowledge of object-oriented design and multi-threading
  •  Excellent problem solving and communication skills, and ability to thrive in a highly collaborative and dynamic work environment
  •  Experience with high volume, high availability distributed systems
  •  Experience working in a test-driven development and agile environment

We’d love to see:

  •  Knowledge of low-level Linux, UNIX networking and C system calls for high performance computing and debugging
  •  Experience with systems level Java or Scala
  •  Experience with Hadoop and/or using a distributed analytics infrastructure like Apache Spark

If this sounds like you, apply and we’ll get in touch to arrange a technical phone interview if we think you’re a match.

Big Data Platform Engineer - Data Technologies

 
OfficeWalkway
 

Company: Bloomberg LP

Location: New York City and Princeton, NJ

 

Bloomberg runs on data. It’s our business and our product. It’s why thousands of companies partner with us. We're nearing one petabyte and growing, with no end in sight. Our data captures who, what, when, where and why our clients use Bloomberg products.

The Bloomberg Big Data Services engineering team (or BBDS for short) provides a software platform for hosting large datasets. It’s a mature platform complete with search, analytics and real-time pipeline processing capabilities. The system scales out to petabytes while maintaining low latency, availability and immediate discoverability by clients. This puts us in an enviable and unique position to address the unique challenges of financial markets.

Maybe you love solving intricate engineering issues with large systems. Or you like to dig into interesting problems around platform APIs, real-time data pipelines, search and analytics engines or query optimizers. If this sounds like you, keep reading!

We’ll trust you to:

  •  Build large distributed systems that will be the heart of our data platform. Your work will enable us to ingest and process trillions of data items
  •  Provide search and analytics across these structured, semi-structured and unstructured datasets
  •  Work on a number of large distributed computing systems such as HBase, MySQL Clusters, Kafka, Spark, Lucene, Solr/Elastic, HAProxy and in-memory stream processors
  •  Adapt and change many technologies to provide solutions for distributed data storage
  •  Care about synchronization, sub-second latencies, search and discoverability
  •  Maintain fault tolerance and high availability

You’ll need to have:

  •  5+ years experience in Java and JVM, C and Linux system including expertise in low-latency kernel level optimizations
  •  A background in software engineering and the capability to program in compiled and dynamic languages such as Python and JavaScript
  •  Expertise in data stores (both transactional and non-transactional) as well as the ability to code in a highly concurrent environment

We’d love to see:

  •  Experience with distributed systems, RESTful architectures and scalable, low-latency systems that provide high availability
  •  Deep knowledge of HBase, Spark, Cassandra and the Hadoop ecosystem of technologies or MySQL/WebScaleSQL and InnoDB engines
  •  A Bachelor’s or Master’s degree in Computer Science, Computer Engineering, Science, Math or equivalent experience
  •  Deep knowledge of search engines like Apache Lucene and Solr/Elasticsearch

Apply by filling out our skills profile found at the button below:

Senior C++ Software Engineer - Financial Applications

Senior C++ Software Engineer - Financial Applications

Company: Bloomberg

Location:  New York City

 

 
 

Bloomberg absorbs billions of data points from hundreds of financial markets every day. Our developers build applications that fuel the markets by providing intelligent analytics and transparency into these markets. Our customers rely on us to understand markets and analyze complex structures which allow them to make smart investment decisions.

Our teams share a passion to solve problems of today to innovate for tomorrow. We write high performance, low latency and scalable code using proprietary and open source technologies to develop large-scale systems. We like to roll up our sleeves, collaborate seamlessly and deliver real life solutions to clients across all industries.

You need to have:

  •  3+ years of experience programming in C++
  •  3+ years of experience with object-oriented design, data structures, algorithms and all phases of software development
  •  An aptitude for analytical problem solving

We'd love to see:

  •  Financial knowledge

The teams you could join:

When you apply, tell us which of our teams you'd like to join. Here are snapshots of each one.

Derivatives & Cross Asset

Various financial institutions and corporations use our applications to secure their share of the multi-trillion dollar derivatives market - to generate trade ideas, evaluate deals, manage trade lifecycles, measure risk, and put in hedges. You'll help us build those apps, write a complex and powerful distributed system that lets our systems make billions of calculations daily, as well as integrate open-source technologies into our existing frameworks. You'll help us develop start-up enterprise products at the intersection of finance and math. You will have the opportunity to move code quickly while maintaining the highest reliability standards.

Fixed Income Pricing

Our product is the gold standard for pricing. It generates end-of-day prices for over 2 million fixed income securities. Our suite of applications also includes high-precision pricing algorithms, liquidity hubs for storing and retrieving pricing information, and big data analytics. You'll focus on building high performance, high throughput systems that use advanced statistical techniques to generate the fastest, most accurate pricing information out there.

Fixed Income Core

We deliver a single integrated platform to support our client's complete workflow, from analysis to idea generation, in arguably the world's most important capital market. This includes tools that have become the market standard, including yield and spread calculators, quantitative risk analysis, and relative value comparisons. Our calculation APIs are invoked billions of times a day - supporting millions of application runs by the most prominent players in the industry. You will focus on developing large-scale, low latency servers and user interfaces to redefine client workflows and help them make informed decisions.

 

 

 

Infrastructure Platform Engineer

Infrastructure Platform Engineer

Company: Bloomberg

Location:  New York City

 

 
 

Our team:

The Platform Engineering team builds infrastructure automation services that focus on configuration management and cloud orchestration. We play an active role in advising other infrastructure engineering teams on the best practices of modern application and infrastructure development.

What's in it for you:

We have a clear roadmap of where we want to be, but we need your expertise in building large-scale distributed systems to develop mission-critical system infrastructure. You will be part of a team that builds the foundation to support a multi-cloud environment. We develop best practices, tools and processes that have a direct impact on how thousands of engineers at Bloomberg interact with infrastructure.

We'll trust you to:

  •  Take responsibility for the development and deployment of Bloomberg's platform services
  •  Identify and automate manual tasks
  •  Implement industry-wide best practices around public and private cloud infrastructure
  •  Develop and maintain documentation, training and SLA for managed infrastructure and systems
  •  Help replace legacy systems with modern, Internet-scale design patterns

You need to have:

  •  3+ years of experience working on highly available, fault-tolerant distributed systems
  •  A strong understanding of operating systems and the nuances of Linux
  •  Experience with datacenter network troubleshooting including IP fundamentals, DNS, load balancing, proxies and firewalls
  •  Familiarity with configuration management systems such as Chef, Puppet or Ansible
  •  Proficiency in at least one of the following languages: Python, Ruby, C/C++, Go or Java
  •  A solid understanding of the modern software development lifecycle (SDLC) processes such as Continuous Integration and delivery

We'd love to see:

  •  Expertise in analyzing and troubleshooting large-scale distributed systems
  •  A deep understanding of web operations and cloud infrastructure (AWS, Azure, Google)
  •  Knowledge of network and application performance analysis using standard UNIX tools
  •  Experience with maintaining and managing a community around open source software

Does this sound like you?

Great, apply today! We want to work with others who are passionate about community-driven development both within the company and with the wider open source community.
Learn more about the work we do using the links below:

https://github.com/bloomberg/collectd-cookbook
https://github.com/bloomberg/kafka-cookbook
https://github.com/bloomberg/confd-cookbook
https://github.com/bloomberg/kubernetes-cluster-cookbook
https://github.com/bloomberg/zookeeper-cookbook