Embedded Software Engineer

Work set-up: 
Full Remote
Contract: 
Experience: 
Senior (5-10 years)
Work from: 

Offer summary

Qualifications:

Minimum 5 years of experience in embedded C, C++, and Python development., Proficiency in Linux and bare-metal environments for software development., Experience working with ARM Cortex microcontrollers and SoC architectures., Strong understanding of networking protocols (TCP/IP, UDP, SNMP) and serial communication interfaces..

Key responsibilities:

  • Design, develop, and test embedded software and firmware for hardware products.
  • Collaborate with senior engineers on product design and system integration.
  • Troubleshoot and debug existing products, ensuring quality and reliability.
  • Support production and customer service teams post-release.

Job description

                     C/C++/Python Embedded Software Engineer with Linux & Hardware Interface Experience

Salary - $110k - $140k


* * IMPORTANT:  A local candidate residing in Colorado Springs, CO is required.  This is not a remote role.  We will need someone who can come into the office on a regular basis. * *

JOB DESCRIPTION
Candidate will be working closely with a team of senior engineers designing and releasing both the software and hardware for items such as single board computers, environmental control and measurement, and LED sign message control.  The successful candidate will be involved in all aspects of product and system design to firmware and control software development to product release and post-release support.

 
  • #1 Importance:  Write complete code utilizing a project concept analysis, design review, development, peer review, test and release process
  • Become the designated owner of specific code bases
  • Design software features to meet product requirements
  • Write technical specifications and assist with functional specifications
  • Troubleshoot and debug existing products and perform new development (which means, in an embedded environment the person must be familiar with programming and troubleshooting at the IC level.)
  • Research networking protocols and practices, development techniques, quality improvement methods, and share your knowledge with the team
  • Validate products against standards documents
  • Work with and support production and customer service
  • Create test documentation/procedures and test/validation programs

WHAT YOU NEED FOR THIS POSITION:
  • 5yrs + experience and knowledge:  C, C++, Python in an embedded environment
  • Software development experience in Linux & bare-metal environments
    • ARM Cortex microcontroller and SOC architectures
  • Demonstrated experience designing, implementing, testing, diagnosing & supporting production software
  • Translate incomplete/ambiguous/verbal requirements into detailed technical specifications
  • Experience with networking technologies and protocols (snmp, TCP/IP, UDP) at a low level
  • Serial communication protocols RS232, RS485, SPI, I2C, HDLC, SPI
  • Advanced Python experience:
    • Knowledge of Python libraries & build tools: Hatch, FastAPI, Pydantic, Pony ORM, Pillow
    • Strong knowledge of object-oriented development using common architectural design patterns
    • Asyncio library experience (async / await syntax, coroutines, tasks, threading, queues)
    • Python QA and unit testing frameworks (pytest, mocks, code coverage, flake8)
  • Hardware/software interface required
  • Proficiency with test equipment such as logic analyzers and oscilloscopes
  • Experience with design for testability
  • Some travel may be required (5%)


Benefits include medical, dental, vision, 401k with company match, disability insurance, life insurance, PTO, and company-paid holidays.

Skyline Products is an Equal Opportunity Employer; all decisions are made without regard to race, color, religion, creed, gender, national origin, age, disability, marital or veteran status, sexual orientation, gender identity, or any other legally protected status.

Required profile

Experience

Level of experience: Senior (5-10 years)
Spoken language(s):
English
Check out the description to know which languages are mandatory.

Other Skills

  • Troubleshooting (Problem Solving)

Embedded Software Engineer Related jobs