a HMI Software developer Engineer, you will design and develop software for top-of-the-range next generation products, including user interfaces, in an international environment, taking into account customer requirements, coming up with flexible designs, yet keeping your implementation robust and stable.
- Bachelor or Master degree in Computer Science, Electronic/Electrical Engineering or a related field;
Knowledge and skills:
- 5+ years of professional experience with development related tools and practices (configuration management, debugging and refactoring of legacy code, software lifecycle, V-model, agile methods, review techniques, continuous integration and delivery, etc.);
- Some knowledge of system design and requirements analysis methodologies;
- Knowledge of frameworks for GUIs;
- Familiarity with model based systems engineering and modelling languages likeUML, SysML or similar;
- Knowledge of microcontroller technology and electronic components will be a plus;
- Proven track record of delivering projects on time and to specification.
- Strong proficiency in C/C++, as well as in scripting languages like Python and Perl;
- Familiarity with the concepts and principles of object-oriented programming;
- Positive attitude to be working in team in an international environment, with a self-starter attitude and eagerness to tackle unknowns;
- An interest in keeping up with current and upcoming developments and technologies in the field of software engineering;
- English language (at least CEFR level B2);
- Willingness to go on business travel to the German HQ and relating plants from time to time.
If you are looking for a long-term career and want to join a best in class career where your talents are appreciated, then we would love you to join our team!
Development of software for user interfaces and appliances:
- Analysis of customer requirements (may be related to extending existing legacy code);
- Modelling of efficient data structures and program concepts that fulfil the requirements;
- Modelling of test cases to assure compliance with requirements and required standards;
- Description of sub-components with appropriate software tools (e.g. in a modelling language like UML/SysML);
- Generation of work packages for implementation of the program models;
- Implementation of program and/or test code according to the required standards (internal coding guidelines, GUI guidelines, etc.) as described in the work package;
Test and documentation of deliverables;
- Review of program and test code, as well as documentation;
- Validating technical specifications as to their completeness and ability to be implemented;
- Providing support to peers and junior level team members;
- Error finding and fixing in existing software, using computer simulations as well as on-target-debugging.
- Integration of own and team code, using designated software tools (software configuration management);
- Creating a releasable software package, including documentation;
- Releasing the software package to the customer for acceptance.
- Ensuring that deliverables meet quality goals, as well as time and budget constraints
- Presenting technical solutions
- Maintaining a close working relationship with software engineers and architects at Miele Electronic in Germany