View all jobs

Senior Software Engineer (C++ | Embedded Systems | IoT | Android)

  • Toronto, Canada

Job Title: Senior Software Engineer – Embedded Systems (C++ | IoT | Android)
Location: Toronto, ON
Duration: Contract
Work Model: Hybrid
Interview Process: In-Person Interview

Role & Responsibilities

  • Design, develop, and maintain embedded software applications using C++, C, and Python.

  • Develop software components for embedded systems, IoT, and mission-critical platforms.

  • Build and enhance Android platform applications and system components.

  • Design and implement REST APIs and integrate with cloud services.

  • Develop automation tools and deployment scripts using Python and Shell scripting.

  • Work with Docker and Kubernetes for containerized application development and deployment.

  • Perform software integration, debugging, troubleshooting, and performance optimization.

  • Create and execute unit, integration, and system test cases using GTest and Gherkin.

  • Collaborate with cross-functional teams, including hardware, QA, DevOps, and product engineering.

  • Participate in code reviews and ensure adherence to coding standards and best practices.

  • Prepare and maintain technical documentation, design specifications, and test reports.

  • Support Agile/Scrum development processes and CI/CD practices.

Required Skills

  • Strong programming experience in C++, C, Python, and Java.

  • Expertise in Embedded Software Development.

  • Experience with Android Platform Development.

  • Knowledge of IoT Solutions and connected devices.

  • Hands-on experience with Linux (Ubuntu), QNX, Windows, and macOS.

  • Experience with Docker and Kubernetes.

  • Knowledge of AWS services (EC2, S3, IoT Core, CloudWatch, Kinesis).

  • Experience in REST API Development.

  • Proficiency with Git, Visual Studio, Eclipse, PyCharm, VMware, and Wireshark.

  • Knowledge of Terraform, Shell Scripting, and MySQL.

  • Experience with GTest, Gherkin, MC/DC Testing, and software automation.

  • Strong debugging, troubleshooting, and performance optimization skills.

Preferred Qualifications

  • 8-10 years of software development experience.

  • Experience with embedded Linux and real-time operating systems.

  • Knowledge of mobile security and Android frameworks.

  • Strong analytical and problem-solving skills.

  • Excellent communication and teamwork abilities.

  • Bachelor's or Master's degree in Computer Science, Information Technology, or a related engineering discipline.