Bloomberg
,
London, Greater London
Senior Full-Stack Software Engineer - Cross Asset Trading System (CATS)
Overview
Job Description
**Job Requisition Number:** 82409 ### Our product: The CATS \(Cross Asset Trading System\) Blotter is a speedy, intuitive and consistent blotter solution for Bloomberg Trading Applications that aims to solve traders' new workflow needs and meet their high performance expectations\. The product forms the backbone of a trader's workflow across many trading products\. After onboarding EMSX 2\.0 \- the world's most popular Execution Management System \- our goal is to help more trading systems create their next generation workflows\. ### Our team: We are a small team based in London and one of two CATS Blotter feature teams\. We collaborate closely as a team, and with other Engineering teams in London and New York\. We are client centric with a focus on quality, performance, intuitive user experiences, and financial workflows\. The CATS Blotter is a feature rich, configurable, modern client\-side JavaScript/TypeScript application\. By joining our team, you will face many interesting technical challenges as performance is critical, extensible architectural design is key, and the code is highly asynchronous\. Whilst the blotter and front\-end are the team's main focus, we also own part of the Market Depth product, a system that processes and visualises market order activity in real\-time, which gives our team some exposure to full\-stack technologies and challenges such as C\+\+, multi\-threading and distributed systems\. We have close ties to Bloomberg's active internal JavaScript community and contribute to TC39, the JavaScript standards committee\. We're looking for engineers who want to challenge themselves, deliver results as a team, be proud of their work, and take our products to the next level\! ### We'll trust you to: \- Design and build front\-end and back\-end systems, with a strong emphasis on front\-end\. \- Work with business to flesh out requirements, collaborate with other engineering groups, design and build new features and release them to our users whilst keeping the system as stable as ever\. \- Be a key contributor to the team, drive the incorporation of new technologies and improve development practices\. \- Be creative to solve highly complex problems while understanding the scope and impact of your work\. \- Help others and share your knowledge in order to drive the growth of the team\. ### You'll need to have: \- Expertise in an object oriented programming language, common data structures and algorithms, and a willingness to learn/work in JavaScript, TypeScript and occasionally C\+\+ \- Applying good software engineering practices while delivering production quality systems to clients \- Strong problem solving skills and an interest in solving new problems in unique ways \- Good communication skills to work with other teams and explain technical problems to non\-technical stakeholders \- An open mind to using new technologies ### We'd love to see: \- Professional JavaScript/TypeScript experience \- Experience building client workflows and UI \- Experience building high performance systems\. Expertise in profiling and improving performance \- An interest in functional programming techniques \- Contributions to open source \- Experience working with a distributed system and an understanding of its unique challenges \- Experience working in an agile environment ### Interview process: 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\! Bloomberg is an equal opportunity employer and value diversity at our company\. We do not discriminate on the basis of race, religion, colour, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status\.