Job Description
The position is a key role within the Software Team. As member of this team, you can actively contribute to innovative projects, with strong impact on strategy and a direct contribution to the company’s future success.
The candidate will design and develop Graphical User Interface software for a broad product portfolio, including but not limited to Vision Sensors and Safety Systems.
Key Responsibilities:
1. As a UI Software Architect, analyze functional and non-functional system requirements and design the high-level architecture, defining subsystem requirements and selecting appropriate technologies.
2. As UI Software Developer, analyze system requirements and support the development of Web and Desktop based User Interfaces. Review and debug code and, if needed, be involved in reviewing other teams / third party source code and manage its integration with existing code.
3. Design User Interfaces that are intuitive, user-friendly, and customer oriented.
4. Collaborate with the Software Team Manager and the Project Software Lead to organize activities for the software development team and define tasks and sub-tasks priorities to meet the key milestones.
5. Collaborate with the Project Software Lead in the development and integration activities of the team for official software deliverables, consistently adopting software engineering best practices, including code reviews, source control management, build processes, testing, code analyzers, and change management.
6. Work closely with software and marketing professionals to make sure User Interfaces are implemented correctly and align with company’s brand identity.
7. Communicate proactively with the team to discuss technical topics.
8. Implement and maintain the Software architecture in conjunction with all the other software teams belonging to the R&D community.
9. Constantly foster innovation exploring alternative concepts and creating technology demonstrators to validate the approach with project stakeholders on real use cases.
10. Collaborate with Software Team Manager in being the software technical interface with key internal customers such as test team, operations, program management and product quality team.
11. Act as the interface with external consultants for software design, implementation and testing, following up on open issues and clarifying product behavior.
12. Contribute to the definition of the requirements for next-generation products. Learn new techniques/technologies to find innovative solutions and submit patent proposals.
13. Mentor other software engineers to maintain architectural vision and software quality.
14. Study and benchmark competitor products.
Requirements & Specific Skills:
15. Master's degree in Computer Science;
16. Languages: Italian, English fluent;
17. 7+ years of Graphical User Interface (GUI) and software development experience, excellent visual design skills and proven experience in UX/UI design, with strong proficiency in developing both web-based and desktop-based User Interfaces.
18. Experienced in developing modern applications using C#, .NET / .NET Core, Blazor, and MAUI.
19. Proficient in front-end development with HTML, CSS, and JavaScript.
20. Strong experience with the Angular framework.
21. Experience in High Level design and Low-level design starting from system requirements (functional and non-functional).
22. Knowledge of version control systems (GIT), issue tracking tools (e.g. IBM Jazz, Jira) and build automation technologies (e.g. Jenkins, GitLab).
23. Excellent critical thinking and problem-solving skills for complex challenges.
#LI-IC1