Job Responsibilities
- Identify problems, propose solutions, and contribute to solving issues beyond your specialty.
- Use domain modeling techniques to build best-in-class business products.
- Structure software for easy understanding, testing, and evolution.
- Build scalable solutions that avoid single points of failure and continuously update technologies and patterns.
- Develop secure code to protect customers and the organization from malicious actors.
- Investigate and fix issues promptly, ensuring zero downtime for end-users during releases.
- Monitor performance and use the right approach to identify and solve problems.
Required qualifications, capabilities and skills
- Formal training or certification in software engineering concepts and 3+ years of applied experience.
- Experience as a back-end software engineer with a solid approach to writing unit-level tests using mocking frameworks and automating component, integration, and end-to-end tests.
- Extensive experience with JVM languages (Java/Scala/Kotlin, preferably Java 8+) and automating deployment, releases, and testing in CI/CD pipelines.
- Understanding of security frameworks/standards, data streaming and messaging frameworks (Kafka, Spark, etc.), distributed tracing and monitoring (Zipkin, OpenTracing, Prometheus, ELK stack, Micrometer metrics, etc.), and experience with containers (Docker, Kubernetes, etc.).
- Professional experience in an agile, dynamic, and customer-facing environment.
- Understanding of distributed systems and cloud technologies (AWS, GCP, Azure, etc.), dependency injection frameworks (Spring/SpringBoot, Guice, etc.), microservices architecture, RESTful APIs, web technologies, and relational databases.
- Experience in lending.
Preferred qualifications, capabilities and skills
- Ability to work in a collaborative environment and coach team members on coding practices, design principles, and implementation patterns for high-quality maintainable solutions.
- Ability to work in a dynamic, agile environment within a geographically distributed team and focus on promptly addressing customer needs.
- Work within a diverse and inclusive team.
- Technically curious, versatile, and solution-oriented.
- Excellent written and verbal communication skills in English.