Software Project Engineer - 103126
Chicago, IL 60626 US
- Working closely with system architects, software, electrical, and testing engineers to deliver reliable, mission critical embedded software
- Developing new software, debugging and supporting embedded Linux platforms using C/C++, shell script.
- Developing or contributing to the development of project schedules, time estimates, detailed software specifications and test plans.
- Responsible for all aspects of the software design cycle including, architecture design, specifications, analysis, implementation, reviewing code, testing and related documentation.
- Working with product owners to assure product designs meet the requirements of the market.
- Working with application engineers to identify the optimal balance of hardware and software solutions to customer problems.
- BS degree in Computer Science, Software Engineering or Computer Engineering. MS degree is a plus.
- Knowledge or working experiences with Linux Kernel, U-Boot, Secure boot, Linux bootup sequence, and configuring Linux services.
- Experience in building kernel and root file system images using Yocto or buildroot and deploying them on an embedded system
- Experience in developing, testing and debugging user-space applications and kernel modules in embedded Linux environment
- Experience in developing, testing and debugging RTOS applications
- Demonstrated ability to adapt to new technologies, multi-task and set priorities
- Familiarity with Linux (Ubuntu), various Integrated Development Environments (IDE), and container technologies (Docker)
- Familiarity with TCP/IP socket, multi-threaded programming, and inter-processors and inter-process communication technologies.
- Knowledge or working experiences with FPGA and VHDL/Verilog is plus.
- Strong analytical skills
- Excellent written and verbal communication skills.
- Ability to read and interpret technical specifications.
- Ability to travel less than 10% of the time with some periods lasting more than a week.