- Hiring Department/Group: Public Cloud
- Job Title: Cloud Developer
- Office Location: New York City, NY 10103
Job Function Summary
The firm is building a cloud engineering and enablement practice across multiple cloud platforms. This is a functional team that will work across multiple lines of business, and enable engineers and developers throughout the firm to deploy applications on cloud platforms.
Within the firms cloud practice, we are building a framework in Python that automates the deployment of applications in accordance with firm policies and best practices, and provides templated design patterns with common sense defaults. We are looking for a senior software engineer, who has significant experience developing production applications and frameworks, to provide software development leadership. The candidate will help define software architecture and testing practices, perform code reviews, and act as a mentor to more junior developers. This individual should also be familiar with agile practices including managing backlogs and sprints.
The candidate must be fluent in different coding paradigms including object oriented and asynchronous programming, and ideally will be familiar with functional programming. The candidate must have in depth knowledge of Python including proper implementations of data structures and algorithms, as well as performance optimization.
The right candidate will have significant experience working on large projects, including developing REST APIs and loosely coupled services in a cloud friendly manner. The candidate also needs experience leveraging cloud native platforms and services, including using cloud provider APIs and developing cloud native services using tools such as AWS’s Lambda and Step Functions.
The candidate needs to be able to integrate with monitoring and alerting solutions, including application performance monitoring. The candidate should have experience developing applications that generate meaningful logs and metrics
Experience managing technology infrastructure, including Linux systems administration, networking, and security, is a big plus. Experience managing data, including data ingest, replication, and transformation, using cloud native or open source frameworks is also a plus
- Provide software engineering leadership to a cloud engineering team
- Set development standards around source control, testing, and continuous integration for both applications and infrastructure as code
- Architect a framework and tools to enable consistent delivery of applications and infrastructure across multiple cloud platforms in an automated and repeatable manner
- Provide guidance to software engineering teams aligned with other business units as they develop strategies for operating on public cloud platforms
- Work closely with enablement teams and engineers to prioritize and manage development effort
- Experience developing collaboratively on complex projects in Python
- Experience developing with Cloud provider APIs and automation
- Experience with continuous integration, unit, and functional testing
- Systems engineering knowledge, including understanding of Linux, security, and networking
- Automated creation of Linux AMIs using internal repositories and tools like Packer
- Configuration and automation tools, such as Chef, Puppet, Ansible, or Salt
- Cloud Formation or other cloud environment build automation tools, including the automated provisioning, replication, and scaling of entire environments
- Experience with building, monitoring, and alerting on logs and metrics, including CloudWatch
- AWS VPC, VPC Peering, Security Groups, and Network ACLs
- IAM, including Roles and Federation
- Elastic Load Balancing and Route 53
- AWS KMS and Certificate Manager
- Excellent written and verbal communications
- Excellent troubleshooting and analytical skills
- Self-starter able to execute independently, with light supervision
- Ability execute on a deadline and under pressure
|Job Category||Full Time|