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