SUMMARY:
Software Engineer role 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 industry experience, best engineering approaches, and methods to solving business problems. There is a variable split between working with the Senior Lead on architecture design and development but in general, more than 80% will be on the latter.
Objectives of this role:
This role combines software and systems engineering to deliver highly scalable, distributed, fault-tolerant systems. As a 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:
- Participate in the design, development, testing, roll out and documentation of our systems.
- Work closely with business users and other developers globally.
- Understand the business domain and requirements.
- Work in a highly innovative technical team with plenty of opportunity to improve and grow your technical skills.
- See your changes directly impact the business.
- Investigate and POC new technologies on-prem and in cloud.
MINIMUM EDUCATION AND EXPERIENCE REQUIREMENTS:
- Bachelor’s degree (U.S. or equivalent) in a quantitative discipline (ideally computer science or engineering)
- 3+ years of software development & architecting data distribution platforms / middleware experience
MUST HAVE SKILLS AND/OR LICESNSES REQUIRED TO PERFORM THE JOB:
- A multi-discipline hands-on developer interested in solving real-world problems in the space of information retrieval, distributed computing, large-scale system design and data distribution that will transform the AMD business
- Proficient in an object-oriented language like Java/Scala/Python. Eager to learn new ones including functional programming languages.
- Ability to work closely with users to understand the problem space, identify solutions and implement them quickly.
- Focused on developing scalable solutions that solve a particular problem but are generalized to the right level such that the same solution can be applied to other problems.
- Constantly trying to improve existing systems / architecture.
- Keep on top of the latest news in software development from NoSQL/Distributed databases to Reactive Application design to micro-services.
- Knowledge of cloud architectures, implementation patterns, and deployment patterns
- Experience with container based and Serverless deployment patterns, as well as cloud databases
- 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