
Software Engineer
- North York, ON
- $107,816-115,000 per year
- Permanent
- Full-time
- Develop and debug all layers of a large-scale real-time control and monitoring application.
- Design and develop a resource-constrained Linux environment using C/C++
- Back-end software development and design in C++ and C# for a Windows Environment using .Net, WCF and Websockets
- Front-end development using C#, .Net and WPF for native Windows applications
- HTML5 web application development using VueJs
- Unit test, system test, integration, and general troubleshooting of media centric software systems.
- Research and provide technical evaluation of relevant technologies for the real-time control and monitoring system.
- Troubleshoot and reproduce issues found in customer environments using available tools.
- Bachelor’s Degree in Computer Science or Software Engineering (or equivalent degree)
- 3+ years of strong hands-on experience with back-end software development technologies for a Linux environment including C/C++.
- 3+ years of hands-on experience with back-end software development for a Windows environment including C++, C#, WCF, Websockets and .Net
- 3+ years of experience of proficiency with front-end software development for native Windows applications using C#, WPF and .Net.
- 3+ years of experience with strong knowledge of HTML5 web application development using VueJs.
- 3+ years of hands-on experience with designing, developing and consuming REST APIs.
- 3+ years of hands-on experience with developing and debugging low-latency, asynchronous, non-blocking TCP socket code in C#.
- 3+ years of proven experience developing large-scale, highly-responsive, low-latency, long-running and timing critical back-end Windows Services for a real-time control and monitoring system.
- 3+ years of hands-on experience with debugging in a multi-threaded environment.
- Good understanding of object-oriented programming and design patterns.
- Detail oriented with an ability to learn quickly in a dynamic environment.
- Well-developed communication skills, both written and oral, and leadership skills. Able to communicate with both internal and external customers and convert requirements to technical specifications.