You will be responsible for creating clear specifications, making efficient design choices and to 'make it happen' by implementing and testing the design.
You will design, analyze, document and test the required software specifications.
You will use C/C++, Python, object oriented design programming and Linux within a highly complex embedded environment.
You will work in a multidisciplinary environment, involving physics, mechatronics, customer support and factory departments.
Responsibilities
• Decompose complex problems and derive software requirements to propose a feasible solution• Utilize OOD and design patterns to formulate modular software solutions• Design and perform module unit test, simulation and system integration tests• Able to do performance analysis, troubleshooting and technical support
Qualifications
• Software engineer with minimum 6-8 years of experience in large-scale software applications - embedded programming.• 2+ years of experience architecting and designing (architecture, design patterns, reliability and scaling) of new and current systems• Key competencies for this role are Unix/Linux, C, C++, UML, real-time, Python, and VxWorks,• Solid software engineering knowledge: Agile, Scrum, UML, OOP, design patterns.• Knowledgeable of testing processes (e.g. Unit testing, Robot Framework).• Decompose complex problems and derive software requirements to propose a feasible solution• Utilize OOD and design patterns to formulate modular software solutions• Design and perform module unit test, simulation and system integration tests• Able to do performance analysis, troubleshooting and technical support• University degree