Software Developer
Seattle, WA • Senior-Level Backend / Software Engineering
Interview Process: 2 Rounds – Technical Coding + System Design
Job Description
- Designs at the organization level, considering up/downstream integration.
- Designs systems where implementation spans multiple weeks or months and incorporates a full team's worth of engineers.
- Makes technical decisions and influences priorities and tradeoffs that enable solutions to achieve short- and long-term business objectives.
- Takes ownership of systems or designs that span multiple people's work, breaking work into smaller tasks for more junior engineers to support.
- Understands tradeoffs in different types of engineering processes and can adjust a team process to meet the needs of the project and others on the team.
Engineering Practices
- Understands relevant architecture, network or systems across the team.
- Deeply familiar with standard industry practices for work tracking to ensure work delivery is consistent, measurable and within stated goals.
- Has a strong understanding of the business and is aware of how strategies and tactics work in the marketplace.
- Leads work processes and design reviews across the team.
- Identifies potential gaps and solutions to problems that may not exist yet.
- Should be a strong MS SQL developer as it involves backend SQL work.
Technology & Skills
- Minimum 5 years of professional experience in delivering quality software, ideally across the full stack.
- Excellent proficiency in an Object-Oriented language, such as Java.
- Proficient with Java and Java Spring Boot Framework.
- Containerization experience with K8s / Docker.
- Test automation experience at all levels including Unit, Integration, Regression and Load.
- Familiarity with modern infrastructure tools and pipelines such as GitLab CI/CD and Terraform.
- Experience with RESTful architecture and microservices.
- Experience with system design, architecture, scaling, and performance testing.
- Experience building services is a plus.
- Experience with cloud technologies, especially AWS.
- Experience with databases such as Postgres.
- Experience with cache-based low-latency system design.
- Familiarity with CI/CD and testing tools.
- Strong understanding of computer science fundamentals.
- Familiarity with operations tools, logging, and metrics such as New Relic and Splunk.
- Experience with messaging technologies and patterns such as Kafka and SQS.
- Strong communication skills.
- Self-sufficient and able to work with the details, execute cross-functional communication, and own requested design changes while helping others.
Additional Technologies
- Java
- AWS
- Kafka
- Kubernetes
- SQL