Posted 2 months ago
Intermediate Software Developer
AI Summary
An intermediate software developer designs, develops, tests, and debugs C++ applications to support video recording solutions and helps migrate them from on-premises embedded systems to cloud-native, edge-to-cloud architectures.
About this role
The candidate will join an existing team that develops video recording solutions on VSS servers. They will primarily focus on core functionalities and contribute to the system’s evolution from an on-premises recorder to a cloud-based architecture.
The candidate will work under the supervision of a local manager with periodic reviews of completed tasks.
The candidate is able to:
- Design, develop, test, and debug C++ applications in Windows and Linux environments;
- Design and implement services and components that enable edge-to-cloud integration;
- Contribute to the evolution of our REST-based service layer, decoupling it from the underlying runtime environment (embedded vs. cloud);
- Support and participate in the migration of existing applications from Yocto/Linux embedded systems to cloud-native environments;
- Define and implement deployment architectures (container-based and/or cloud-native);
- Support the team in resolving customer issues;
- Develop and contribute to the high-level design strategy for key projects.
Requirements
EXPERIENCE / QUALIFICATIONS
- Bachelor’s or ** Master’s degree** in Computer Science or Engineering (Computer Science);
- 3+ years of experience as a software engineer in Linux or Windows C++ Dev;
- Experience designing and developing scalable, high-performance, and highly available embedded and/or server applications;
- Experience in the development of client/server applications in C++ (desirable knowledge of ** C++20 features **, Boost, STL);
- Real-time operating systems, inter-process communication and multi-threaded applications;
- **Embedded system development **, cross platform development;
- Experience with cloud platforms (e.g. ** AWS **, Google Cloud, Azure, OpenStack);
- Familiarity with databases systems and languages;
- Knowledge of networking protocols and tools (e.g. UDP/IP, TCP/IP, HTTP, RTSP/RTP, Wireshark, Fiddler, …);
- Experience in an Agile software development environment (SCRUM);
- Object-oriented design and design patterns;
- Ensure ever-increasing quality through enhanced testability and test automation (BDD);
- Excellent written and oral communication skills;
- **Fluent English **.
DESIDERABLE ASSETS
- Familiarity with YOCTO;
- Experience with containers and orchestration technologies (Docker, K8s).
Benefits
We offer a competitive salary, along with benefits package that include:
- Professional development opportunities with a personal training budget;
- Flexible working hours;
- Hybrid work agreement (2 days per week remote work);
- Physical Activity Policy;
- Fruit day in the office (once a week).
Skills
Explore related jobs
More jobs at March Networks
- Channel Account Manager - New Mexico, Arizona, Utah - USAUnited States
- Intermediate Software Developer (Vortex)Ottawa, Ontario
- Regional Sales Manager - MexicoMexico City, Mexico City
- Director, S&OP and Strategic ProcurementOttawa, Ontario
- Senior Sales Operations Analyst - USA - (remote)United States
- Senior Sales Operations Analyst - OttawaOttawa, Ontario