Embedded Software Engineer

Apply Now

Company: Bulk Handling Systems

Location: Nashville, TN 37211

Description:

Summary:

The Embedded Software Engineer with Full Stack Capabilities plays a hybrid role, blending deep expertise in C++ and systems-level development with modern full stack skills in Python and JavaScript. This position supports Service, Production, and R&D groups through the development, testing, and deployment of software solutions for advanced machinery and automation systems. The role requires a hands-on engineer who can move between embedded systems and higher-level web or application layers, ensuring seamless integration and functionality from hardware to user interface.

Responsibilities:
  • Develop and maintain core system software in C++ for complex electro-mechanical equipment.
  • Build and support web-based and desktop tools using Python and JavaScript to complement and enhance machine functionality and user interaction.
  • Design scalable, testable, and maintainable software architectures that bridge machine-level logic with user-level applications.
  • Collaborate with cross-functional teams including controls engineers, R&D, and electrical technicians to deliver robust, production-ready software solutions.
  • Participate in continuous improvement initiatives, including integrating modern frameworks and tools to improve functionality, safety, and efficiency.
  • Test and validate machine performance, including software-hardware integration.
  • Troubleshoot, document, and resolve issues across the software stack.
  • Mentor junior developers in both low-level and full stack development practices.
  • Perform other duties as assigned by management.


Minimum Requirements:
  • Bachelor's degree in Computer Science, Electrical Engineering, or a related technical field and 10+ years of professional experience in C++ development with an emphasis on automation, controls, or embedded systems.
  • Familiarity database design (SQL/NoSQL), and deployment tools.
  • Experience working in Linux environments; system configuration, file systems, networking interfaces.
  • Familiarity with Docker, Kubernetes, or similar containerization tools.
  • Strong understanding of source control (Git/SVN)
  • Strong organizational, analytical, and problem-solving skills.
  • Ability to function both independently and as part of a fast-paced, cross-disciplinary team.
  • Excellent verbal and written communication skills.

Similar Jobs