Job responsibilities
- Executes creative software solutions, design, development, and technical troubleshooting with ability to think beyond routine or conventional approaches to build solutions or break down technical problems
- Develops secure high-quality production code, and reviews and debugs code written by others
- Leads communities of practice across Software Engineering to drive awareness and use of new and leading-edge technologies
- Regularly provides technical guidance and direction to support the business and its technical teams
- Works directly with stakeholders to gather requirements, understand business context and translate this into technical solutions
- Develop robust, performant software products and APIs, and enrich existing applications
- Enhances the team by demonstrating best practice throughout the software development lifecycle: testing, code review, accurate status reporting, focus on application resilience and operability
- Drives decisions that influence the product design, application functionality, and technical operations and processes
- Serves as a function-wide subject matter expert in one or more areas of focus
- Actively contributes to the engineering community as an advocate of firmwide frameworks, tools, and practices of the Software Development Life Cycle such as requirement gathering, design, implementation, testing, and handover to line of business teams
- Works in large collaborative teams regionally and globally to achieve organizational goals, and passionate about building an innovative culture
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 5+ years of applied experience
- Hands-on practical experience delivering system design, application development, testing, and operational stability
- Expertise in Core Python concepts and new language features up to Python 3
- Advanced in utilizing Python language to build large, scalable applications
- Expertise in Enterprise Integration patterns – Messaging, IPC, Service Bus, Micro service-based designs.
- Knowledge of private/public cloud deployment and frameworks – AWS/Azure; and containerization, Docker/Kubernetes etc.
- Advanced knowledge in techniques such as Continuous Integration, Continuous Delivery, Test Driven Development, resiliency, & application security.
- Ability to tackle design and functionality problems independently with little to no oversight
- Hands-on practical experience delivering system design, application development, testing, and operational stability
Preferred qualifications, capabilities, and skills
- Experience with No-Sql databases
- Knowledge of the financial services industry and their IT systems
- Experience with Messaging Middleware – Kafka/RabbitMQ
- Cloud native experience