Work on designing, developing, and deploying distributed services using Java, SQL (Postgres), and NoSQL (DynamoDB) databases on AWS.
Create tooling, test scripts, and API documentation for the functionalities developed
Own the full release lifecycle from feature development to public and customer releases
Work with fellow engineers, product managers, and customers to design solutions for evolving product needs
Proactively identify gaps in monitoring systems and design, implement, and provide recommendations towards addressing the same
Collaborate with customer success and product support teams to help reproduce, triage, debug & support technical product issues
Provide deep software development knowledge with respect to cloud architecture, design patterns, and programming to fellow engineers
Lead teams of developers and mentor fellow team members
Requirements
5+ years of hands-on experience in building highly available, secure, and scalable API platforms and web applications
Hands-on programming skills in Java (and frameworks like Spring and hibernate), Javascript, SQL databases (PostgreSQL), and NoSQL (DynamoDB)
Bachelors/Masters level technical degree or equivalent experience
Experience with service-based architectures, Domain-Driven Design, and reactive/event-driven systems
A strong focus on continuously shipping software and iterating
(Bonus points for) Experience with TypeScript and Python
(Bonus points for) History of contributing towards open-source projects
(Bonus points for) Experience in programming distributed applications on the AWS cloud environment
(Bonus points for) Practical experience in the banking domain including payment rails like ACH, Fedwire, SWIFT, Card network rails, transaction monitoring & screening, and security standards like PCI-DSS