Job responsibilities
- Regularly provides technical guidance and direction to support the business and its technical teams, contractors, and vendors
- Develops secure and high-quality production code, and reviews and debugs code written by others
- 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
- Takes ownership for working with stakeholders from Corporate Treasury and Lines of Business to understand and refine requirements, influencing senior stakeholders to make the right decisions
- Adds to the team culture of diversity, equity, inclusion, and respect
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and advanced applied experience
- Hands-on practical experience delivering system design, application development, testing, and operational stability
- Advanced in one or more programming language including Java
- Advanced knowledge of software applications and technical processes with considerable in-depth knowledge in one or more technical disciplines (e.g., cloud, artificial intelligence, machine learning, mobile, etc.)
- Ability to tackle design and functionality problems independently with little to no oversight
- Experience delivering production changes to complex software using Java and associated frameworks
- Ability to solve data-oriented problems using multiple relevant technologies e.g. SQL, Relational DB, Spark, NoSQL etc. while optimizing for performance
Preferred qualifications, capabilities, and skills
- In depth knowledge of the financial services industry, ideally with experience in Liquidity and/or Risk domains
- Real-world experience with Spark performance tuning of complex calculations on large datasets
- Experience delivering production changes to complex software using Scala and Spark