Description ABOUT THIS ROLE We are looking for an ambitious
software developer to join our team. In this role, you will contribute new features to our Currency Data API (https://www.xe.com/xecurrencydata/) and the systems responsible for generating the mid-market rate consumed by millions of end users. Our platform is primarily Java-based, using Amazon Web Services and the latest open-source frameworks and technologies.
ROLES & RESPONSIBILITIES - Own the design, development, testing, and deployment of partner integrations, including customer-facing APIs.
- Design the next generation of our microservices
- Keep up with best practices for systems architecture
- Ensure all components are highly scalable, maintainable, and monitored
- Deliver quality code following best practices
- Collaborate with our product team to ensure we deliver the right thing the right way
- Write automated unit and integration tests
POSITION REQUIREMENTS - Degree in computer science, software engineering, or related discipline
- Proven hands-on software development experience, preferably in Java or Kotlin
- Object-oriented analysis and design using common design patterns
- Experience in the Spring Framework
- Experience with test-driven development
- Experience designing and consuming REST APIs
- Experience integrating with third-party APIs
- Strong communication and collaboration skills
- Good understanding of NoSQL and SQL databases
- Can-do attitude and a proactive work ethic
NICE-TO-HAVES INCLUDE - Experience with Python
- Exposure to Valkey/Redis for caching and data storage
- Experience working with AWS and using services like Lambda, ECS, DynamoDB, Kinesis, SNS, SQS, EventBridge, and API Gateway
- Experience with Docker, Terraform, CI/CD (preferably GitHub Actions)
- Experience with Vue.js or similar front-end frameworks
PERKS & BENEFITS - Salary - 100K CAD to 139K CAD depending on experience
- Health and dental coverage
- RRSP employer match
- Employee Stock Purchase Plan
- Personal Days
- A day off on your birthday
The position responsibilities outlined above are intended to define the general contents and requirements to perform this job. It is not to be taken as a complete statement of responsibilities or requirements. This job description does not restrict the Company's right to assign or reassign duties and responsibilities to this job as needed.