Job Description
Summary
Are you a highly skilled and passionate software engineer looking for an exciting new challenge? Join Ripple and help redefine the way we send and receive payments globally! As a Senior Software Engineer, you will have the opportunity to build enterprise-level payment applications that enable banks to settle cross-border payments instantly, securely, and efficiently.
We are looking for a Senior Engineer to join the Reporting team in RippleNet Payments to build solutions that provide customers with best in class experience in financial operations and Payments deporting. You will join a Core data team, working alongside data analytics and science experts to build intelligent systems that support data driven decision making.
We are passionate about the growth of our engineers and place a premium on career development. You will have a high degree of accountability and responsibility from Day 1.
WHAT YOU’LL DO:
- Be an entrepreneurial builder, working up and down the stack, mixing software engineering, data engineering, and distributed systems knowledge to build modern enterprise payment applications.
- Build reliable, high-throughput, low-latency microservices to power seamless cross border transactions.
- Participate in the full software development lifecycle by gathering requirements, leveraging sound software design principles, and ensuring operational excellence with unit & integration testing, and by ownership of monitoring and resolution of production issues
- Work with teams across the organization, including product, legal, and business development to think beyond the technical implications of your design decisions
- Continuously raise our standard of engineering excellence by implementing and driving best practices for coding, testing, and deployment
- Proactively identify customer and infrastructure pain points and drive corresponding solutions.
- Mentor and support growth of junior engineers.
WHAT YOU’LL BRING:
- Proficient in Java (or similar language): Ability to develop, optimize, and maintain robust and scalable reporting services using Java and the Spring Boot framework.
- Knowledge of NoSQL or similar databases is a plus for designing, implementing, and managing reporting data models and has keen understanding of db performance.
- Understanding of distributed systems: Knowledge of distributed systems concepts and best practices to ensure high availability and fault tolerance for micro/macro-services.
- Operational Excellence - Demonstrable experience supporting production systems - using observability best practices to drive data-driven decisions in understanding scale and resilience bottlenecks.
- Experience in building transactional systems backed by modern persistence technologies (Postgres, Aurora, DynamoDB etc.)
- Experience with Agile development of distributed services, with a focus on robust software design, scalability and security.
- Experience building and deploying containerized applications into modern distributed computing environments (Gitlab CI, Kubernetes, Argo etc.)
- Familiarity with Databricks or other Data warehouse or Data lake platforms
- Experience driving long-term cross team engineering initiatives
- Security awareness, with an emphasis on designing for security best practices
- Eagerness to work openly and collaboratively with a diverse team
- Ability to encourage and drive engineering best practices
- A positive attitude and a passion for sharing knowledge
- Preferred Data management and analytics experiences in related financial services domain.
- BS in Computer Science or similar
Skills
- Database Management
- Java
- Software Engineering
- SQL
- Team Collaboration