Embedded Software Engineer

Overview

On Site
BASED ON EXPERIENCE
Full Time

Skills

EMBEDDED
MICROCONTROLLERS
MICRO PROCESSORS
MICROPROCESSORS
C
C++
PYTHON

Job Details

Primary Function:
The Embedded Software Engineer will develop embedded software on a wide variety of technology platforms. Designing and developing embedded software for brand new architectures and performing sustaining engineering on legacy systems is a key component of this role. Engineering work will be focused on system control, connectivity integration, UI/UX support, communication protocols, and testing integration driven through requirements driven design as a key component for long term success.
Responsibilities:
  • Control Systems
    • Design, implement, and maintain embedded software microprocessor-based control systems for water heating and other appliances.
    • Implement real-time control algorithms, communication protocols (e.g., UART, SPI, I2C, CAN), and low-level drivers.
    • Optimize code for performance, efficiency, and reliability.
    • Ensure robustness and modularity of the software for future deployment in new products.
    • Participate in code reviews, system testing, and validation activities.
  • Connectivity and UI/UX Integration
    • Design and integrate connectivity software solutions with appliances for regulatory and remote management capabilities.
    • Integrate best practices for robust design, security, and future expandability.
    • Experience with design and integration of Wifi/BLE
  • Agile Software Development and Testing
    • Develop and implement embedded software development through the Agile process with the rest of the development team.
    • Use embedded C/C++/Python development for implementing new features on projects.
    • Coordinate closely with the testing team to ensure robust test coverage through CI/CD/Unit Test/HIL
  • Cross Functional Collaboration and Mentoring
    • Work closely with cross-functional teams, including product management and operations, to understand requirements and ensure alignment on quality goals.
    • Mentor junior team members and contribute to a culture of continuous improvement

Job Requirements:
  • Bachelor's degree in Computer Science, Computer Engineering, or Electrical Engineering with a strong background in embedded systems software
  • 3+ years of experience in embedded software engineering
  • Familiarity with different microcontrollers and microprocessors (8/16/32 bit, ARM, etc)
  • Proficiency in embedded C,C++, Python scripting, and embedded OS (ROTS, Baremetal) implementations
  • Proficiency in control systems and architecture
  • Experience with design for test
  • Excellent problem-solving and debugging skills.
  • Strong written and verbal communication skills.
  • Familiarity with version control systems (e.g., Git, Azure DevOps)
  • Experience in Agile or Scrum development environments
Preferred Qualifications:
  • Experience with UL60730 Class A/B/C development or equivalent regulated environments
  • Familiarity with containerization technologies like Docker and orchestration tools such as Kubernetes
  • Experience with integration of full test methodology (CI/CD/Unit Testing) as part of the design process
  • Experience in appliance or product controls engineering
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.

About EDI Specialists, Inc.