{"schemaVersion":"jobsearcher.job.v1","id":"19d74688fb0bd659e10cdebb","url":"https://jobsearcher.com/jobs/19d74688fb0bd659e10cdebb","canonicalUrl":"https://jobsearcher.com/jobs/19d74688fb0bd659e10cdebb","title":"Software Engineer","description":"Company Overview\nDynamic 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.\nPosition Summary\nDevelops 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.\nEssential Functions\nPlan, write, test, and debug embedded software, primarily bare-metal firmware, in the C and C++ languages for microcontroller-based systems.\nWith direction, implement and modify device drivers and low-level interfaces for common peripherals such as GPIO, timers, ADC/DAC, PWM, UART, SPI, and I2C.\nBring up and test firmware on prototype and production hardware using laboratory instrumentation such as digital oscilloscopes, logic analyzers, multimeters, and in-circuit debuggers.\nSupport integration of embedded software with electrical hardware, motion control, and sensor feedback, and assist in troubleshooting hardware and software interactions.\nAnalyze test results by making Excel spreadsheets or more advanced techniques.\nUse the DSM version control system for all software work, following established practices for committing, branching, and merging.\nParticipate in code reviews and design reviews, both receiving and providing constructive feedback.\nWith oversight, reliably document test results, design configurations, software interfaces, and similar data. Documentation may be in a logbook, spreadsheet, formal report, or other method.\nLearn, support, and execute all quality objectives and deliverables as described in the DSM QMS system relating to assigned projects.\nContribute to proposals and reports by providing well-written summaries, as directed.\nAssist more senior staff, as directed.\nWork on assigned tasks diligently and in a safe manner that protects yourself and others.\nExperience\n1-3 years experience in software or embedded software engineering, at least as an intern or co-op engineer.\nUnderstanding 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.\nExposure to microcontroller fundamentals, including memory, interrupts, timers, and peripheral registers.\nFamiliarity with common laboratory sensors and instrumentation such as encoders, LVDTs, multimeters, digital oscilloscopes, logic analyzers, and capacitive probes.\nAbility to read schematics and component datasheets sufficiently to interface software with hardware is preferred.\nExposure to a version control system such as Git.\nSkills\nInternally motivated, “self starter” type personality.\nReliable, can be trusted to work consistently on tasks without close supervision.\nAble to work on tasks individually or as part of a small team.\nA “life-long learner” that is willing to develop new skills and proficiencies.\nMethodical and patient approach to debugging and troubleshooting.\nClear written communication suitable for documentation, reports, and code comments.\nEducation\nCompletion of an ABET accredited Electrical, Computer, or Software Engineering program, or a Computer Science program, minimum of bachelor’s degree.\nPay: $80,000.00 - $90,000.00 per year\nBenefits:\n401(k)\n401(k) matching\nDental insurance\nHealth insurance\nLife insurance\nPaid time off\nVision insurance\nApplication Question(s):\nPlease highlight 1-2 key accomplishments from your last position.\nEducation:\nBachelor's (Required)\nSecurity clearance:\nSecret (Preferred)\nWork Location: In person","company":"Dynamic Structures Materials","rawCompany":"dynamic structures materials","city":"Franklin","state":"TN","isRemote":false,"isActive":false,"createdAt":"2026-08-04T22:49:09.833Z","occupations":[{"code":"15-1252.00","title":"Software Developers","slug":"software-developers"},{"code":"15-1299.08","title":"Computer Systems Engineers/Architects","slug":"computer-systems-engineers-architects"},{"code":"17-2199.00","title":"Engineers, All Other","slug":"engineers-all-other"}],"industries":[{"code":"541512","title":"Computer Systems Design Services","slug":"computer-systems-design-services"},{"code":"513210","title":"Software Publishers","slug":"software-publishers"},{"code":"541511","title":"Custom Computer Programming Services","slug":"custom-computer-programming-services"}],"jobPosting":{"@context":"https://schema.org","@type":"JobPosting","title":"Software Engineer","description":"Company Overview\nDynamic 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.\nPosition Summary\nDevelops 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.\nEssential Functions\nPlan, write, test, and debug embedded software, primarily bare-metal firmware, in the C and C++ languages for microcontroller-based systems.\nWith direction, implement and modify device drivers and low-level interfaces for common peripherals such as GPIO, timers, ADC/DAC, PWM, UART, SPI, and I2C.\nBring up and test firmware on prototype and production hardware using laboratory instrumentation such as digital oscilloscopes, logic analyzers, multimeters, and in-circuit debuggers.\nSupport integration of embedded software with electrical hardware, motion control, and sensor feedback, and assist in troubleshooting hardware and software interactions.\nAnalyze test results by making Excel spreadsheets or more advanced techniques.\nUse the DSM version control system for all software work, following established practices for committing, branching, and merging.\nParticipate in code reviews and design reviews, both receiving and providing constructive feedback.\nWith oversight, reliably document test results, design configurations, software interfaces, and similar data. Documentation may be in a logbook, spreadsheet, formal report, or other method.\nLearn, support, and execute all quality objectives and deliverables as described in the DSM QMS system relating to assigned projects.\nContribute to proposals and reports by providing well-written summaries, as directed.\nAssist more senior staff, as directed.\nWork on assigned tasks diligently and in a safe manner that protects yourself and others.\nExperience\n1-3 years experience in software or embedded software engineering, at least as an intern or co-op engineer.\nUnderstanding 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.\nExposure to microcontroller fundamentals, including memory, interrupts, timers, and peripheral registers.\nFamiliarity with common laboratory sensors and instrumentation such as encoders, LVDTs, multimeters, digital oscilloscopes, logic analyzers, and capacitive probes.\nAbility to read schematics and component datasheets sufficiently to interface software with hardware is preferred.\nExposure to a version control system such as Git.\nSkills\nInternally motivated, “self starter” type personality.\nReliable, can be trusted to work consistently on tasks without close supervision.\nAble to work on tasks individually or as part of a small team.\nA “life-long learner” that is willing to develop new skills and proficiencies.\nMethodical and patient approach to debugging and troubleshooting.\nClear written communication suitable for documentation, reports, and code comments.\nEducation\nCompletion of an ABET accredited Electrical, Computer, or Software Engineering program, or a Computer Science program, minimum of bachelor’s degree.\nPay: $80,000.00 - $90,000.00 per year\nBenefits:\n401(k)\n401(k) matching\nDental insurance\nHealth insurance\nLife insurance\nPaid time off\nVision insurance\nApplication Question(s):\nPlease highlight 1-2 key accomplishments from your last position.\nEducation:\nBachelor's (Required)\nSecurity clearance:\nSecret (Preferred)\nWork Location: In person","datePosted":"2026-08-04T22:49:09.833Z","dateModified":"2026-08-04T22:49:09.833Z","hiringOrganization":{"@type":"Organization","name":"Dynamic Structures Materials","sameAs":"https://jobsearcher.com"},"jobLocation":{"@type":"Place","address":{"@type":"PostalAddress","addressLocality":"Franklin","addressRegion":"TN","addressCountry":"US"}},"identifier":{"@type":"PropertyValue","name":"JobSearcher","value":"19d74688fb0bd659e10cdebb"},"url":"https://jobsearcher.com/jobs/19d74688fb0bd659e10cdebb"}}