Senior Embedded Linux Software Engineer (no H-1B)

Overview

On Site
$135,000 - $165,000
Full Time
No Travel Required

Skills

C +
C + +
Cortex
Eclipse
Embedded Linux
Interface design
Java
Linux
embedded systems
User Interface design
linear algebra
trigonometry
writing
calculus
debugging
design patterns
geometry
human - computer interaction
Software EngineerSUMMARYDesign
User Interface
XML
bash
Object Oriented Programming
Office applications
Software
Software Engineering
Linux device drivers
Linux kernel
Microsoft Office
OOP
Object Oriented
PCIe

Job Details

Senior Embedded Linux Software Engineer

SUMMARY

Design, develop, maintain, test, and evaluate software for computer control system under limited supervision of the Software Engineering Supervisor. This level of engineering calls for an experienced engineer with expertise in particular area(s) (specific for particular job differentiations).

ESSENTIAL DUTIES AND RESPONSIBILITIES include the following. Other duties may be assigned.

  • Proposes problem solutions through analysis, problem definition, requirement generation and implementation of proposed solutions.
  • Creates documentation and supporting diagrams supporting solutions.
  • Prepares and installs source code into source control by determining compliance of software changes with system specifications, programming best practices, and ensuring these changes are free from defects.
  • Improves workflow by conducting analysis, and recommending changes in policies and procedures to management.
  • Creates bug reports through investigation and by collecting, and analyzing data, and providing clear documentation on reproduction of observed issues.
  • Must be an active coder.
  • Communicate technical ideas clearly, able to use Microsoft Office applications when appropriate.
  • Employees are expected to follow instructions, procedures and to escalate any issue impacting workflow, quality, etc. Additionally, there are high value items that require proper care and protection.

SUPERVISORY RESPONSIBILITIES

This job does not have any supervisory responsibilities.

QUALIFICATIONS

To perform this job successfully the candidate must be able to perform each essential duty adequately. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.

Minimum Qualifications

  • 5+ years of coding experience.
  • Expertise in C and C++. (Java is a plus).
  • OOP (Object Oriented Programming) experience is a plus.
  • Experience reading and writing bash and batch scripts (intermediate to expert).
  • Experience in developing and maintaining board support packages (BSP) for embedded systems. (ARM Cortex-A systems is a plus).
  • Experience in applying patches to and debugging the Linux kernel.
  • Experience in writing and debugging Linux device drivers (SPI, PCIe, UART, etc.).
  • Comfortable working in Windows and Linux environments. Linux is a requirement.
  • Experience with inter-process communication (Google Protocol Buffers is a plus).
  • Experience in writing and debugging multi-threaded applications.
  • Strong understanding of real time systems, XML , file systems, networking, multi-threaded applications, computer graphics, linear algebra, calculus, geometry, and trigonometry, human-computer interaction/User Interface design, design patterns, encryption, hashing, checksum, and CRCs (Cyclical Redundancy Check).
  • Communicate technical ideas clearly, able to use Microsoft Office applications when appropriate.
  • Experience in reading and writing technical requirement documentation.
  • Experience working with source-control system.
  • Experience with Eclipse/Visual Studio.
  • Can reverse engineer source code written in C and generate requirements, and write equivalent code in a higher level language.
  • Employees must exhibit honesty and integrity as well as demonstrate adherence to rules, procedures and policies.

EDUCATION and/or EXPERIENCE

Master's Degree MSCS or MSCE, from a four-year college or university is required, plus an additional 5+ years related experience or Bachelor's Degree BSCS/BSCE with 7+ years plus an additional of related experience, training and/or equivalent combination of education and experience.