MAJOR RESPONSIBILITIES
- Design, Implement, and maintain a software framework that supports hardware qualification verification.
- Enhance, optimize and improve efficiency and robustness of the existing software framework, which was developed in C/C++ and scripting languages
- Participate in requirements analysis, architecture and design processes Collaborate with multiple engineering teams cross different department
- Review, evaluate and analyze test plans and procedures
- Support system programs, analyze results and improve overall system quality Participate in a complete software development lifecycle using Agile methodologies
KNOWLEDGE/SKILL REQUIREMENTS
- Proven experience in development under Linux
- Proven experience in socket programming, PUB/SUB and event driven architecture
- Working knowledge of web technology including HTML, CSS, JS, React, PHP and database
- Working knowledge of the basic networking protocols TCP/UDP/IP and familiarity with VLANs and basic switching and routing concepts
- Demonstrated ability to manage priorities, context switches and make efficient use of shared resources
- Demonstrated ability to work well in a fast-paced environment with user-centered, iterative design and development process
- Demonstrated engineering communication expertise including clear and concise written and verbal skills
KNOWLEDGE/ DESIRED SKILLS
- Working knowledge of the Software Agile methodology and in practicing Scrum
- Minimum of 5 years of proven experience in Software Engineering to include the following:
- Experience in Linux development
- Experience in high level programming languages, such as Java, Python, JavaScript, Perl, etc.
OTHER REQUIREMENTS
- Ability to travel to domestic or international locations as required, up to 5% of the time