MTS I, Software Engineer
Panasonic Avionics Corporation
About the Role
Assist in research, development, validation, and maintenance of real-time/embedded software, including low-level development. This involves OS/Kernel configuration (Linux/VxWorks (BSP)) for various hardware architectures and verifying hardware through software.
Key Responsibilities
- Plans, designs, modifies, and implements software applications from functional and system design specifications.
- Codes, integrates, tests, debugs, and refines software to produce the required product.
- Develops software tools and subsystems to support software development, test, and reuse, and manages their implementation.
- Enhances software to reduce operating time or improve efficiency and robustness.
- Reviews, evaluates, and analyzes design interfaces.
- Prepares, reviews, and evaluates interface documentation, specifications, test plans, and procedures.
- Assists in the definition, analysis, and allocation of requirements.
- Supports system test programs and analyzes system testing results.
- Maintains developed software efficiently through familiarity with software lifecycles.
- Documents designs in engineering documents, including functional block diagrams and data/logic flow charts.
- Assists in the troubleshooting and debugging of designs.
Requirements & Tech Stack
- Develop in C/C++.
- Develop hardware device drivers.
- Develop networked client-server applications.
- Develop multiple database driven applications.
- Develop/implement network security methodologies.
- Linux environment experience.
- TCP/IP network programming experience.
- Familiarity with a variety of the discipline field's concepts, practices, and procedures.
- Demonstrated ability to manage multiple priorities and make efficient use of given resources.
- Demonstrated engineering communication expertise, including concise written and verbal skills.
- Ability to work well in a small-team setting and interface with customers.
- Ability to plan engineering activities to perform assigned tasks.
Qualifications
- Bachelor of Science Degree in Computer Sciences, Computer Engineering, or Software Engineering, or equivalent experience.
- C/C++ programming experience in a Linux environment including TCP/IP network programming and device drivers are a must.
- Familiarity with network security methodologies is a plus.
- Prior experience with multimedia application development including streaming audio/video servers and clients is highly desirable.
- Ability to learn to use professional concepts and apply company policies and procedures to resolve routine issues.
- Generally applies existing practices and procedures to analyze situations or data.
- May require travel up to 25% of the time to domestic and/or international locations.