Embedded Software Engineer
Saint Louis, Missouri
Software Engineering – Software Engineering /
Full Time /
Hybrid
We are looking for people who are:
- US Citizens
- local to the St. Louis Area
- able to work on-site
- able to obtain a security clearance
- interested in embedded software development and would like to be challenged to solve complex technical problems.
- daring to delve into the technical details of the software stack/project if necessary.
Your daily responsibilities include:
- Perform any of the activities of a software development life cycle: analyze, design, develop, test, debug, profile, and maintain embedded software, potentially encompassing applications, device drivers, network stacks, board support packages, real-time operating systems, and bare-metal executives;
- Able to complete a technical project independently and lead other engineers
- Review customer specifications and requirements, and develop designs to best support them
- Design and write embedded software code
- Develop, document and support testing of products, systems or subsystems
- Provide budget, cost and schedule input for design assignments
- Document component and subsystem specifications
- Specify and evaluate supplier subsystems and services
- Apply fundamental knowledge of software engineering principles and core concepts (e.g., data structures, algorithms, computer architecture, operating systems, and databases) to create software solutions that meet project-based needs
- Apply core computer science concepts in the development, testing, and documentation of software units
- Participate as a member of the testing team to plan and review test cases within software solution components
- Participate in code reviews with the systems engineers, software architects, and other technical staff
- Collaborate with internal and external customers to develop systems to meet required business specifications
- Communicate clearly (written and oral) with other company personnel and the customer as required
- Support, communicate, reinforce and defend the mission, values and culture of the organization
Qualifications
- Bachelor's Degree in Computer Science, Computer Engineering or related field
- Proven Computer Science fundamentals in algorithm design, problem solving, and complexity analysis
- 5+ years of industry experience in delivering high-quality, innovative applications and programming experience with the following: VxWorks (or a similar RTOS), Linux, and one or more of the following: C, C++, C# and/or Java.
- Practical experience working with embedded hardware
- Experience in Object Oriented design and development
- Experience following formal software development processes
- Excellent verbal and written communication skills
- Detail-oriented, organized, and able to work well in a team environment as well as independently with little day-to-day guidance
- Demonstrates an ambition to learn
- Experience with software version control systems (preferably GIT)
- Willing to travel up to 10% as necessary