System Level Software Engineer - Driver Development
System Level Software Engineer - Driver Development - 2784
Role: Information Technology
Relocation Available: Yes
Location: South Carolina
Town / City: Greer
Job Type: Permanent full-time
Company develops custom system level software, including device drivers, firmware, embedded applications, protocol stacks, board support packages, and custom interfaces. They specialize in wireless communications for military and embedded systems.
They are seeking a talented Software Development professional who specializes in system-level development (device drivers, firmware, embedded systems) to serve as a key member of the engineering team. This individual will be responsible for developing and supporting user mode applications, device drivers, and firmware for a wide variety of systems, including networking and communication hardware and software products. These responsibilities include the design and development of protocols and algorithms for a variety of technologies, including USB, PCI, 802. WLAN, Ethernet, VoIP, Bluetooth, cellular, and broadband communications. This individual must be able to communicate effectively with clients and be attentive to customer satisfaction.
Windows Kernel and/or Driver Programming experience (XP, Vista, Windows 7, or Windows 8) or current Linux Kernel Driver programming experience.
6-8+ years C, C+ programming experience.
6-8+ years of application development experience
Excellent written and verbal communications skills
Strong debugging skills
Superior problem solving abilities
Ability to work independently or as part of a team
Required Education: Bachelors or Masters in Computer Engineering, Electrical Engineering, or Computer Science.
Desired Skills (not required)
Experience with multiple Linux distributions (Montavista, Ubuntu, OpenEmbedded, Red Hat, Buildroot, etc.)
Embedded Linux development for a variety of platforms (ARM, MIPS, x86, PowerPC, etc.) and board support packages.
Experience writing software that interfaces with hardware (one or more of the following: device drivers, firmware, embedded systems).
Experience with real time and multithreaded applications
Experience performing architectural definition, documentation, and development at the system level
Reverse Engineering (IDA Pro, Ollydbg, etc.)
Communication protocol experience (designing, implementing)
Experience writing software that interfaces with hardware (one or more of the following: device drivers, firmware, embedded systems)
Clearance Required: Candidate must be a U.S. Citizen in order to meet the minimum requirement to obtain the required clearance.
Bottom Line Requirements:
1. Bachelors or Masters in Computer Engineering, Electrical Engineering, Computer Science or related.
2. Windows Kernel or Driver Programming experience (XP, Vista, Windows 7, or Windows 8) or current Linux Kernel Driver programming experience.
3. 6-8+ years C, C+ programming experience.
4. 6-8+ years of application development experience.
5. US Citizen able to obtain clearance.