Previous Job
Previous
Software Engineer
Ref No.: 17-08231
Location: Franklin Park, Illinois
Position Type:Full Time/Contract
Start Date: 09/06/2017
Title: Software Engineer
Location: Franklin Park, IL
Type: Contract, Contract-to-Hire, or Direct Hire (candidate preference)
Start: ASAP
 
GENERAL RESPONSIBILITIES
 
Work with the SW engineering organization to implement and develop Linux based embedded target environments, and help to develop and maintain Linux server resources to build and maintain those target environments. This includes the ability to interact with, understand, and debug Linux kernel issues, work with Linux kernel drivers, and provide strong Linux internals knowledge.
 
PRIMARY RESPONSIBILITIES
  • Be knowledgeable of Linux system internals, including but not limited to, the Linux kernel, DBus, Wifi, and Bluetooth, and device trees.
  • Write and debug Linux applications and device drivers for current and future products.
  • Write and debug Bluetooth and WiFi based interfaces and applications based on BlueZ and Linux WiFi resources.
  • Work with Debian and Yocto based Linux target environments.
  • Works closely with all groups with SW development needs and requirements.
  • Ensures prompt response to production and customer issues.
  • Applies intensive and diversified knowledge of engineering principles in broad areas of assignments and related fields.
  • Maintains liaison with individuals and units within the organization, and with outside vendors and other sources, with responsibility for acting independently on technical matters related to product and process development.
  • Assumes full technical responsibility for interpreting, organizing, executing and coordinating assignments.
  • Plans and develops engineering projects concerned with unique or challenging designs which have an important effect on major company initiatives.
 
REQUIRED SKILLS AND ABILITIES
  • Able to program for Linux using BASH, C/C++, Python, and Perl.
  • Able to manage and work with Debian as both a server OS and embedded target.
  • Knowledge of kernel interfaces at a userspace level and how to interact with Linux kernel drivers.
  • Familiarity with Bluetooth and Linux Networking at a kernel level.
  • Knowledge of programming for the Linux kernel.
 
BENEFICIAL SKILLS THAT WILL BE PART OF THE DAILY EFFORTS
  • Knowledge of a variety of embedded file systems.
  • Knowledge of U-Boot and Linux boot processes.
  • Experience with Linux as an embedded environment, but also Linux as a server.
  • Eclipse and GCC for cross compiling environments
  • Familiarity with a variety of Linux distributions.
  • Familiarity with Jenkins and with Atlassian Tools
  • Understanding of what a BSP is, how it applies to a development process, and what goes into managing one.
  • Strong understanding of software design patterns and how, why, and when to apply them
  • Proven history of being successful within a team-oriented environment
  • Confident team player motivated by a fast paced environment
  • Ability to learn existing architecture quickly
  • Strong analytical, communication, and presentation skills
  • Android development experience is a plus
 
EDUCATION
 
Minimum B.S. in Computer Science, Software Engineering, Computer Engineering, or related discipline