Lead Software Engineer
Although not a household name, State Street is one of the world's largest and most important financial services institutions, providing round-the-clock services to the global investment community. We touch $33 trillion in assets every day, and are the world's third largest investment manager with over $2.8 trillion in assets under management. To do this we manage as much data as one of the internet giants on nearly as large a technical footprint. In January 2018, we launched one of the industry's largest technical transformation projects, in effect building a new bank from the ground up. This project isn't greenfield in the way most banks claim projects to be; we've started with a blank sheet of paper both operationally and technically. We use the same technologies that Silicon Valley giants are using. We deploy to multiple public clouds as well as building our own private cloud to achieve even better performance. We push out Microservices into what will be one of the largest Kubernetes installations in the world and leverage immutable storage to process and store hundreds of terabytes of data per day. We are transforming our industry through the application of distributed ledger technology and cognitive computing while we are key contributors in the open source communities driving our systems.This isn't a traditional banking role. This is a chance to push your technical skills with people more comfortable in a technology firm than an investment bank by solving real problems that affect anyone with any form of savings worldwide. This Team This role is for the technology team that will be charged with building out our Microservices catalog from the ground up across our Front, Middle and Back Office. This is a major component of the technology transformation program which is building a new application operating system for State Street, covering everything that an application DevOps team would work with on a daily basis: We use the latest technology to create cloud native applications for ingesting, transforming, retrieving, analysing, processing, auditing and securing data for use internally and by our customers. We leverage cloud infrastructure to deliver elastic, highly available, scalable and resilient systems. We provide a consistent, managed, globally addressable view of data and integrate attribute-based access control across data at rest, in motion and operation. We use and contribute to open source technologies ensuring we have access to the most efficient tools for a given task. We rely upon Kubernetes as a Microservices architecture and "kubectl as a service" across public and private clouds. We manage everything else in our common Kubernetes infrastructure, including package management, networking & service mesh. We provide standard infrastructure for both telemetry and log management, all the way through to application tracing and dashboards. We provide standard CI/CD infrastructure. We operate in an evolving environment where new technology and processes are rapidly adopted without losing quality. We develop application archetypes & training materials and assist application developers in making the best use of this infrastructure. We do all this in a true DevOps fashion with agile infrastructure and a follow-the-sun mandate. We are a geographically distributed team, including fully remote workers This Role We are looking for a strong Software Engineers anywhere along the DevOps pipeline, from Software Designers to Operation Engineers across our different infrastructure and technology development streams. You will work with other members of your team to investigate feature requests, perform detailed analysis, create specifications, build, test and implement new functionality. You will diagnose and correct problems in live infrastructure in support of our production clients. You will leverage frameworks, tools & automation to ensure quality software deliveries. You will help standardize on key monitoring metrics and alerts that will drive the DevOps nature of the team. You will support a follow-the-sun operations approach, working with colleagues across three continents. You will work in an agile way, using agile development and infrastructure techniques. You will collaborate with your peers across the transformation effort ensuring that best practices are followed throughout the organization. You will mentor and assist in training more junior members of your team including recent graduates. You will be an active member in the Open Source communities surrounding the technologies that we use on a daily basis Requirements Successful candidates will have the following skillset: Required: A degree in computer science or related computational discipline or equivalent experience acquired on the job. Engineering experience in at least one of the following languages (Java, Go, Python, C.) Demonstrable experience in working on production-grade systems. Ability to learn about new technology innovation and creativity in applying it to business problems. Have the ability to communicate effectively in English both writing and speaking, and the ability to communicate technical subjects effectively through diagramming. Appreciate the value diversity (in all its forms) brings to our team and company. Desired: Experience with frameworks for messaging, protocol/API design, stream processing and restful web services. Excellent source control management (GitHub preferred.) Experience with CI/CD automation tooling like Jenkins / Concourse. Experience with configuration management tooling such as Ansible, Puppet, Chef or Salt. "Hands on" experience with deployment / orchestration using container technologies such as Docker and Kubernetes. Kafka experience is a plus. Experience with cloud technologies (AWS, Azure, GCP, etc.) Experience in working on an Open Source project. Experience working in a financial services environment is a plus, but not a must-have requirement.