Software Engineer

Dynamic Structures And Materials, LLC
Franklin, TN, United States
about 1 month ago
Apply on www.indeed.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Starter
Experience required
1 year minimum
Compensation
$80,000.0 - $90,000.0
Working hours
Regular working hours
Job source

Tech stack

Clean Code Principles Microsoft Excel C++ (Programming Language) Spreadsheets Code Review Encodings Software Debugging Device Drivers Embedded Software Firmware Real-Time Operating Systems Software Engineering
+10 more
Universal Asynchronous Receiver/Transmitter Verilog VHSIC Hardware Description Language (VHDL) Serial Peripheral Interface PIC Microcontroller Code Comments Git Information Technology Bare Metal Software Version Control

Job description

Develops and tests embedded software under the direction of more senior engineers. Work is primarily bare-metal firmware development, but is not exclusively so, and may include RTOS-based firmware and supporting PC-side software. DSM frequently develops piezoelectric and other specialized positioning systems controlled by embedded software, but the software engineer’s contribution will not be confined to these types of applications., * Plan, write, test, and debug embedded software, primarily bare-metal firmware, in the C and C++ languages for microcontroller-based systems.

  • With direction, implement and modify device drivers and low-level interfaces for common peripherals such as GPIO, timers, ADC/DAC, PWM, UART, SPI, and I2C.
  • Bring up and test firmware on prototype and production hardware using laboratory instrumentation such as digital oscilloscopes, logic analyzers, multimeters, and in-circuit debuggers.
  • Support integration of embedded software with electrical hardware, motion control, and sensor feedback, and assist in troubleshooting hardware and software interactions.
  • Analyze test results by making Excel spreadsheets or more advanced techniques.
  • Use the DSM version control system for all software work, following established practices for committing, branching, and merging.
  • Participate in code reviews and design reviews, both receiving and providing constructive feedback.
  • With oversight, reliably document test results, design configurations, software interfaces, and similar data. Documentation may be in a logbook, spreadsheet, formal report, or other method.
  • Learn, support, and execute all quality objectives and deliverables as described in the DSM QMS system relating to assigned projects.
  • Contribute to proposals and reports by providing well-written summaries, as directed.
  • Assist more senior staff, as directed.
  • Work on assigned tasks diligently and in a safe manner that protects yourself and others.

Requirements

  • 1-3 years experience in software or embedded software engineering, at least as an intern or co-op engineer.
  • Understanding of good programming practices with application of them in a language such as C, C++ is required. Experience with VHDL or Verilog is a plus.
  • Exposure to microcontroller fundamentals, including memory, interrupts, timers, and peripheral registers.
  • Familiarity with common laboratory sensors and instrumentation such as encoders, LVDTs, multimeters, digital oscilloscopes, logic analyzers, and capacitive probes.
  • Ability to read schematics and component datasheets sufficiently to interface software with hardware is preferred.
  • Exposure to a version control system such as Git.

Skills

  • Internally motivated, “self starter” type personality.
  • Reliable, can be trusted to work consistently on tasks without close supervision.
  • Able to work on tasks individually or as part of a small team.
  • A “life-long learner” that is willing to develop new skills and proficiencies.
  • Methodical and patient approach to debugging and troubleshooting.
  • Clear written communication suitable for documentation, reports, and code comments., * Completion of an ABET accredited Electrical, Computer, or Software Engineering program, or a Computer Science program, minimum of bachelor’s degree., * Bachelor’s (Required)

Benefits & conditions

Pulled from the full job description

  • 401(k)
  • Health insurance
  • 401(k) matching
  • Paid time off
  • Vision insurance
  • Dental insurance
  • Life insurance, * 401(k)
  • 401(k) matching
  • Dental insurance
  • Health insurance
  • Life insurance
  • Paid time off
  • Vision insurance

About the company

Dynamic Structures and Materials, LLC (DSM) is a leading innovator in the defense and aerospace sectors, specializing in advanced engineering solutions for mission-critical applications. We deliver high-performance systems that meet the rigorous demands of government and commercial clients.

Apply for this position

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

Apply on www.indeed.com
Prepare application

Good distractions

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

1:48 min

Starting a passionate professional path in software engineering

Edoardo Dusi · LIVE

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

2:19 min

Orchestrating over-the-air firmware updates for vehicle modules

Denis Grahovac · World Congress 2021

4:18 min

Prioritizing communication and structural awareness over strict tool mastery

Liam Hurrel +1 · World Congress 2021

56 sec

Favorite git commands and the importance of patch commits

Eileen Uchitelle Eileen Uchitelle +1 · Coffee With Developers

2:20 min

Utilizing custom firmware for variable torque manipulation

Daniel Meilak Daniel Meilak +1 · World Congress 2026 Europe

Videos

See all

Related articles

See all