Product Development | Burnaby, British Columbia, Canada | Full Time
Teradici is the creator of the PCoIP remoting protocol technology and Cloud Access Software, the cutting edge solution for a cloud-ready future. The Company, founded in 2004 and based in Vancouver, Canada is focused on its core mission of seamless delivery of workstations and applications for end-users.
Teradici PCoIP® technology brings the next generation of secure remoting technology to the marketplace, enabling visualization of even the most graphics-intensive applications. Teradici Cloud Access Software, built on PCoIP technology, enables enterprises to securely leverage public cloud GPU instances to confidently lift and shift the most graphics-intensive Windows or Linux applications to the public cloud, avoiding costly rewrites.
The company’s technology is deployed by Fortune 500 enterprises, government agencies and service providers from around the world. Teradici also works closely with leading cloud providers to continue delivering the best user experience and enabling our customers the ability to scale to millions of users.
We are looking for talented, creative, and team-oriented software developers to join us in building the next evolution in our industry-leading PCoIP Cloud Access Software. Our team is responsible for the development of the Trust Center component of this initiative. The Trust Center is a set of micro-services that are responsible for the management, provisioning, and authorization of IoT devices that run high-performance, ultra-secure, and highly-customizable remote access clients.
We believe in self-organizing teams, in strong communication, and supporting what we develop. We believe the best code is designed well before fingers hit the keyboard, and we are looking for team members who understand the need to deliver highly-available, resilient, self-recovering, secure services to our customers. As part of the Trust Center team, you will help shape the future of how remote desktop computing is managed, secured, and delivered to enterprise environments.
- Writing well-documented, high performance, scalable, secure, reliable, and maintainable code.
- Create proposals for technical solutions, team processes and procedures, and driving them through to adoption and implementation.
- Using TDD and writing test automation to validate code.
- Coaching other developers with regards to code quality, security, maintainability, and solution architecture.
- Bachelors or Masters in Computer Science, Computer Engineering, Software Engineering or equivalent
- 5+ years of experience developing enterprise-grade software
- First-class analytical, diagnostic and problem-solving skills
- Excellent verbal and written communication skills with an ability to collaborate with UX designers, developers, product owners, and other team members
- Passion to work in an exciting environment and deliver new technologies and products to the marketplace
- Ability to learn quickly
- Solid experience with using and creating RESTful APIs
- Practical knowledge of API security and modern authorization mechanisms, such as OAuth 2.0 and JWT
- Experience with Node.js, Go, Java, and/or Python
- Experience with Git and CI tools
- Experience with SaaS operations
- A knack for benchmarking and optimization
- Please advise in your application whether you are eligible to work in Canada
- Message queueing protocols such as AMQP, MQTT
- NoSQL databases (MongoDB, etc)
- PKI Solutions
- Experience with IoT frameworks such as Azure IoT, Eclipse Ditto / Hono
- Developing cloud-native applications using the Twelve-Factor methodology
- Using/developing microservices and operating/supporting them in production
- Event-driven architectures
- Containers and container orchestration tools (i.e. Kubernetes and Docker)
- CQRS and Event Sourcing
- Utilizing Cloud Design Patterns such as Circuit Breaker
- Defining infrastructure as code using Terraform, Ansible, or Chef
- Agile development approaches such as Scrum
- Secure products. You understand the importance of a secure SDLC and that this is not an afterthought once all the features are developed.
- Automate everything. You actively automate many manual tasks as possible so that these tasks can be repeated many times and allow us to scale.
- Self-managed teams. You hold yourself accountable for the full end-to-end lifecycle of what you are working on, from ensuring you are building something that will deliver customer value to getting it into customers' hands.
- Customer collaboration. You want feedback from customers to ensure your work is providing value and to enable you to iterate on that work.
- Tech-debt reduction. Software can live longer than you expect; therefore, you need to ensure it stays healthy and manage your technical debt accordingly.
- Collective ownership. You value contribution, wherever it comes from, and believe in peer review, continuous integration, test coverage, and customer validation.
- We offer a competitive base salary, Employee Bonus Plan (company performance based), stock option grants, retirement savings and attractive benefits package. We also offer three weeks of vacation for the first year (accrued and increased annually, up to 20 days per year).
- Monthly social events & activities.
- Luxury shuttle service to and from the nearest SkyTrain station.
- Underground and secured bike "cage".
- Fully equipped (and recently renovated) onsite gym, and Basketball and "Beach" Volleyball courts. Or you can join our yoga classes.