Skip to content

Software Engineer – Full Stack
Company | Deputy |
---|
Location | Vancouver, BC, Canada |
---|
Salary | $108000 – $121500 |
---|
Type | Full-Time |
---|
Degrees | |
---|
Experience Level | Mid Level, Senior |
---|
Requirements
- 3+ years of related work experience
- Strong computer science fundamentals: algorithms and data structures
- Proficiency in front-end (e.g. Javascript, modern frameworks like React/Vue) and back-end (e.g. PHP, Golang) development
- Expertise in API design (REST & RPC) and its frameworks, including using protobuf, gRPC, OpenAPI
- Experience building service-oriented architecture, microservices, and modern techniques and tools, including using Docker, ECS, Lambda, SQS, Kinesis, etc
- Experience in a few persistence, storage and caching mechanisms, including MySQL, Redis, DynamoDB, S3, etc
- Experience implementing responsive designs into software by developing reusable components with JavaScript, HTML and CSS
- Experience embedding 3rd party software solutions into other platforms
- Ability to build systems that include appropriate monitoring and observability, employing modern best practices for fault tolerance, including but not limited to caching, eventual consistency, queues, load balancing, circuit breaking, etc.
Responsibilities
- Working independently to solve complex, highly ambiguous customer-facing problems.
- Scope, specify, design, implement and deliver software solutions, applying modern industry best practices to deliver resilient, high-performance, high-quality, and scalable systems and applications.
- Develop end-to-end solutions, writing clean and efficient code for front-end web applications and back-end services to deliver seamless user experiences.
- Own the quality of your work by thoroughly testing your solutions, including writing automated tests.
- Collaborate with the engineering and cross-functional stakeholders to determine requirements and deliver complex problems.
- Write simple, efficient, self-documented, modular, high-quality code that follows best practices.
- Investigate, debug and solve issues within a bounded context.
- Provide coaching to junior team members across the entire SDLC.
- Engage in technical discussions of solutions and process improvement through documentation, design reviews, pair programming, code review and technology discussions.
Preferred Qualifications
No preferred qualifications provided.