Responsibilities:
Help with the definition of customer and software requirements, as well as the graphical specifications
Define and maintain the architectural models of the SW components
Develop and maintain the application’s code, meeting the quality standards according to internal guidelines
Document the code you will be writing
Write and perform unit, integration, and system tests, as well as periodic code reviews
Interact with suppliers, customers, and other departments
Requirements
Technical skills:
Very good programming skills for Android apps (we work mostly with Kotlin, but Java is part of the picture too)
Good understanding of versioning tools (i.e. git)
Comply to quality requirements for SW though code review, unit testing, etc
Knowledge of Automotive Architectures and communication protocols (as CAN, MOST, Ethernet, MQTT, …)
Soft skills:
Speak, read and write English fluently
Face complex problems and propose solutions
Work and communicate effectively in a team
Other useful competences:
Experience working on SW with complex graphical interfaces
Knowledge of C, C++, Python, JavaScript (and other programming languages)
Knowledge of architectural modeling methodologies and tools (e.g. UML, Enterprise Architect)
Experience working with embedded systems
Knowledge of CI/CD pipelines
Knowledge of static/dynamic code checking tools
Experience with Vector tools (e.g. Canoe, Canalyzer)
Experience working with Scrum and/or other Agile methodologies
Knowledge of Jira project tracking SW
Hands on experience with Linux operating systems and command line shell
Knowledge of functional safety (ISO-26262) and A-Spice
Experience with custom ROM and compiling Android system.
Bachelor's degree