In the Systems Infrastructure group we provide the Bloomberg platform - a set of robust, performant, low level services that support the Bloomberg Terminal and its backend. Every customer interaction goes through our services, so the appreciation and impact of our work is massive. We work from a deep systems level up to the whole data center. Concurrency, threads, queue management, load balancing, cluster-level communication protocols, pub-sub, message queues, map-reduce frameworks, and large-scale telemetry and monitoring are just a sampling of the technical challenges we tackle for all of Bloomberg.
We're a team of engineers who live and breathe high performance, well-factored, scalable, testable code. We react quickly to new business initiatives and we're looking to grow. Our team of 6+ engineers is passionately working to evolve this platform to improve scalability, port to new environments and add new features. By actively participating in our daily scrums, you'll establish best practices and influence architectural decisions.
With your help, we'll:
- Design entirely new architectures and implement them all the way through to user availability
- Split up large monolithic systems, increasing reliability and scalability
- Incorporate open source and industry standard frameworks where possible
- Make our systems more elastic, responsive and automatically balanced
We’ll trust you to:
- Collaborate with development teams to better understand their needs for infrastructure software
- Write well-tested, robust and performant code in a cross-platform distributed environment, while sticking to best practices in software engineering
- Explore new technologies and languages and choose appropriate solutions that are scalable and robust
- Resolve problems in production quickly by relying on strong debugging skills and a scientific approach to debugging
You’ll need to have:
- 3+ years of experience programming in C++/C in a Linux/UNIX environment
- Strong knowledge of data structures and algorithms
- Excellent analytical, problem-solving, and written/oral communication skills
- BA, BS, MS, PhD in Computer Science, Engineering or related technology field
We'd love to see:
- Familiarity with at least one scripting language (python/perl/bash)
- Experience with Git, Jenkins, Splunk, Data-Dog
- Multi-thread/multi-process programming; distributed/parallel programming
- A detail-oriented engineer, who is eager to learn and is passionate about developing software
- An interest in or knowledge of open source technologies such as kafka
What’s in it for you:
- Ability to make an impact: You will drive and own highly visible and widely used products that are consistently relied on by over 5,000 engineers. We operate in short sprints, so your code contributions will end up in production right after they're tested.
- Exposure to technical challenges: You'll work with systems at scale solving complex distributed problems with large scale code integration, pushing technologies to their limits to meet our unique constraints.
- Ownership and autonomy: You'll be responsible for the full software development life-cycle, from idea generation to deployment, documentation and maintenance. Increased responsibility is awarded based on merit (which we're quick to recognize) and the priorities you're most excited about. Your success is measured based on your impact, not through micro-management or face time.
- An environment that supports your development: Asking questions is extremely encouraged and collaboration is key. On any given day you can attend an internal meetup, check out our e-learning platform, or attend an external conference.
If this sounds like you, apply!