Product Software Integration and Test Engineer
Assignment Duration: 12 months (extension subject to performance and overall fit)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 Engineering teams e.g. Software, Systems , Hardware, Architecture and Test teams for delivering end to end product software solution for such programs.JOB DESCRIPTION:Modem protocol layer ( 5g call flows for layer 1 , RF etc.) debugging using OTA logs is a hard requirement.Requirements: Specific skills needed to be successful in this role, what % of the day will the candidate be using a specific skill (ex: 50% of the job is scripting in python, 10% C++)Debugging & Failure Analysis : >50% of daily tasks.On-target debugging : >50% of effort goes in debugging failures with new SW builds.Log analysis : to root cause failure ( Functional failure, or stability issues or performance analysis).Developing new Test cases and automation scripts to automate manual tasks (e.g. automation of a test case to run this on multiple test stations and capturing logs for failure cases from each station).Things to target: Schools, prior companies, specific programs, titlesExperience with tools (e.g. QXDM, Qprofiler, xPCAT, etc.) for debugging Modem & Linux OS issues (logcat, journal, dmesg).5G Modem development, test and debug experience (UE or Network)Linux OS (e.g. Android, Yocto , Ubuntu, RHEL) based embedded device experience.5G O-RAN (Open RAN): Understanding of Architecture, Procedures and Use CasesAnything to avoid: Skills that won’t be a match, prior experience, certain company sizes, etc.Pure Full stack /Enterprise Application Developers SW experience (without any embedded experience) can be avoided.Distributed systems, and DevOps SpecialistsData engineering, BI analystsVLSI / ASIC Design EngineersHardware-Focused Engineers whose work is concentrated on board design, circuit design, PCB validation, signal integrity, power systems, silicon characterizationSoftware 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.Minimum Qualifications: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.Top 5 Required Skills: 1. Embedded SW development for ARM & x86 based systems2. 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:C programmingJTAG DebuggingLinux OS based SW development ( e.g. Android, QNX, Yocto , RHEL)Device log analysisWireless communication standards (e.g. 5G, 4G etc.)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.