The Securities Settlement Engineering team at Goldman Sachs is a critical part of the firm's Global Banking & Markets division, dedicated to ensuring the seamless and efficient settlement of securities transactions. This team operates at the intersection of finance and technology, implementing innovative solutions to enhance the post-trade processing landscape.
The team is responsible for designing, developing, and maintaining high-performance software solutions that facilitate the settlement of equities and fixed income instruments; processing millions of events and thousands of users daily. There is a current focus on migrating existing systems to a strategic platform, with a foundation built upon an event-sourcing architecture using public cloud and serverless solutions, to enhance the scalability and resilience of the settlement processes and guaranteeing capacity for future growth. Collaboration with various stakeholders, including trading desks, operations teams, and other Engineering groups, ensures that the systems meet the evolving needs of the business and integrate seamlessly with other platforms.
The team primarily uses Java for software development, while also leveraging other languages, tools, and frameworks for specific tasks. We employ a microservices architecture and RESTful APIs to build modular and scalable systems and embrace DevOps practices to ensure continuous integration and delivery.
A global team located across five regions (and growing), the Securities Settlement Engineering team fosters a collaborative and inclusive work environment, encouraging team members to share ideas and contribute to continuous improvement. Our work is critical to Goldman Sachs' success, as it ensures the efficient and accurate settlement of trades, helps the firm manage risk and comply with regulations, and establishes exceptional service for our clients.
We are seeking a talented and motivated Software Engineer to join our team and play a key role in designing, developing, and maintaining our software solutions. This role requires a solid foundation in software engineering principles, a passion for technology, and the ability to work effectively within our collaborative team environment.
Basic Qualifications
- A passion for software engineering and technology with an enthusiasm for solving challenging business and technical problems
- Keen analytical skills – you’ll need to quickly get to grips with the business domain and our applications
- Extensive experience writing well-tested code using industry-standard frameworks and patterns
- Hands-on development skills, preferably in Java, but any object-oriented language is OK
- A good working knowledge of SQL and relational database architecture
- Strong communication and interpersonal skills, with the ability to work effectively within a collaborative team environment.
- Bachelor’s degree in computer science, Engineering, or a related field.
Preferred Experience
We are constantly learning new things, but prior experience with any of the below is a plus.
- Serverless technologies (e.g. DynamoDB, Fargate, Lambda, Cloud Run)
- AWS or GCP platform experience
- SRE principles
- Event sourcing architectures
- Domain-driven design principles
- Excellent problem-solving skills and attention to detail.
- 2-5 years of experience as a software engineer, with a strong focus on developing scalable and distributed systems
- Experience in JAVA and related frameworks like Spring.
- Experience in messaging platforms like Kafka, EMS, Rabbit MQ.
- Experience with industry standard SDLC tools (e.g. Gitlab, Jenkins)
- Experience with public cloud infrastructure and IaC tools such as CloudFormation
- Understanding of containerization and orchestration technologies, such as Docker and Kubernetes.
- Knowledge of securities settlements and post-trade processing is a plus.
Key Responsibilities:
- Design, develop, and maintain high-performance software solutions for the settlement of global securities transactions
- Collaborate with senior engineers, architects, and other stakeholders to define and implement requirements
- Participate in code reviews, testing, and debugging to ensure the quality and reliability of software solutions.
- Implement and manage infrastructure as code (IaC) using tools such as Terraform or CloudFormation.
- Stay up-to-date with industry trends and best practices in software engineering and cloud computing.
- Contribute to the continuous improvement of development processes and practices within the team.