Senior Software Engineer - Windows Deployment Platform
Bloomberg
Our Team
Bloomberg’s Packaging team manages the deployment system used by the majority of Bloomberg’s 9000+ engineers to bring their code to production. Our system manages tens of thousands of packages deployed to tens of thousands of machines through thousands of deployments each week, by both developers and automated systems.
We provide the tooling Bloomberg engineers use to manage their deployments and machines, enabling them to easily follow modern industry best practices, reduce risk, and increase output. Our mission is to make software deployment effortless and reliable, so engineers can focus on building great products rather than worrying about how their code reaches production.
Currently, our system primarily supports Unix-based environments.
What We’re Working On
We’re expanding our deployment platform to support Bloomberg’s growing Windows ecosystem, which is an increasingly critical part of our engineering and production environments. We’re looking for a Senior Software Engineer with deep Windows expertise to guide this expansion, providing technical mentorship, insight, and support to a team of Unix developers as we not only learn Windows development, but make product and policy decisions that impact our future clients. You will be our primary Windows expert as we make these decisions.
While your initial focus will be applying your Windows expertise to this expansion, you’ll also contribute to our broader backend services and cross-platform systems over time.
Our Technologies
The BPKG backend is primarily composed of Go microservices, with some C++ components. Our frontend has both the Bloomberg Terminal UI framework and web UI powered by React.
We follow engineering best practices: automated testing, CI/CD pipelines, code reviews, observability, and iterative improvement. We value clean, maintainable, and scalable code that makes engineers’ lives easier.
You’ll Need to Have
4+ years of experience developing Windows-based systems or services, including familiarity with Windows Services and their lifecycle, file system ACLs, and PowerShell
Desire to mentor a team of Unix developers on Windows systems & development
The expertise to set product patterns and policy for a new Windows platform based on the existing product platform, Windows patterns, and stakeholder needs.
A degree in Computer Science, Engineering, or a related technical field, or equivalent experience
Proficiency in one or more programming languages such as C++, C#, Go, Java, or Python
Interest in or experience working with Go
Strong understanding of software engineering fundamentals, including system design, testing, and deployment
Familiarity with Linux or Unix environments or an eagerness to learn them
4+ years of experience developing Windows-based systems or services, including familiarity with Windows Services and their lifecycle, file system ACLs, and PowerShell
Desire to mentor a team of Unix developers on Windows systems & development
The expertise to set product patterns and policy for a new Windows platform based on the existing product platform, Windows patterns, and stakeholder needs.
A degree in Computer Science, Engineering, or a related technical field, or equivalent experience
Proficiency in one or more programming languages such as C++, C#, Go, Java, or Python
Interest in or experience working with Go
Strong understanding of software engineering fundamentals, including system design, testing, and deployment
Familiarity with Linux or Unix environments or an eagerness to learn them
We’d Love to See
Expertise in Windows internals, user permission models, and the Windows registry
Experience with cross-platform development (Windows + Unix)
Experience building microservices or distributed systems
Familiarity with containers (e.g., Docker) or cloud-based environments
A collaborative mindset and strong communication skills
Expertise in Windows internals, user permission models, and the Windows registry
Experience with cross-platform development (Windows + Unix)
Experience building microservices or distributed systems
Familiarity with containers (e.g., Docker) or cloud-based environments
A collaborative mindset and strong communication skills