Software Engineer 2
Newark, CA
6 months
Summary: The main function of a Software Engineer is to design, develop, implement, test, and maintain business and computer applications software or specialized utility programs including mainframe and client/server applications, and major enhancement of existing systems
Job Responsibilities: Fine-tune and improve a variety of sophisticated software implementation projects Gather and analyze system requirements, document specifications, and develop software solutions to meet client needs and data Analyze and review enhancement requests and specifications Implement system software and customize to client requirements Prepare the detailed software specifications and test plans Code new programs to client’s specifications and create test data for testing Modify existing programs to new standards and conduct unit testing of developed programs Create migration packages for system testing, user testing, and implementation Provide quality assurance reviews Perform post-implementation validation of software and resolve any bugs found during testing
Qualifications: Bachelor's degree in engineering required 2-4 years experience required A solid foundation in computer science, with strong competencies in data structures, algorithms, and software design large systems software design and development experience Experience performing in-depth troubleshooting and unit testing with both new and legacy production systems experience in programming and experience with problem diagnosis and resolution
Job Description:
- Involved in the testing of software/firmware in the automative domain
- Design, develop and build vehicle validation tests cases
- Perform analysis and record and track software bugs to closure
- Work cross functionally to identify risks and opportunities for product integrity and user experience
- Plan and execute system-level test cases related to OTA updates
- Perform and collaborate tests on vehicles across all the models and markets
- Analyze test data to verify system behavior troubleshooting issues and raising bug tickets
- Clearly communicate test results, collaborate with stakeholders globally to discuss issues detected and work on next action plan
- Traveling for testing purposes to support end to end OTA validation
- Triaging bugs and serving as primary interface to issues encountered in field
Business Unit & Key Projects
- Purpose of this team – Software Quality & Engineering Team. Mainly does validation and electrical integration updates
- Reason for the request – short on resources, need a contractor to start working on validation.
- Surrounding team & key projects – Work on all released products
- Motivators for this need – Skillset ? ASAP
Typical Day in the Role
- Typical task breakdown and operating rhythm – Most of the time is spent in validation for software release and review test cases to be executed. Meetings will be light but necessary to locate root cause of issues identified in the software.
- Interaction level with manager/team – Collab with other team members and groups (especially to resolve software issues)
- Chance for extension later? – possible, pending budget.
- Expected working hours – 40 hours/week – could be with peak season, once in 3 weeks. No estimate at this time.
- Location Requirements – Newark, CA Onsite ? assigned seat
Compelling Story & Candidate Value Proposition
- What makes this role interesting? – Good exposure to technology that is closely related to connectivity and mobile connectivity.
- Team Culture – Highly connected team that works really well together. Very coordinated and available to collaborate.
Candidate Requirements
- Years of Experience Required – 2+ years of experience in automotive embedded testing experience.
Mandatory experience:
- 2+ years of experience in automotive embedded testing experience.
- 2+ years of experience on microcontroller architecture, memory layouts, device drivers, compiler and debugger.
- Hands on experience in UDS, CAN and Ethernet protocols.
- Hands on experience on UDS flashing commands
- Hands on experience in Automative testing tools like CANoe, CANalyzer, CANstress and WireShark.
- Degrees or certifications required – bachelor of engineering
- Disqualifiers – lacks automative experience
- Best vs. Average – Best must have all mandatory requirements + preferred knowledge in python and/or any scripting language and familiar with Linux platform.
- Client experience preference – Nice to have but not important.
- Performance Indicators – meeting deadlines critical, time management and ability to collaborate is necessary to successfully navigate team and responsibilities.
Candidate Requirements (continued)
1. 2+ years of experience in automotive embedded testing experience.
2. 2+ years of experience on microcontroller architecture, memory layouts, device drivers, compiler and debugger.
3. Hands on experience in UDS, CAN and Ethernet protocols.
Additional Details & Logistics
- Equipment – laptop (PC), building access, no monitor, no Studio Live or RetailNext.
- Overtime (busy times, etc.) – Potential with peak season, once in 3 weeks. No estimate at this time.
- Expenses (parking, food, etc.) – no.