Senior Software Engineer – Terminal Server Infrastructure
New York, NY
Posted Dec 9, 2019 - Requisition No. 80101
The Terminal Platform group is responsible for the core user interface of the Bloomberg Terminal, along with the underlying infrastructure for the client side runtime environment, software asset deployment, and application life cycle management. We also provide the client-server communication channels and are responsible for ensuring the security of our software installation. We manage core features of the runtime environment such as cross-application data sharing and communication, window management, application state persistence, and application hosting. On the backend, we develop a distributed pipeline for publishing, deploying and serving software assets on the fly.
Our mission is to evolve our end users' Terminal experience by introducing modern technology and patterns that can facilitate simpler, more robust workflows. We are expected to guarantee the stability of our system by prioritizing performance and reliability across our stack. And we're investing in tools that engineers use to manage their own software deployments and application life cycles.
Terminal Server Infrastructure
The Terminal Server Infrastructure (TSI) team is responsible for the end-to-end ownership of the R+ communication protocol. All R+ applications, RPaaS services and core infrastructure messaging travels over this channel. We manage scaling, load balancing, and disaster recovery for this critical piece of software. We also provide the distributed pipeline used for publishing, deploying and serving various software assets, including R+ Bundles. As the main hub for this deployment workflow, we own the VRS tool that other engineering teams use to release their software.
What’s in it for you
Our team's tech stack is primarily C++ running on backend systems. And some of our user-facing tools, like VRS, provide opportunities for full stack development. As we approach each new project, our team is dedicated to leveraging modern software and embracing engineering best practices. The latest iteration of our publishing pipeline is pushing the bounds of Bloomberg's cloud infrastructure and we partner closely with other infrastructure teams to further that development. We invest in automated testing, CI, and CD across our system and look for engineers to advocate for maintainable environments. This allows us to iterate quickly and release regularly even with such a mission critical system.
Our short term roadmap includes a project to track dependencies between software packages in real-time to warn users when dependencies are added or removed along with the impact of such dependencies. Using runtime data we can assess when the usage profile of a package will change as a result of some downstream dependency modification. We also plan to invest in stress tests and "fire drills" across our system as a means of validating disaster recovery, intense load, and fail-over scenarios.
You’ll need to have:
- 3+ years of experience working in C++
- Solid understanding of data structures, algorithms, and object-oriented design.
- Experience in all phases of the software development life cycle
- The desire to take ownership and responsibility of issues and handle effectively through to resolution