Senior Software Engineer (C++ | Embedded Systems | IoT | Android)
Skills
About the role
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.
Questions about this role
Want AI Applyd to auto-apply to roles like this?
We tailor your resume per posting, fill the forms, and track replies for you.