Posted On 31 August

  • Software Engineer

    • Company Goldman Sachs
    • No. of Openings 10+
    • Salary Not Disclosed
    • Work Type on-site

    Job Description :

    SDLC and Runtime focuses on delivering engineer-first, scalable platforms for job scheduling, Compute-as-a-Service, file transfer, firmwide software distribution and software development, including CI/CD (Gitlab ecosystem).

    • Software Development Life Cycle (SDLC) is a suite of products that provides build and deploy tooling for Engineers in the firm. It provides a modern, secure and highly available plant that facilitates source control, code review, build, test and production activation.
    • Distributed Scheduling (Runtime) offers scalable, highly available and efficient platforms and services for job scheduling, grid computing, Compute-as-a-Service, file transfer and software distribution across the firm.

    Primary customer base for SDLC and Runtime are Global Markets Division (GMD) and Consumer and Investment Management Division (CIMD). Also significant customer usage in the Infrastructure Group (Core Engineering) and Investment Banking Division (IBD) Engineering.

    AS A SDLC ENGINEER

    You will be working at the heart of the developer experience, ensuring the code that is written by thousands of GS engineers is versioned securely, reviewed expertly, compiles fast, tests comprehensively and is distributed widely. You will deliver CI/CD solutions that support cloud native development and contribute to our efforts to move the firm to a cloud-based mobile SDLC. You could be working with cutting edge build technology from Google, or the latest cloud technology in one of more backend languages including Java, Golang, Python, C++.

    SDLC Platforms Include

    • Build / Development
      • GitLab - The firm's strategic vendor CI/CD platform, hosted in-house with instances on-prem and on public cloud.
      • Proprietary SDLC, based on Subversion for source control to facilitate workflow and approvals around building and deploying software.
      • In-house developed Configuration Database (CD) tools for deploying Software packages, config and Infrastructure as Code.
      • SecDb ecosystem - Proprietary securities language used in SecDb, Java / Scala monorepo that integrates with Slang and SecDb, CI/CD platform for the C++ / Java of SecDb and non-SecDb teams.
    • Testing - A high scale parallel testing environment for executing millions of automated tests daily.
    • Distribution - Linux and Windows software distribution system used by Gitlab, Conductor Software Factory and Train.
    • Artifact Repository - Primary build artifact repository hosting terabytes of internal and external software packages and industry standard asset repos such as Mavern Central, NPMScopes and PyPi, running on Sonatype Nexus.

    AS A DISTRIBUTED SCHEDULING ENGINEER

    You will be part of a global, multi-disciplinary team responsible for researching, designing, testing and building core platforms that manage a third of the firm's compute, provide job scheduling, commoditize platforms through cluster and container management, facilitate a public cloud control plane, and managed file transfer.

    Distributed Scheduling Platforms Include

    • Job / Task Scheduling - Large scale, multi-tenant cross platform distributed computing system running batch workflows.
    • Grid Compute - Grid compute for Slang and JSI workloads, used for risk and pricing calculations.
    • Stateless Compute - Cluster manager that interfaces with Job Schedulers to schedule stateless jobs on shared pool of managed compute.
    • File Transfer - Managed file transfer with external clients.

    What You Will Learn When You Join Us

    • Cloud native architectures in AWS
    • Experience with large scale monorepos, build systems and deployment paradigms
    • Expertise in commercial / open source build systems (Gradle / Bazel / Make) and strong knowledge of software change management systems
    • Experience of DevOps, SRE, infrastructure (storage / networks / etc.)
    • Design and implement mid to large scale distributed systems
    • Partner with and provide technical guidance on best practices to the GS engineering community, the business teams, and operations teams

    Core Skills And Experience We Are Looking For

    • 3+ years of industry experience.
    • General knowledge of multiple languages, and in-depth strong programming skills of at least one of: Golang, Erlang, Java, Python, C, C++, Java.
    • Strong software engineering fundamentals.
    • Experience with all stages in the lifecycle of developing and running large distributed systems.
    • Experience managing performance, availability and scale of mid- to large-sized systems.
    • Passionate about the software development process and facilitating high frequency / high quality change across a vibrant and diverse user community.
    • Team player, eager to work in a global organization.
    • Strong oral and written communication skills.

    Preferred Qualifications

    • BSc / MSc / PhD in relevant field (Computer Science, Maths, Physics).
    • Highly knowledgeable about running key business applications on Linux platforms and Linux internals.
    • Knowledgeable about networking (TCP, UDP, ICMP, ARP, DNS, TLS, HTTP, SSH, etc).
    • Experience with Cloud and Infrastructure as Code technologies - AWS, Terraform, Docker, Kubernetes, etc.

    Information

    • HR Name :Human Resource
    • HR Email :gs-investor-relations@gs.com
    • HR Phone :+65 6889 1000
Top