Embedded Software Engineer

CareerCircle
Palo Alto, United States of America
2 days ago

Role details

Contract type
Temporary to permanent
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior
Compensation
$ 166K

Job location

Palo Alto, United States of America

Tech stack

Clean Code Principles
C
Artificial Intelligence
Algorithm Design
Test Driven Development
Unit Testing
C++
Communications Protocols
Computer Engineering
Continuous Integration
Serialization
Data Structures
Software Debugging
Embedded Software
Ethernet
Firmware
Protocol Buffers
Python
Network Protocols
Software Architecture
Real-Time Operating Systems
Software Engineering
TCP/IP
Transmission Control Protocol (TCP)
Universal Asynchronous Receiver/Transmitter
Software Organization
Multithreading
Serial Peripheral Interface
PIC Microcontroller
Test Driven Development
Information Technology

Job description

This role focuses on designing, developing, and optimizing real-time firmware for current and next-generation fast DC charging systems. You will build high-quality embedded software for charging equipment, including fast chargers and adapters, and collaborate closely with hardware teams to deliver robust, scalable solutions. The position offers the opportunity to work with cutting-edge tools and practices to help create one of the most advanced electric vehicle charging networks in the world., * Design, implement, and maintain firmware for embedded system components within fast DC charging equipment.

  • Develop, enhance, and debug new and existing real-time firmware in C and C++ for embedded microcontrollers running RTOS.
  • Perform hands-on bring-up of new products, supporting them from prototype through manufacturing and into high-volume production.
  • Create and maintain continuous integration tests, including unit tests, software-in-the-loop (SIL), and hardware-in-the-loop (HIL), to validate component and system functionality.
  • Collaborate closely with hardware engineers to co-design optimized solutions that meet aggressive performance and schedule targets.
  • Focus on peripheral interfacing and communication protocols, ensuring reliable integration of interfaces such as CAN, Ethernet, SPI, I2C, UART, ADC, and PWM.
  • Apply strong software engineering fundamentals, including architecture design, algorithm development, data structures, and modular code organization, to produce maintainable and scalable firmware.
  • Use lab equipment such as oscilloscopes, logic analyzers, CAN tools, and soldering equipment to support integration, debugging, and validation activities.
  • Contribute to firmware implementations for highly physical systems such as power conversion, thermal controls, or battery management where applicable.
  • Adopt and promote a test-driven approach by defining unit tests, validation plans, and quality checks as an integral part of the development process.
  • Break down complex technical problems into manageable tasks and drive them to completion with a focus on quality and efficiency., This role centers on embedded firmware development for fast DC charging products, with approximately 80-90% of your time spent coding, primarily in C, on microcontrollers running an RTOS. You will work in a highly collaborative engineering environment that emphasizes modern software development practices, continuous integration, and close coordination between firmware and hardware teams. The position involves regular hands-on work in the lab, using equipment such as oscilloscopes, logic analyzers, CAN tools, and soldering irons to bring up hardware, debug issues, and validate system performance. The work environment supports a culture of quality, test-driven development, and rapid iteration to deliver reliable, scalable charging solutions.

Requirements

TCP/IP Planning Firmware Debugging Soldering Visionary Leadership Innovation Scalability Reliability Coordinating Unit Testing Oscilloscope Logic Analyzer Problem Solving Data Structures Control Systems Computer Science Algorithm Design Embedded Systems Microcontrollers Protocol Buffers Charging Systems Embedded Software Network Protocols Embedded Firmware Electric Vehicles Software Adapters Urine Drug Screen Battery Management Software Engineering Software Development Computer Engineering Software-In-The-Loop Laboratory Equipment Architectural Design Firmware Development Software Architecture Energy Transformation Electrical Engineering Continuous Integration Artificial Intelligence C (Programming Language) Communications Protocols Engineering Design Process C++ (Programming Language) Serial Peripheral Interface Real-Time Operating Systems Test-Driven Development (TDD) Universal Asynchronous Receiver/Transmitter, * Degree in Computer Engineering, Computer Science, Electrical Engineering, or equivalent experience.

  • 5+ years of professional firmware development experience.
  • Strong proficiency in C and C++ for real-time embedded systems.
  • Extensive experience developing on embedded microcontrollers running RTOS.
  • Significant experience with multithreaded embedded software design and implementation.
  • Hands-on experience with peripheral interfaces including CAN, Ethernet, SPI, I2C, UART, ADC, and PWM.
  • Experience with networking protocols such as TCP, IP, and UDP.
  • Comfort working in a lab environment using oscilloscopes, logic analyzers, CAN tools, soldering irons, and related equipment for integration and debugging.
  • Solid understanding of software architecture, algorithm development, data structures, and modular, maintainable code design.
  • Demonstrated ability to deliver high-quality, production-ready firmware in a real-time environment.
  • A test-driven mindset, with unit testing, validation planning, and quality practices embedded in the development process.
  • Strong problem-solving skills with the ability to decompose complex issues and deliver practical solutions efficiently., * Experience implementing firmware for power conversion systems, thermal control systems, battery management, or other highly physical product implementations.
  • Familiarity with Protobuf for data serialization.
  • Experience with UDS (Unified Diagnostic Services) or similar diagnostic protocols.
  • Experience working on systems that integrate both firmware and hardware in high-reliability environments.
  • Passion for tackling challenging technical problems and continuously improving systems and processes., Palo Alto, CA*On-Site

I2C TCP/IP Planning Firmware Debugging Soldering Visionary Leadership Innovation Scalability Reliability Coordinating Unit Testing Oscilloscope Logic Analyzer Problem Solving Data Structures Control Systems Computer Science Algorithm Design Embedded Systems Microcontrollers Protocol Buffers Charging Systems Embedded Software Network Protocols Embedded Firmware Electric Vehicles Software Adapters Urine Drug Screen Battery Management Software Engineering Software Development Computer Engineering Software-In-The-Loop Laboratory Equipment Architectural Design Firmware Development Software Architecture Energy Transformation Electrical Engineering Continuous Integration Artificial Intelligence C (Programming Language) Communications Protocols Engineering Design Process C++ (Programming Language) Serial Peripheral Interface Real-Time Operating Systems Test-Driven Development (TDD) Universal Asynchronous Receiver/Transmitter +0

Google IT Automation with Python Sr. Embedded Software Engineer Actalent

Palo Alto, CA*On-Site

I2C TCP/IP Planning Firmware Debugging Soldering Visionary Leadership Innovation Scalability Reliability Coordinating Unit Testing Oscilloscope Logic Analyzer Problem Solving Data Structures Control Systems Computer Science Algorithm Design Embedded Systems Microcontrollers Protocol Buffers Charging Systems Embedded Software Network Protocols Embedded Firmware Electric Vehicles Software Adapters Urine Drug Screen Battery Management Software Engineering Software Development Computer Engineering Software-In-The-Loop Laboratory Equipment Architectural Design Firmware Development Software Architecture Energy Transformation Electrical Engineering Continuous Integration Artificial Intelligence C (Programming Language) Communications Protocols Engineering Design Process C++ (Programming Language) Serial Peripheral Interface Real-Time Operating Systems Test-Driven Development (TDD) Universal Asynchronous Receiver/Transmitter +0

Google IT Automation with Python

Benefits & conditions

This is a Contract to Hire position based out of Palo Alto, CA. Pay and Benefits

The pay range for this position is $65.00 - $80.00/hr.

Eligibility requirements apply to some benefits and may depend on your job classification and length of employment. Benefits are subject to change and may be subject to specific elections, plan, or program terms. If eligible, the benefits available for this temporary role may include the following:

  • Medical, dental & vision
  • Critical Illness, Accident, and Hospital
  • 401(k) Retirement Plan - Pre-tax and Roth post-tax contributions available
  • Life Insurance (Voluntary Life & AD&D for the employee and dependents)
  • Short and long-term disability
  • Health Spending Account (HSA)
  • Transportation benefits
  • Employee Assistance Program
  • Time Off/Leave (PTO, Vacation or Sick Leave) Workplace Type

About the company

Actalent is a global leader in engineering and sciences services and talent solutions. We help visionary companies advance their engineering and science initiatives through access to specialized experts who drive scale, innovation and speed to market. With a network of almost 20,000 consultants and 5,000 clients across the U.S., Canada, Asia and Europe, Actalent serves many of the Fortune 500. We are proud to be an Engineering News-Record (ENR) Top 500 Design Firm for our engineering design services and a ClearlyRated Best of Staffing® winner for both client and talent service.

Apply for this position