Job Duties
- Apply industry-standard software development methodologies to design, program, and test automotive, mobile, and embedded software based on system architecture and requirements specifications.
- Review and analyze high-level software designs and test plans; interpret software and system requirements and develop corresponding low-level design specifications for implementation and testing.
- Implement software designs into high-quality code following architectural guidelines and applying modern algorithms, tools, and programming techniques.
- Integrate, optimize, and debug third-party software modules, and customize and port software to designated hardware platforms, mobile devices, and automotive systems.
- Develop automated test scripts and test configurations using XML, Python, and other scripting languages to enhance testing efficiency and coverage.
- Program, debug, and execute automated test suites across multiple target platforms, including automotive systems and mobile devices.
- Apply Test-Driven Development (TDD) methodologies to design test plans, test cases, and test scripts; perform software verification phases including Unit, Functional, Integration, Regression, Stability, and Performance testing.
- Follow established development processes and quality standards; generate and monitor software quality metrics such as code coverage and performance benchmarks.
- Prepare detailed status updates and communication reports for project teams and management, documenting progress, risks, and issue resolutions.
- Report software defects and anomalies using issue-tracking systems (e.g., Jira, RTC), providing detailed failure logs and supporting information to assist in root-cause analysis and resolution.
- Configure and maintain software development tools, hardware test devices, test benches, and automotive test environments, including CAN/LIN/Ethernet-AVB diagnostic tools and related equipment.
Knowledge and Skills Applied
- Computer Science fundamentals, software development lifecycle, and software testing methodologies.
- Embedded operating systems including Android, QNX, and Linux.
- Android and automotive infotainment frameworks, mobile and in-vehicle application software.
- Automotive communication networks and protocols, including CAN, LIN, MOST, and Ethernet-AVB, and use of related testing tools.
- Embedded software systems including telematics, navigation (GPS/Maps), connectivity (WiFi, Bluetooth, Cellular), multimedia systems, and in-vehicle applications.
- Automated testing frameworks, simulation tools, and processes for converting manual tests to automated test suites across multiple software versions and releases.
- Programming and scripting languages, including Python, Java, C, XML, and Bash/UNIX shell.
- Software verification phases including Unit, Coverage, Functional, Integration, Regression, Stability, and Performance testing.
- Software version control, issue tracking, build systems, and analysis tools.
- Experience with microservices, RESTful APIs, distributed systems, and data processing pipelines.
- Familiarity with cloud platforms, HPC/parallel computing, and performance optimization techniques.
Email resume to CieNet Technologies Inc.: recruit-ca@cienet.com
Master's degree in Computer Science, Electrical Engineering, or Computer Engineering.
Relevant Graduate-Level Coursework
Relevant graduate-level project or coursework in at least three (3) of the following areas:
- Embedded Systems
- Computer Networks
- Communication Networks
- Design and Analysis of Algorithms
- System Simulation and Modeling