# Staff Software Engineer

**Company**: EarnIn
**Location**: Vancouver, Canada
**Work arrangement**: hybrid
**Experience**: staff
**Job type**: full-time
**Salary**: $252,000-$308,000
**Category**: Engineering
**Industry**: Technology

**Apply**: https://job-boards.greenhouse.io/earnin/jobs/7680387
**Canonical**: https://yubhub.co/jobs/job_65befd80-0e2

## Description

We're seeking an experienced Staff-level backend software engineer to join our Live Pay team. You'll work cross-functionally with various teams and contribute to the design and development of key platform services. This person must be strong in JVM languages and event-driven architecture on AWS.

The Canada base salary range for this full-time position is $252,000-$308,000, plus equity and benefits. Our salary ranges are determined by role, level, and location. This role will be hybrid from our Vancouver, CAN office, with 2 days a week in the office required.

Responsibilities:

- Drive the design and implementation of new features. Break down complex problems into their bare essentials, translate this complexity into elegant design, and create high-quality, clean code.

- Make a meaningful impact on the lives of our community members.

- Design, develop, and deliver large-scale systems.

- Collaborate and mentor other engineers while providing thoughtful guidance using code, design, and architecture reviews.

- Contribute to defining technical direction, planning the roadmap, escalating issues, and synthesizing feedback to ensure team success.

- Estimate and manage team project timelines and risks.

- Care passionately about producing high-quality, efficient designs and code.

- Constantly learning about new technologies and industry standards in software engineering.

- Work cross-functionally with other teams, including: Analytics, design, product, marketing, and data science.

Requirements:

- 7+ years of development experience in backend software development

- Bachelor's, Master’s, or PhD in computer science, computer engineering, or a related technical discipline, or equivalent industry experience.

- Proficiency in at least one modern programming language, such as Java, Kotlin, Scala, or C#, and experience with at least one major framework such as Spring, Spring Boot, or ASP.NET Core.

- Hands-on experience working in cloud environments: AWS, GCP, or Azure

- Proficiency in event-driven systems such as Kafka, SQS, SNS, or Kinesis, and experience designing and operating scalable distributed systems.

- Knowledge of professional software engineering practices and best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations

- Hands-on experience working with various databases. DynamoDB, MySQL, ElasticSearch

- Experience using AI-assisted development tools (e.g., Copilot, Cursor, LLMs) to improve engineering productivity

- Experience with continuous integration and delivery tools, and experience in developing and executing functional and integration tests.

- Familiarity with a clean architecture approach and software craftsmanship

- Experience with Kubernetes and microservice architecture is a strong plus.

- Excellent written and verbal communication skills.

## Skills

### Required
- Java
- Kotlin
- Scala
- C#
- Spring
- Spring Boot
- ASP.NET Core
- AWS
- GCP
- Azure
- Kafka
- SQS
- SNS
- Kinesis
- DynamoDB
- MySQL
- ElasticSearch
- AI-assisted development tools
- Continuous integration and delivery tools
- Clean architecture approach
- Software craftsmanship
- Kubernetes
- Microservice architecture
