Embedded Platform Architect - Linux/Yocto

ICS, Inc.
Waltham, United States of America
16 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Waltham, United States of America

Tech stack

Adobe InDesign
Agile Methodologies
Computing Platforms
JIRA
Unit Testing
C++
Static Program Analysis
Code Coverage
Communications Protocols
Computer Engineering
Data Structures
Software Debugging
Linux
DevOps
Embedded C
Linux on Embedded Systems
Embedded Software
Ethernet
Field-Programmable Gate Array (FPGA)
Real-Time Operating Systems
Software Engineering
Project Management
Software Requirements Analysis
TCP/IP
Universal Asynchronous Receiver/Transmitter
Multithreading
Serial Peripheral Interface
GIT
Yocto
Information Technology
Bare Metal
Code Inspection
Jenkins

Job description

Advance your career in a fast-paced company with hands-on design opportunities that becomes a production reality. Integrated Computer Solutions is looking for a platform engineer to join our team.

You will be responsible for developing software solutions to meet customer and system requirements. You will help shape the software platform architecture for our customer's products, technologies, and tools to maximize performance, efficiency, and reuse.

This role requires an energetic and motivated individual with strong communication, organization, and technical skills who works well in a multi-disciplinary team.

Essential Functions

  • Responsible for design and development of embedded software platforms which meet customer requirements

  • Responsible for understanding customer and system requirements and translating into software requirements

  • Responsible for defining software design best practices, tools, technologies, and templates

  • Responsible for keeping current on embedded development tools, technologies, and connectivity solutions.

  • Participates in software project planning and execution using both Agile and waterfall methodologies

  • Develop and support proposals with concept designs and estimates

  • Supports, trains, and/or mentors other team members in design best practices

Requirements

  • BS/MS degree in Computer Science, Computer Engineering, EE or related field

  • 6+ years of embedded C/C++ experience on bare metal, RTOS platforms

  • 5+ years of experience developing SW on embedded Linux platform

  • Substantial experience with Yocto projects

  • Expert knowledge and relevant experience designing, developing and supporting embedded products

  • Expert knowledge of data structures and inter-process communications

  • Expert knowledge of multi-threaded development and interrupt servicing

  • Expert knowledge of networking (e.g. TCP/IP), wireless, and Ethernet protocols

  • Expert knowledge of communications protocols (e.g. USB, I2C, SPI, UART, etc.)

  • Proficient at software design methodologies

  • Self-starter with the ability to work in a fast-paced environment

  • Deep working knowledge of computer architecture as it relates to current MCUs, MPUs, DSPs, SoCs combined with the respective programming model that allows for the execution of software

  • Strong best-practices based operational experience with industry tools including but not limited to: compilers, vendor-specific configuration and development environments, unit testing, code coverage and automation tools, linting tools, static and dynamic code analysis tools, and diagnostic and debug tools

  • Knowledge of high level (e.g. TCP/IP, USB) and low level (e.g. serial, SPI, I2C) communications protocol

Preferred Additional Skills

  • Experience with Git and Jira

  • Experience with Jenkins and DevOps tools

  • Project Management

  • Experience in delivering highly embedded and portable systems in a regulated industry (e.g. Medical Devices, Robotics, Automotive, Aerospace, Pharma)

  • Ability to understand FPGA architecture and design

  • Ability to understand PCB schematics, and having general hardware knowledge to enable bringing up and debugging new PCBs

Apply for this position