We are currently looking for a Senior Software Designer who is passionate about software development, is a team player and is driven to deliver high quality products to our customers. The selected candidate will have an industry-proven track record developing, deploying and supporting cloud-based software applications. He/she will work as part of a development team and will collaborate closely with engineering architects, managers and the team as a subject matter expert on cloud technologies. In this role, you will assist in the analysis of requirements, the selection of appropriate technologies including building prototypes, the design and implementation of features and functionalities as well as maintenance and support.
- Participate in the development of the product architecture (monolithic vs. microservices...) for a high bandwidth, low latency and real-time system;
- Participate in the implementation of features and functionalities;
- Ensure the high quality of the code with code reviews, unit tests and integration tests;
- Collaborate with colleagues in the development and execution of a DevOps strategy;
- Provide guidance to engineering and product managers on relevant cloud technologies;
- Support engineering, applications and SQA teams in the development of cloud-based competencies.
- Bachelor's degree or higher in Software Engineering, Electrical Engineering with computer science option, Computer Science or equivalent;
- Strong knowledge of object oriented programming and modern C++;
- 10+ years of software development experience;
- 3+ years in a cloud engineering role or related position;
- Must be able to communicate in both French and English (spoken and written).
- Experience in Agile and Scrum practices;
- Experience in UML techniques and practices;
- JIRA, Agile/Scrum tool;
- Git/ Bitbucket version control and code review;
- Visual Studio;
- GCC, Clang, CMake, Make (makefiles), Bash, GDB, PowerShell;
- RESTfulAPI, socket programming, WebSocket;
- Knowledge of video technologies and processing;
- Knowledge of unit test frameworks;
- Knowledge of Microsoft COM technologies;
- Knowledge of Node.js, Windows IIS, Angular.
- Ability to work in a team to deliver high quality software within time and budget constraints;
- Experience developing microservice applications in a cloud environment
- Experience with AWS or Azure platforms
- Experience with CI/CD and automated delivery systems;
- Experience with cloud compute, storage, networking and security;
- Experience developing solutions using container and orchestration technologies (example: Docker, Kubernetes);
- Experience writing multiplatform libraries (Windows/Linux);
- Ability to debug real-time scenarios and in multi-threaded environments.