Embedded Software Engineers

TekFortune INC
Mayfield Heights, United States of America
yesterday

Role details

Contract type
Temporary contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Mayfield Heights, United States of America

Tech stack

X86 Architecture
Agile Methodologies
Unit Testing
C++
Code Review
Computer Engineering
Memory Management
Embedded Software
Scrum
Raspberry Pi
Real-Time Operating Systems
Scaled Agile Framework
Software Engineering
GIT
C++14
Jenkins

Job description

Duration 2 to 4 years. Project

  • The teams are currently focused on client Software Defined Automation (SDA) initiative

  • Previous Input/Output (IO) product roadmap work has been completed and released

  • Current work is centered around building feature sets for Client s next-generation automation platform

  • The goal is to create controller functionality that can operate across multiple hardware platforms rather than requiring customers to purchase specific PLC hardware

What the team does

  • The engineers are responsible for the lowest levels of the software stack, including:

  • Drivers

  • RTOS functionality

  • Memory management

  • Platform-level software

  • Hardware abstraction

  • Embedded controller functionality

These engineers are the bridge between software and hardware, creating the code that ultimately runs on Client automation hardware and controllers.

Clients automation products serve customers across Manufacturing, Food & Beverage, Healthcare, Oil & Gas, etc.

  • Note: This team does not handle robotics motion-control development.

The teams runs in Agile - Safe framework

Two-week sprints

Regular ceremonies include daily standups, sprint planning, retrospectives every two week

Supporting Functions

  • Hardware Engineering is a separate organization
  • No dedicated testing team
  • Two Scrum Masters currently support all three teams
  • Third Scrum Master is being hired

High-Level Individual Duties

  • Design and develop embedded software

  • Develop platform-level functionality

  • Work directly with hardware

  • Participate in architectural and design discussions

  • Write unit tests and test own code

  • Participate in Agile ceremonies

  • 100% new development - this is not maintenance work

  • SDA roadmap consists of several years of planned new product development

  • Significant opportunity for innovation and ownership

  • Engineers are expected to contribute to design decisions

Requirements

  1. RTOS Experience
  • Deep RTOS expertise required
  • QNX RTOS is their current environment
  1. ARM & Intel/x86 Architecture Experience
  • Experience developing software on:

  • ARM platforms

  • Intel/x86 platforms

  1. Strong C++ Development
  • Primary language used by the team
  • Candidate should be highly proficient in modern C++
  1. Low-Level Embedded Development
  • Need to enjoy low-level engineering work
  • Have experience close to hardware
  • Be interested in platform development
  1. Hardware Exposure

Strong preference for candidates who have developed software on multiple hardware platforms

Examples:

  • Raspberry Pi
  • Proprietary embedded boards
  • Industrial hardware
  • Embedded controller systems
  1. Testing Mindset

Engineers must be able to:

  • Write unit tests
  • Test their own code
  • Conduct code reviews

What Will Win (Nice-to-Haves)

  • Git
  • Jenkins

Soft Skill Requirements

  • Collaborative
  • Team-oriented
  • Comfortable giving and receiving feedback
  • Able to work cross-functionally within Agile teams

Apply for this position