Description:
Our client is a semiconductor company that is at the forefront of bridging the physical and digital realms. Their innovative solutions merge analog, digital, and software technologies to facilitate breakthroughs in digitized factories, digital healthcare, mobility, and environmental protection, as well as providing reliable connections worldwide.
On their behalf we are looking for an experienced senior-level Software Engineer to support the launch of high-performance, precision converters and assist the application teams in field support. Initially, the role involves developing models in C#, while also collaborating with other teams to establish a comprehensive modelling strategy for easy integration of these models into customer products and system development. As part of a cross-functional team, you will be responsible for creating and maintaining systems that enable automated testing and deployment of firmware, models, and evaluation software.
What is in it for you?
Competitive salary | Hybrid working arrangements | Work for a well-established company
Responsibilities:
- Writing and maintaining software models in C#, linear and mixed-signal circuit fundamentals and devices would be a strong advantage here.
- Working with engineers from different disciplines (design, applications) to develop broader modelling strategy to maximize use of models within customer systems and integrating models within existing systems.
- Building and maintaining CI test and deployment capability within the team.
- The role is primarily software-based. Proficiency with hardware is desirable for complete systems understanding and tool development e.g., MBED, STM32, Linux.
- Developing and maintaining software models in C#.
- Collaborating with engineers from various disciplines, such as design and applications, to establish a comprehensive modelling strategy that optimizes the utilization of models within customer systems and integrates them into existing systems.
- Creating and managing continuous integration test and deployment capabilities within the team.
Requirements:
- A university degree in Software Engineering, Electrical Engineering, Computer Engineering, or Computer Science.
- Thorough knowledge of software testing methodologies and the software development life cycle.
- Advanced programming skills in C#.
- Extensive experience with continuous integration methodologies and tools, including Jenkins, Groovy, and Docker.
- Proficiency in creating and utilizing automated test suites using languages such as C# and Python.
- Familiarity with SCM (e.g., Git).
- Understanding of continuous integration and development tools (e.g., Azure, Jenkins, pipelines, Docker).
- Strong hardware proficiency is highly desirable for a comprehensive understanding of complete systems and facilitating tool development, including hands-on experience with MBED, STM32, and Linux.
- Knowledge of software development languages (C, C++, Shell Scripting, Groovy, Perl, Python) will be of advantage.
- SystemC and hands-on experience with Linux will be a plus.