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