1

Embedded Software Engineer Jobs in Johnson City, TN

Software Test Engineer Location: Johnson City, TN (Onsite in the beginning, then Hybrid setup ... Knowledge in testing firmware for complex embedded runtime environments. * Strong attention to ...

C++ Tutor

Kingsport, TN · Remote

$18 - $40/hr

... programming to operating systems, embedded systems, and high-performance computing applications ... level software development. * Effective Teaching Methods: Ability to identify concepts students ...

Embedded Software Engineer information

See Johnson City, TN salary details

$67.2K

$147.3K

$167.1K

How much do embedded software engineer jobs pay per year?

As of Aug 14, 2026, the average yearly pay for embedded software engineer in Johnson City, TN is $147,324.00, according to ZipRecruiter salary data. Most workers in this role earn between $126,300.00 and $166,200.00 per year, depending on experience, location, and employer.

What is the difference between Embedded Software Engineer vs Firmware Engineer?

AspectEmbedded Software EngineerFirmware Engineer
CredentialsBachelor's in Computer Engineering, Electrical Engineering, or related fields; often requires knowledge of C/C++Similar credentials; strong C/C++ skills, understanding of hardware
Work EnvironmentDevelops software for embedded systems in various industries like automotive, IoT, consumer electronicsFocuses on low-level hardware interaction, often working closely with hardware teams
Industry UsageCommon in automotive, medical devices, consumer electronics, industrial automationPrimarily in consumer electronics, IoT devices, and hardware startups

Embedded Software Engineers design and develop software for embedded systems, focusing on system-level programming. Firmware Engineers write low-level code that directly interacts with hardware components. While both roles require similar skills and work environments, Embedded Software Engineers often work on a broader range of software, whereas Firmware Engineers focus on hardware-specific code. Understanding these differences helps in choosing the right career path or job search focus.

What are the key skills and qualifications needed to thrive as an embedded software engineer?

To thrive as an Embedded Software Engineer, you need a solid background in computer science or electrical engineering, strong programming skills in C/C++, and experience with embedded systems design. Familiarity with real-time operating systems (RTOS), microcontroller architectures, debugging tools, and version control systems like Git is typically required. Excellent problem-solving abilities, attention to detail, and effective communication skills set top engineers apart. These competencies are crucial for building reliable, efficient, and safe embedded solutions that meet industry standards.

What is an embedded software engineer?

Embedded Software Engineers are professionals who design, develop, and maintain software that runs on embedded systems—specialized computing devices that are part of larger systems, such as cars, medical devices, industrial machines, and consumer electronics. Their work involves programming in languages like C or C++ to interact closely with hardware components, ensuring optimal performance, reliability, and safety. Embedded Software Engineers work closely with hardware engineers to integrate and test software with physical devices, often working within real-time and resource-constrained environments. Their expertise is crucial in developing the 'brains' of many devices we use every day.

How does an embedded software engineer typically collaborate with hardware engineers during product development?

Embedded Software Engineers work closely with hardware engineers throughout the product development lifecycle. Collaboration often involves joint design reviews, debugging sessions, and integration testing to ensure software and hardware function seamlessly together. Effective communication is crucial, as changes in hardware can impact software functionality and vice versa. This cross-disciplinary teamwork helps resolve technical issues quickly and ensures the end product meets performance and reliability standards.

What are the most commonly searched types of Embedded Software Engineer jobs in Johnson City, TN?

The most popular types of Embedded Software Engineer jobs in Johnson City, TN are:

What are popular job titles related to Embedded Software Engineer jobs in Johnson City, TN?

For Embedded Software Engineer jobs in Johnson City, TN, the most frequently searched job titles are:

What job categories do people searching Embedded Software Engineer jobs in Johnson City, TN look for?

The top searched job categories for Embedded Software Engineer jobs in Johnson City, TN are:

What cities near Johnson City, TN are hiring for Embedded Software Engineer jobs?

Cities near Johnson City, TN with the most Embedded Software Engineer job openings:

Infographic showing various Embedded Software Engineer job openings in Johnson City, TN as of August 2026, with employment types broken down into 59% Full Time, and 41% Temporary. Highlights an 100% In-person job distribution, with an average salary of $147,324 per year, or $70.8 per hour.

Software Engineer (Full-Stack)

Ammortal Inc

Mars Hill, NC • On-site

Full-time

Medical, Dental, Vision

Posted 21 days ago


Job description

About Us

The Ammortal Chamber brings together multiple scientifically backed wellness technologies into one experience. The Chamber can be utilized by wellness clinics and inside the home. Our clients include specialty spas and clinics, sports teams, and individuals who are biohackers or athletes.

We are a small team with a startup culture. After our first year shipping a finished product on the market, we have shown strong growth. Our team is made up of hardware and software engineers, health professionals, and startup entrepreneurs.

As we continue expanding, this role offers hands-on experience, opportunities to grow into leadership, and the chance to make a tangible impact by developing and delivering cutting-edge wellness technology. You’ll collaborate across disciplines to innovate and shape technologies that enhance well-being for our clients.

What is this role and why does it exist?

This role focuses on full-stack software development for our Chamber technology while supporting the existing product line. As a Software Engineer in this position, you'll work across the entire stack, frontend user interfaces to backend services and embedded systems, and building the software that powers our innovative wellness technology. You’ll utilize modern technologies including Go, Python, microservice architecture, and MQTT; occasionally, you will contribute to first-gen Chamber maintenance and feature development.

This position is essential to Ammortal's mission. You'll be helping to build the future of our product while ensuring continuity with our current offerings. Our clients, speciality clinics serving patients to athletes optimizing their performance, depend on our Chambers daily. You'll work in a diverse, cross-functional environment where you'll tackle challenges spanning web applications, system-level programming, IoT communication, and containerized deployments. This role will also include some quality assurance and technical support responsibilities, giving you end-to-end ownership and deep understanding of our products. As we scale, your contributions will directly shape the architecture and capabilities that define the next generation of wellness technology.

Responsibilities:
  1. Developing features and functionality for Chamber software across the full stack
  2. Contributing to architectural decisions for our microservices-based platform
  3. Maintaining and occasionally developing features for early-gen Chamber software
  4. Participating in quality assurance processes to ensure software reliability and performance
  5. Providing technical support for customer issues when needed
  6. Collaborating with cross-functional teammates (software, hardware, operations, customer experience) to deliver robust end-to-end solutions
Skills to Excel
  1. Attention to Detail: Strong attention to detail; organized and methodical in approach to both development and testing
  2. Continuous Learning: Eagerness for hands-on learning of new technologies, languages, and architectural patterns
  3. Diverse Environment Adaptability: Thrives working in diverse teams and technical environments, comfortable context-switching between different stacks and problem domains
  4. Programming Versatility: Demonstrated ability to work with multiple programming languages and paradigms
  5. System Thinking: Ability to understand and work across different layers of the stack, from UI to backend services to system-level code
  6. Independent + Collaborative: Balances initiative and independence with knowing when to ask for help
  7. Customer Focus: Understanding of how technical decisions impact user experience and customer success
  8. Comfortable Multitasking: Comfortable managing multiple priorities and switching between tasks as needed
  9. Process Adherence: Ability to take direction well and follow established development processes
  10. Team Collaboration: Works effectively in a collaborative, cross-disciplinary team environment

Requirements

What technical knowledge do you need to perform in your role?

Required

  • Experience with at least one modern high-level programming language (JavaScript, Python, or similar)
  • Experience with at least one lower-level language (Go, C, C++, or similar)
  • Familiarity with Linux environments and command line usage
  • Experience with version control (Git)
  • Familiarity with a project management and tracking tool (e.g., Asana, Linear, Jira, etc)
  • Understanding of software development lifecycle and testing practices

Preferred

  • Experience with Next.js, React and Typescript for frontend development
  • Experience with Go for backend development
  • Familiarity with microservice architecture and design patterns
  • Experience with Docker and containerized deployments
  • Familiarity with Debian-based Linux systems
  • Experience with MQTT or other IoT communication protocols
  • Understanding of CI/CD pipelines (e.g. Github Actions workflows, etc.)
  • Familiarity with Shell scripting (Bash)
  • Familiarity with IoT, hardware, or hardware/software integration
  • Familiarity with AI-collaboration tools and agents
Qualifications - Nice to haves
  • Previous experience in a full-stack development role, and/or
  • Previous experience working with embedded systems or IoT devices, and/or
  • Previous experience with real-time communication systems, and/or
  • Previous contributions to open-source projects or personal projects demonstrating breadth across the stack

Benefits

Pay range: $115,000 - $150,000

Benefits: 80% health, dental, vision covered

Location: Hybrid (office in Mars Hill, NC)

  • 40-80% on-site, depending on your current assignments