Embedded Software Engineer
Role details
Job location
Tech stack
Job description
Perform real-time embedded software development for Linux/Rocky-based systems using C++ within an Agile engineering environment. Execute full lifecycle engineering tasks, including requirements interpretation, architectural refinement, implementation, integration, and validation activities. Analyze system-level algorithms and existing software structures to implement performance improvements and maintain operational stability., * Design embedded software components for real-time C++ applications running on Linux/Rocky platforms
-
Interpret system engineering algorithm definitions to define implementation strategies
-
Modify existing software architecture to improve performance and maintainability
-
Integrate legacy Ada-based components into modernized C++ codebases where required
-
Execute software integration, verification, and acceptance testing activities across system components
-
Debug complex embedded software defects across multi-threaded environments
-
Participate in Agile sprint planning, reviews, and iterative development cycles
-
Maintain CI/CD pipeline functionality supporting automated build and test processes
-
Develop unit test coverage using GoogleTest or equivalent frameworks
-
Coordinate distributed communication implementations using DDS and CORBA technologies
-
Physical Requirements & Environment
-
Office-based software engineering environment supporting embedded development work
-
Extended computer workstation usage required for development and testing activities
-
Cross-functional collaboration with systems and software engineering teams required
Requirements
-
Bachelor's degree or Master's degree in Computer Science, Software Engineering, or related field, and 6+ years of work-related experience
-
Hands-on experience in real-time embedded software development using C++
-
Experience developing software in Linux or Rocky Linux environments
-
Background in multi-threaded and concurrent system design
-
Exposure to Agile software development methodologies in production environments
-
Ability to read, interpret, and apply technical drawings, blueprints, schematics, or maintenance manuals
-
Able to read, write, speak, and understand the English language
-
Preferred Skills
-
RTI Data Distribution Services (DDS) exposure in distributed systems environments
-
CORBA-based middleware integration experience in enterprise systems
-
CMake build system usage across multi-platform software projects
-
CI/CD pipeline participation within automated build and deployment workflows
-
GitLab version control usage in collaborative development environments
-
Jira workflow tracking experience within Agile teams
-
GoogleTest or equivalent unit testing framework application
-
Ada programming language familiarity in legacy system support
-
Cameo Modeler usage within model-based systems engineering environments
Benefits & conditions
- TeamGlobal Benefits
- Medical, Dental, Vision, 401(k), and more!
- TG Rewards Program
- Employee Referral Program