Senior Software Engineer
Imagine Communications View all jobs
- Toronto, ON
- Permanent
- Full-time
- Design, develop, and maintain high-performance backend components in modern C++.
- Implement and optimize real-time stream processing microservices within an existing microservice framework to deliver high bandwidth, low latency media processing.
- Analyze and improve CPU utilization, memory usage, network stack and kernel interactions and overall system performance.
- Profile and troubleshoot complex C++ applications to identify bottlenecks and inefficiencies.
- Develop and maintain REST-based services and interfaces.
- Work within Linux environments to build, debug, and deploy software solutions.
- Maintain and extend Bash scripting microservices orchestration layer.
- Collaborate with QA, DevOps, and product teams to ensure robust feature delivery.
- Participate in code reviews and contribute to continuous improvement of code quality and architecture.
- Support ongoing code maintenance, refactoring, and technical debt reduction.
- Bachelor’s degree in Computer Science, Software Engineering, or equivalent experience.
- Senior-level experience in backend software development using modern C++.
- Strong expertise in multithreaded programming and concurrency concepts.
- Proven experience developing near real-time or high-performance systems.
- Solid understanding of CPU performance, memory management, Linux scheduling and application profiling techniques.
- Hands-on experience working on real-time or near real-time processing in Linux environments.
- Experience implementing or consuming REST APIs (Microsoft C++ REST SDK or similar frameworks).
- Strong knowledge of TCP/IP networking fundamentals.
- Excellent debugging, analytical, and problem-solving skills.
- Proficiency with Bash scripting.
- Strong communication skills and ability to work effectively in Agile teams.
- Experience with high-performance networking: 100Gb/sec+, InfiniBand, RDMA, OFED, Ibverbs
- Experience in broadcast or media processing environments.
- Familiarity with SMPTE ST 2110, SMPTE 2022-6, playout, ingest, or transcoding technologies
- Familiarity with video processing technologies including FFmpeg (or similar) framework
- Exposure to UI or web-layer development.