Embedded (Linux) Software / Firmware Engineer
Role details
Job location
Tech stack
Job description
Our client is a technology company with outstanding competences in data collection systems, radio design and wireless sensor networks. Acknowledged innovator and leading player in the Internet of Things domain, the Company offers a compelling portfolio of platforms delivering consolidated technological excellence for any kinds of Smart City and IoT projects. Headquartered in Switzerland, near Chiasso, our client is part of a leading global provider of Electro Solutions To support its growth path, is looking for a: Embedded (Linux) Software / Firmware Engineer - IoT Company (Ticino) The candidate will be part of the embedded software design team, defining the design specification, coding and testing embedded SW for complex low power, RF IoT devices. Main Responsibilities
- Develop low level drivers, protocol stacks and low power applications software for both, RTOS and embedded Linux based platforms
- Promote new technologies, proactively looking at innovative protocols and solution
Requirements
-
University degree in Computer Science or Electronics Engineering or equivalent discipline;
-
Proven experience in architecture definition and software development in C/C++ for embedded applications;
-
Knowledge of IoT technologies and application protocols for embedded systems - such as CoAP, MQTT, LWM2M
-
Good knowledge of microcontrollers, in particular ARM Cortex-M family and peripherals;
-
Experience with embedded Linux platforms, such as RPI and BBB, and embedded Linux distros such as Yocto or Debian
-
Experience with Mesh Networks, radio networking protocols such as IEEE 802.15.4, 6LoWPAN, IPv6, TCP-IP, LPWAN, Bluetooth, NB-IoT
-
Good knowledge of low power design techniques;
-
Experience in debugging and validating complex embedded systems and protocol stack;
-
Ability to read schematics and debug at PCB level using typical lab equipment if needed;
-
Knowledge and experience on software engineering methodologies: lifecycle, quality assurance and testing techniques, continuous integration and continuous deployment technologies (devops), agile scrum methodology
-
Fundamental understanding of security knowledge around embedded applications, network protocols and distributed systems
-
Proficient understanding of code versioning tools, such as Git Nice to have
-
Experience in designing and implementing secure embedded systems, Identity & Access Management, Data Protection, as well as integration of secure elements or hardware security module
-
Design and development of hardware validation test program
-
Experience in desktop application development based on Visual Studio, preferred C# and C++ Soft Skills required
-
Teamwork oriented, proven problem-solving attitudes and ability to manage pressure
-
Flexible, able to prioritise activities and managing time efficiently, meeting the deadlines
-
Ability to conjugate the product with the process and the solution perspective
-
Able to work cross-functionally in dynamic and international environments
-
Effective communication in English (both written & verbal - including technical documentation)