Securities, Core Platform Developer – SMM Engineering, London
MORE ABOUT THIS JOB
Our core value is building strong relationships with our institutional clients, which include corporations, financial service providers, and fund managers. We help them buy and sell financial products on exchanges around the world, raise funding, and manage risk. This is a dynamic, entrepreneurial team with a passion for the markets, with individuals who thrive in fast-paced, changing environments and are energized by a bustling trading floor.
At Goldman Sachs, our culture is one of teamwork, innovation and meritocracy. We often say our people are our greatest asset and we take pride in supporting each colleague both professionally and personally. From collaborative work spaces and ergonomic services to wellbeing and resilience offerings, we offer our people the flexibility and support they need to reach their goals in and outside the office.
RESPONSIBILITIES AND QUALIFICATIONS
- Design, build and maintain a high-performance, high-availability, high-capacity, yet nimble and adaptive messaging platform for front to back trading systems like order management, algorithmic engines, market signal publishing, event sourcing applications, risk engines and asset inventory systems.
- Use data to guide decision-making, developing or enhancing tools as necessary to collect it.
- Communication with traders, sales, clients and compliance officers about new systems, feature requests, explanation of existing features etc.
- Bachelors or Masters degree in computer science or engineering or equivalent experience
- Experience building C++/Java systems with strict requirements for low-latency (microseconds count) and deterministic performance.
- Familiarity with STL and C++11 language extensions, Boost
- Network programming (sockets, TCP/UDP/Multicast protocols)
- Multi-threading, concurrent programming
- Strong knowledge of data structures, algorithms and design patterns
- Experience in data driven performance analysis and optimizations.
- Strong communication skills and the ability to work in a team
- Strong analytical and problem solving skills
- Ability to solve high performance engineering problems in a language agnostic manner.
- Linux systems programming experience including memory management, concurrent programming infrastructure, and the networking stack
- Prior experience with Event Sourcing (Sequenced core stream) based architecture
- Off-heap memory management,
- Distributed server software experience
- JVM internals, tuning for low-latency
- Hardware stack and hardware architecture (memory/caches, buses) from a latency perspective
- Over 3 years' experience in Financial Industry or Game Development (Server Programmer)