Senior Software Engineer - Apache Kafka Infrastructure
New York, NY
Posted Nov 15, 2022 - Requisition No. 111638
The Bloomberg Managed Services organization (BMS) is responsible for creating and curating Bloomberg Engineering's "as a Service" software catalog and infrastructure. We develop and integrate products into a simple, sophisticated user interface and provide a concise way for engineers to create data-store and middleware instances.
The BMS Streaming team focuses on providing streaming solutions on the BMS Platform powered by Apache Kafka and its ecosystem. Apache Kafka has quickly become the backbone of event driven architecture at Bloomberg and the main data bus for data distribution, live streaming, and general purpose messaging. Given that the majority of Engineering teams in the company already use our product in production, you’ll have the chance to positively impact virtually any product under the Bloomberg umbrella by joining our team.
The easiest way to learn more about what our team does and some of the challenges we face is to check out our talk at Kafka Summit:
We are proud of our open and inclusive culture, and value diversity of thought and perspective in every form. We're looking for engineers with a real passion for writing reusable, efficient solutions to complex problems, who can collaborate and work effectively on small teams to develop software that impacts thousands of power users around the world.
We work with:
- Open-source frameworks and tools (Apache Kafka, Hashicorp Consul, Docker, Kubernetes, Angular + Node.js, OpenStack, etc).
- SDLC practices, including Docker-based unit testing, Jenkins integration, API documentation standards, etc.
We'll trust you to:
- Collaborate within an Agile, multi-disciplinary team.
- Develop code around the Apache Kafka broker, its client libraries (C/C++, Java, Python), its ecosystem frameworks (Kafka Connect, Kafka Streams, Cruise Control, Burrow, etc.).
- Work on Open Source projects within the Kafka ecosystem and contribute changes upstream.
- Develop an end-to-end full-stack user experience.
- Pick up on new frameworks, experiment, and build software that works seamlessly on various environments.
- Anticipate engineering needs and expectations from Bloomberg engineers, and build solutions that work for them.
- Collaborate directly with product owners and application teams to understand requirements, conduct feature demos, and provide system design consultations.
- Identify feature gaps in the technologies and work with the open source community and our vendors to co-design and co-develop features and bug fixes.
You'll need to have:
- 4+ years of programming experience with an object-oriented programming language (Java, C++, Python, Go, Scala or similar in a production environment).
- A Degree in Computer Science, Engineering or similar field of study or equivalent work experience.
- Strong communication and collaboration skills.
- Strong understanding of distributed systems, data structures, algorithms and system design.
- Experience designing and implementing low-latency, high-volume, and highly available distributed systems.
- Commitment to writing meaningful unit tests and integration tests.
We'd love to see:
- Passion for distributed systems and large scale data systems.
- Familiarity with Apache Kafka.
- Familiarity with Kubernetes and Docker.
- Java programming experience
- Experience maintaining and contributing to large Open Source projects.
- Experience evolving and monitoring systems at scale.
- Deep understanding of TCP/IP and Unix networking, Linux kernel performance.
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:
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