Software Engineer

CareerCircle
Eagan, MN, United States
13 days ago

Role details

Contract type
Temporary contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
0 years minimum
Compensation
$104,000.0 - $149,760.0
Working hours
Regular working hours

Tech stack

C (Programming Language) Microsoft Word HTML Java (Programming Language) JavaScript (Programming Language) Microsoft Excel Spring Security Agile Methodology Artificial Intelligence Automation of Tests Unit Testing Bash Shell
+52 more
Fieldbus Booting (BIOS) Bootstrap (Software) C++ (Programming Language) CAN Bus Cascading Style Sheets (CSS) Cloud Engineering Code Review Communications Protocols Computer Programming Computer Engineering Continuous Integration Software Debugging Linux Programming Tools Device Drivers File Systems Eclipse (Software) Embedded C Linux on Embedded Systems Embedded Software Firmware Spring Framework Junit Python (Programming Language) Linux System Administration Unix Shell Modbus Scrum Methodology Real-Time Operating Systems Ansible Requirements Traceability Serial Communications Software Engineering Software Systems System Programming Transmission Control Protocol (TCP) Toolchain Universal Asynchronous Receiver/Transmitter Extensible Markup Language (XML) Scripting Serial Peripheral Interface PIC Microcontroller Git Containerization Information Technology Bare Metal Front End Software Development DO-178B Restful APIs Software Version Control Devsecops

Job description

This full-time, onsite role in Eagan, Minnesota focuses on designing and developing embedded firmware and Linux-based software for microcontroller-based systems. You will work across the full embedded stack, from bare-metal and RTOS-based firmware to embedded Linux, contributing to high-technology products in an engineering-focused environment., * Design, develop, and maintain embedded firmware and software solutions for microcontroller-based boards and applications.

  • Develop and integrate software within embedded Linux environments, including system-level components and services.
  • Implement and optimize C and C++ code for embedded platforms, including bare-metal and RTOS-based systems.
  • Develop, test, and debug device drivers and low-level interfaces for microcontrollers and peripherals.
  • Implement and support serial communication protocols such as UART, SPI, and I2C.
  • Work with serial and fieldbus protocols, including Modbus RTU/TCP or CANBus where applicable.
  • Support and enhance embedded firmware platforms and Board Support Package (BSP) development.
  • Contribute to system-level features such as bootloaders, embedded file systems, system controls, and embedded Linux components.
  • Collaborate with hardware teams on board layout and design considerations related to firmware and software.
  • Participate in Agile development processes, including sprint planning, code reviews, and continuous integration activities.
  • Create and execute tests for embedded firmware and Linux components, using scripting (such as Python or Bash) where helpful.
  • Troubleshoot and resolve issues at the hardware, firmware, and system levels to ensure reliable and robust product performance.
  • Document designs, interfaces, and implementation details to support maintainability and future development., This is a full-time, onsite role based in Eagan, Minnesota, operating during standard business hours in an engineering-focused environment. You will work closely with other engineers in a collaborative setting, using modern embedded development toolchains, microcontroller evaluation boards, and Linux-based systems. The work involves hands-on interaction with hardware, firmware, and embedded Linux platforms in a professional engineering lab and office setting, with a focus on high-technology product development., CI/CD Junit Ansible VS Code Planning Aviation Equities Debugging DevSecOps Leadership Unix Shell Scalability Market Data RESTful API Claude Code Unit Testing Communication Prioritization Version Control Spring Security Ancient History Computer Science Test Engineering Spring Framework Technical Issues Product Delivery Agile Methodology Programming Tools Eclipse (Software) Software Solutions Workflow Management Systems Engineering Air Traffic Control Software Development Cloud-Native Computing Operational Efficiency Artificial Intelligence Containerized Application Agile Software Development Java (Programming Language) Git (Version Control System) Cascading Style Sheets (CSS) Python (Programming Language) Federal Aviation Administration Front End (Software Engineering) Extensible Markup Language (XML) HyperText Markup Language (HTML) JavaScript (Programming Language) +0 Software Engineer Actalent

Burnsville, MN*On-Site

Avionics Visionary Leadership Innovation Propulsion Communication System Testing Time Management Problem Solving Computer Science Software Engineering Artificial Intelligence Engineering Design Process +0

Google IT Automation with Python Sr. Software Engineer Actalent

Eden Prairie, MN*On-Site

Writing Planning Firmware Debugging Visionary Innovation Embedded C Presentations Microsoft Word Microsoft Excel DO-254 Standard ARINC Standards Embedded Systems Test Engineering Microcontrollers Embedded Software Aerospace Protocols Software Engineering Software Development Artificial Intelligence Training And Development Requirements Traceability Engineering Design Process Real-Time Operating Systems Military Standards And Specifications DO-178B/C (Software Considerations in Airborne Systems and Equipment Certification) +0

Requirements

Modbus Fieldbus Firmware Debugging Scripting Visionary Innovation Bare Metal Code Review File Systems Boot Loaders Communication Collaboration Device Drivers Test Automation Sprint Planning Microcontrollers Agile Methodology Embedded Software Embedded Firmware Software Solutions Software Engineering Computer Engineering Remote Terminal Unit Serial Communications Electrical Engineering Continuous Integration New Product Development Artificial Intelligence C (Programming Language) Bash (Scripting Language) Linux On Embedded Systems Engineering Design Process C++ (Programming Language) Serial Peripheral Interface Real-Time Operating Systems Python (Programming Language) Bootstrap (Front-End Framework), * Bachelor’s degree in Computer Engineering, Electrical Engineering, Software Engineering, or a related technical discipline.

  • 4-5+ years of hands-on experience programming in C or C++ for embedded systems.
  • Strong experience in embedded firmware development for microcontroller-based boards and applications.
  • Proficiency with embedded RTOS and bare-metal development.
  • Experience with embedded Linux development and working within embedded Linux environments.
  • Solid understanding and practical experience with serial communication protocols such as UART, SPI, and I2C.
  • Experience with embedded software development, including low-level programming, debugging, and optimization.
  • Ability to develop and support device drivers and system-level embedded software.
  • Strong programming skills in C; ability to write efficient, reliable, and maintainable embedded code.
  • Experience working in an engineering-focused product development environment.

Additional Skills & Qualifications

  • Experience with ARM-based microcontrollers, such as STMicroelectronics, NXP, or Silicon Labs EFM devices.
  • Experience with Modbus RTU/TCP or CANBus communication protocols.
  • Experience supporting embedded firmware platforms and Board Support Package (BSP) development.
  • Hands-on experience with one or more of the following: boot or bootstrap loaders, embedded file systems, system controls, and embedded Linux internals.
  • Familiarity with Agile development methodologies and associated tools and practices.
  • Experience with board layout and design, and the ability to collaborate effectively with hardware engineers.
  • Proficiency in C++ for embedded firmware development, in addition to strong C skills.
  • Experience with RTOS-based systems and embedded bare-metal implementations.
  • Scripting experience in Python and/or Bash for test automation and validation is a plus.
  • Experience in high-technology product development environments.

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

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.careercircle.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

3:51 min

Technical skills and collaborative mindsets for mobility engineering roles

Georg Kühberger +1 · LIVE

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

2:21 min

Projecting external HTML content using default and named slots

Rowdy Rabouw Rowdy Rabouw · WWC 2022

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · WWC 2025

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

56 sec

Favorite git commands and the importance of patch commits

Eileen Uchitelle Eileen Uchitelle +1 · Coffee With Developers

Videos

See all

Related articles

See all