What are the responsibilities and job description for the Product Software Integration and Test Engineer position at ATR International?
About this Job:
12 month contract
San Diego, CA
On-site
Pays up to $56
Job Summary:
As a Product Software Engineer , this role requires working on Product Software development and testing tasks for various programs (e.g. Smartphones ( Linux, Android OS etc.), Computing devices (e.g. Laptops, Servers) , Automotive Infotainment & ADAS systems ,and other consumer & Industrial IoT products). You will work and collaborate with various other Client Engineering teams e.g. Software, Systems , Hardware, Architecture and Test teams for delivering end to end product software solution for such programs.
Software Integration Tasks :
· Integrate software components and configurations to meet product specifications.
· Maintain and enhance automation for continuous integration systems.
· Resolve build failures, resolve any software interface dependencies.
· Create and maintain build scripts to optimize the build generation process.
· Manage software configuration using version control system ( e.g. Perforce or GIT or Github etc.)
· Announce and release new software baselines.
Product Software Sanity Testing:
· Sanity test the incremental builds to catch any regression issues due to new integration tasks. This testing happens on-target devices, simulators and reference platforms.
· Debug any sanity test failures. This requires understanding of common on-target debugging tools such as JTAG, ADB , simulators, log analysis etc.
· Create scripts to automate the test scenarios and process logs.
· Create test plans to cover test coverage for new features being enabled through software integration cycles.
· Collaborate for design and code-reviews with other technical & business team members.
Preferred Qualifications:
· Experience with Linux based operating system based SW development ( RHEL, Ubuntu, Yocto) . Knowledge of different debugging tool such as TRACE32,OpenOCD,etc for compute and IoT projects.
· Experience with Software development, debugging and testing with ARM64 or x86 based product development for Linux based OS.
· Experience with using open source software, enablement of such software for different hardware platforms by collaborating with software & hardware teams.
Minimum Qualifications:
· Bachelor's or Masters degree in Electrical & Computer Engineering, Computer Science, or related field.
Must Have
1. Adept programming skills and proficiency in C programming.
2. Embedded concepts on the ARM platform (SoC), including RTOS, Linux based systems.
3. Embedded C, embedded architecture, and assembly instruction sets
4. Good exposure on processor architecture, ARM preferred.
5. Experience in using debugging tools like Lauterbach and Trace tools.
6. Ability to analyze, triage and debug complex system level problems and issues.
7. Good Problem solving & analysis skills; Good communication and enthusiasm to learn.
8. Embedded Core driver working experience if possible
9. OS bring up and enablement.
10. Good at Performance optimization, threads, scheduling, Multi process communication, Computer Networks
11. Understanding of CAN, SPI, UART, I2C, Android Debug Bridge (ADB) Gerrit GitHub JTAG On Board Testing on DSP and Microcontrollers python SCM Tools
Nice To Have:
1. Experience of commercial mobile phone field test/lab test
2. Test experience with 5G(SA, NSA, sub6, mmW, ENDC, NRDC)/4G(LTE TDD, FDD) operators or with commercial handset OEM's
3. Understanding of call flows between handset/UE and NW in 5G/4G network
4. Experience with troubleshooting/analyzing problems of Android devices
5. Strong understanding of Embedded hardware, Computer Architecture, Operating System concepts and RTOS fundamentals
Top 5 Required Skills:
1. Embedded SW development for ARM & x86 based systems
2. Work experience with Linux based operating systems such as Android, Yocto, Ubuntu, RHEL etc.
3. Familiarity with Mobile communication devices , e.g. smart phone debugging & failure analysis of Software issues.
4. On-target debugging using JTAG or other similar debugging tools.
5. QXDM or similar diagnostic tool experience to debug device failures using on-device and serial logs from device ( running Linux OS).
Technologies:
1. C programming
2. JTAG Debugging
3. Linux OS based SW development ( e.g. Android, QNX, Yocto , RHEL)
4. Device log analysis
5. Wireless communication standards (e.g. 5G, 4G etc.)
Required Education / Required Years of Experience:
Bachelor's or Masters degree in Electrical & Computer Engineering, Computer Science, or related field.
Minimum 2 yrs of experience working with embedded system development environments.
Salary : $45 - $56