Apply state-of-the-art industry-standard software development methodologies and techniques to design, program, and test automotive, mobile, and embedded software based on the architecture and requirements specification under a technical manager or lead engineer's supervision.
Review software architecture and requirements specifications and understand the features and functionality of the software.
Review and analyze high-level software design and test plans based on software requirements
Understand product/software system requirements/architecture/high-level design and develop a low-level design for software verification and testing
Follow Test Driven Development methodology to develop software and automated unit tests for white box and coverage testing
Implement software design into code, including writing the code per architecture and design to produce high-quality code using state-of-the-art algorithms, tools, and programming techniques
Integrate, optimize, and debug third-party modules and tailor and port software to designated hardware and mobile devices
Develop automation scripts using test frameworks. Configure, program, debug, and execute the automated test scripts in XML, Python, or other languages across multiple target platforms.
Develop test plans, cases, and scripts to verify the developed software
Perform various software verification phases, including - Unit, Functional, Integration, Regression, Stability, and Performance Testing
Adhere to development processes and quality, generate and monitor the required metrics (Code Coverage, Performance, etc.)
Provide detailed status and comprehensive communication reports to the project and management teams
Report software problems and bugs in the issue tracking system (like Jira, RTC, etc.) and provide failure details and logs to help resolve issues
Set up software and hardware tools, devices, and modules and maintain test devices, benches, and vehicles in the development and test environment
Requirements
Knowledge and Skills Applied:
Computer Science, software development, and testing fundamentals and a thorough understanding of different verification methodologies, strategies, and tools
Embedded operating systems like Android, QNX, Linux, etc
Android and Infotainment software systems, Frameworks, and application software for the Android platform, mobile, automotive, and Infotainment software
Automotive networks and protocols (CAN, LIN, MOST, Ethernet AVB) using testing tools for these protocols
Embedded software systems - like vehicle control (Telematics, CAN, LIN, and Ethernet AVB), navigation (GPS, Maps), connectivity (WiFi, Bluetooth, and Cellular), multi-media (Audio, Video, and Radio), and automotive (In-vehicle applications) systems
Automated testing frameworks, simulation, converting manual tests to automated tests, and executing, analyzing, and reporting automated test runs on multiple software versions and releases
Languages: Java, C/C++, Perl, Python, XML, Windows, and UNIX shell
Phases of software verification include - Unit, Coverage, Functional, Integration, Regression, Stability, and Performance Testing
Software versioning, issue tracking, software build, and analysis systems
Relevant Project or Graduate level course work in at least 3 of the following areas:
Communication Networks
Computer Systems Security
Design & Analysis of Algorithms
Digital Communications
Digital Image Processing & Analysis
Embedded Systems
Machine learning, Deep learning, Data visualization & Analysis
Mobile & AR/VR development
Networking, Distributed & Concurrent Programming
Power Electronics/Vehicle Electronics
Smart Sensors/Robotics
System Simulation & Modeling
UI/UX design & demo creation
Education Requirements:
Master's degree in Computer Science, Information Science, Electrical Engineering, or Computer Engineering.
Benefits
Full-time salaried position
Excellent Health, Vision and Dental Benefits
PTO and Sick Leave
401K Matching
How strong is your resume?
Upload your resume and get feedback from our expert to help land this job
How strong is your resume?
Upload your resume and get feedback from our expert to help land this job