Job Description

Sr. Embedded Software Engineer

Contract 12-18 months 40 hours weekly

100% Contract Opportunity ONLY
 

Job Description

Develops real-time embedded control system software. The role will include all aspects of the product development lifecycle – planning, requirements, design, code, test and maintenance.

DUTIES AND RESPONSIBILITIES:

  • Work with Algorithms and Systems engineers to understand complex algorithm and system level requirements and translate these to clear concise and coherent software requirements.
  • Generate software requirements, design documents, interface control documents and unit test plans.
  • Maintain and develop embedded control system software application software written in C and C++
  • Work with complex hardware interfaces in a real-time environment.
  • Develop and perform unit testing of real-time embedded or application software.
  • Translate, statistically analyze data, and effectively report problems through written and/or graphical formats.
  • Use MS Word, Excel, PowerPoint, and electronic e-mail systems.
  • Follow a Software Development Process that includes elements of planning, estimation, gathering and analyzing requirements, developing concepts and designs, implementation, developing and executing test plans’ and engaging in work product reviews.
  • Perform other duties as assigned.

 

Education

Bachelor’s Degree in Computer Science or Computer Engineering preferred. Minimum of a High School diploma or GED required.

 

Experience

  • Minimum of five (5) years of experience is required.
  • Experience in C/C++/ programming.
  • Experience developing embedded software for VxWorks RTOS.
  • Excellent written and verbal communication skills.
  • Knowledge of software engineering processes, including Software configuration management and the ability to read and create appropriate project documentation.
  • Knowledge of real time operating systems, control system theory, embedded software design, real time system interactions in an embedded environment.
  • Knowledge of microcontroller architectures and principles of operation.
  • Knowledge and ability to work with oscilloscopes, and signal generators.

Must have knowledge and intermediate experience in at least 3 or more of the following: 

  • Embedded microprocessor development environments.
  • Serial communications (SPI, RS422, RS232, etc.).
  • I2C bus.
  • PCIe device drivers.
  • Object Oriented Design with UML.
  • Assembly language programming.
  • Networking technologies such as TCP/IP, UDP, etc.
  • Embedded Web Server design and implementation.
  • CAN communication.

Preferred experience:

  • Multi-core design.
  • Semiconductor capital equipment.
  • Multi-processor/distributed systems.
  • Python.
  • MATLAB.

 

Personal skills

  • Can observe and respond to people and situations and interact with others encountered in the course of work.  
  • Can learn and apply new information or skills. 
  • Must be able to read and interpret data, information, and documents.
  • Strong customer focus and commitment to customer satisfaction through prioritization, quality, efficiency and professionalism.
  • Ability to complete assignments with attention to detail and high degree of accuracy. 
  • Proven ability to perform effectively in a demanding environment with changing workloads and deadlines. 
  • Result driven-demonstrate ownership and accountability.
  • Identifies bottlenecks and drives improvements.
  • Work independently or as part of a team and follow through on assignments with minimal supervision. 
  • Demonstrate open, clear, concise and professional communication.
  • Ability to establish and maintain cooperative working relationships with manager, co-workers and customer. 
  • Work according to a strict set of procedures within the provided timelines. 

Application Instructions

Please click on the link below to apply for this position. A new window will open and direct you to apply at our corporate careers page. We look forward to hearing from you!

Apply Online