JOB SUMMARY:
The Senior Software Engineer is a hands-on position working within the position and cash management teams, implementing product roadmaps, as well as building the next generation platforms in the cloud. It’s an individual contributor role, bringing significant industry experience, best engineering approaches, and methods to solving business problems. There is a variable split between architecture and development but in general, more than 80% on the latter is expected at an expert level.
Objectives of this role:
This role combines software and systems engineering to deliver highly scalable, distributed, fault-tolerant systems. As a Senior Software Engineer in Asset & Wealth Management - at Goldman Sachs, you work with your fellow stakeholders to define non-functional requirements (NFRs) and availability targets for the services in your platform. You are part of the development teams as an integral accountable member, to deliver highly available, and scalable solutions that meet business goals.
RESPONSIBILITIES:
- You will ensure NFRs and functional requirements are accounted for in your products' design and test phases, that your service level indicators are effectively measuring customer experience
- Creates high quality technical designs, roadmaps, and technical program charters
- Provides mentoring to fellow engineers and act as a key resource for technologists seeking guidance
- Ensure that the architecture and implementation will meet business goals and ensure as a key technical leader that implementations are faithful to design goals.
MINIMUM EDUCATION AND EXPERIENCE REQUIREMENTS:
- Bachelor’s degree (U.S. or equivalent) in a quantitative discipline (ideally computer science or engineering)
- 7-10+ years of software development & architecting data distribution platforms / middleware experience
MUST HAVE SKILLS AND/OR LICESNSES REQUIRED TO PERFORM THE JOB:
- Superior development skills using one or more high-level languages, such as Python, Java, C/C++. All system development in the team is using Java as the primary language
- Strong knowledge of cloud architectures, implementation patterns, and deployment patterns
- Experience with container based and Serverless deployment patterns, as well as cloud databases
- Advanced knowledge in implementing complex, distributed systems with a variety of integration patterns like REST, streaming (Kafka), and ETL
- Strong knowledge of database systems, SQL, and No SQL systems
- Knowledge of messaging technologies on-premises and on cloud e.g. Kafka, Kinesis
- Hands on experience building out and maintaining a data distribution platform either in house or as part of a commercial offering, integrating data warehousing and big data environments
- Strong communication skills with ability to mentor and educate others on producing quality code