Position Overview As a Software Developer, you will design, develop, and maintain software systems that enable seamless interaction between embedded devices and user-facing applications. You will work across the stack, from low-level communication libraries to modern front-end applications, helping deliver reliable and intuitive experiences for customers.
This role is ideal for someone who enjoys working on end-to-end systems, embraces modern development practices, and is passionate about building high-quality software in a collaborative environment.
What you'll be doing - Design, develop, and maintain portable communication libraries in C++, C#, and .NET
- Build and enhance modern front-end applications for device configuration and monitoring (e.g., web-based UIs)
- Develop clean, maintainable, and scalable code across the stack
- Design and implement APIs and services that integrate with embedded devices and cloud systems
- Work with communication protocols (serial, USB, TCP/IP) to interface with hardware
- Collaborate with cross-functional teams including firmware, cloud, and application developers
- Contribute to modern architecture initiatives such as microservices, modular systems, and API-driven design
- Participate in code reviews, design discussions, and continuous improvement efforts
- Debug and troubleshoot complex issues across hardware/software boundaries
- Contribute to automated testing, CI/CD pipelines, and DevOps practices
- Explore and adopt AI-assisted development tools
What you bring- A degree in Engineering, Computer Science, or a related field, or equivalent experience
- Experience in software development
- Proficiency in C++, C#, or .NET
- Familiarity with front-end technologies such as JavaScript or TypeScript, and frameworks like React or Angular
- Understanding of object-oriented design, data structures, and algorithms
- Experience using version control systems such as Git
- Exposure to or interest in system integration and device communication
- Strong problem-solving abilities and attention to detail
- Ability to collaborate effectively within a team, including in a global environment
You might also have- Exposure to modern software architectures such as microservices, event-driven systems, or cloud-native development
- Familiarity with DevOps practices and tools, including CI/CD and containerization (e.g., Docker)
- Experience working with hardware interfaces or communication protocols (such as UART, SPI, I2C, or USB)
- Knowledge of cross-platform development and portability considerations
- Exposure to automated testing frameworks
- Experience building responsive and user-friendly web applications
- Contributions to open-source projects or personal technical work
We recognize that skills and competencies can be developed through a variety of experiences, both professional and personal. Even if you don't meet every single requirement listed, we still encourage you to apply. Your unique background and perspective could be exactly what we're looking for.
Territorial AcknowledgementSchneider Electric Victoria acknowledges that our people are privileged to live and work in the traditional territories of the Lkwungen, Malahat, Pacheedaht, Scia'new, T'Sou-ke and WSÁNEĆ peoples. We are committed to respectfully acknowledging history while working toward shared prosperity with Indigenous communities.
This job posting represents an active opportunity within our team. All applications are reviewed directly by our recruitment professionals, and no AI is used in the screening or selection process.
Let us learn about you! Apply today.You must submit an online application to be considered for any position with us. This position will be posted until filled.