Location: Vancouver, BC (Hybrid)
Type: Long Term Contract/Full Time
Required Skills:
- Minimum of 5 years' experience in the development of cloud or server-side products, within a professional software development organization
- Minimum of 8 years' overall relevant professional experience
- Expertise related to public clouds like Microsoft Azure (preferred) or Amazon AWS and their toolsHands-on programming experience in one of: PHP, Java
- Experience with RESTful web services, XML and JSON
- Strong problem solving and analytical skills
- Solid software design knowledge you should know how to create software that is extensible, reusable and meets desired architectural objectives
- Mastering software design concepts, design patterns, algorithms and data structures
- Experience in writing documentation and creating system design diagrams
- Been in a position of technical lead, design lead or architect
- Practical experience with source control systems, task and requirements management systems
- A Bachelor's or Master's Degree in Computer Science, or similar, or equivalent experience
- Excellent communication skills, both oral and written
- Available to work in the PST timezone (remote work and work-from home is acceptable, especially in the short term; later, frequent local interaction preferred)
- Be located in Vancouver, Canada, or willing to relocate there within 6-12 months
- At least 10 years' overall relevant professional experience
- Experience in either C#, C++, Python or Scala
- Experience with building and managing software packages or server images
- Experience working with Cloud-based server environments
- Experience in the development of custom solutions and services based on Cloud services
- Experience in managing Linux-based infrastructure
- Understanding of designing for scalability and performance optimization
- Understanding of designing for robustness, reliability and security
- Experience in developing Microservices or Business Services or APIs
- Understanding of Service Discovery, Inter-Service Communication, Service Deployment and Service Orchestration frameworks
- Good knowledge and experience with Kubernetes, Docker, Jenkins
- Familiarity with "Infrastructure as Code" tools such as Terraform, CloudFormation, Azure Resource Manager
- Familiarity with databases, such as Redis, Cassandra, MySQL or PostgreSQL
- Experience with test automation and test frameworks
- Solid practitioner of the Agile/Scrum development process, ideally with test-driven development, DevOps and continuous integration/deployment (CI/CD)
- Familiarity with DevOps tools such as Packer, Vagrant, Vault or Consul
- PHP, Microservices and AWS