Job Description
In this role, you will be part of a team developing embedded software for cutting-edge devices that are aggregated into a software defined network.
Your responsibilities will include:
-
actively participating in the architecture, design, and implementation of software products
-
writing clean, high-quality, high-performance, maintainable code
-
integrating third-party and open-source software
-
understanding of detailed functional specifications
-
complying with the standards and procedures (architecture, security, quality, documentation)
-
providing workload or task estimations for new features or bugfixes
-
participating in code reviews and providing feedback to other developers
-
troubleshooting and debugging issues that arise during the development process
-
conducting tests, deployment of new products and features and improving the system
Job Requirements
What are the requirements
-
Bachelor’s degree in computer science or similar degree
-
Proven experience of 3+ years with Modern C++ (at least C++11, lambdas, smart pointers)
-
Proven experience of 3+ years with Linux user space development
-
Proven experience of 3+ years with embedded systems and Yocto / OpenEmbedded
-
Strong networking background - significant advantage
-
Experience with DPDK / Userspace Packet processing - significant advantage
-
Experience with Linux Kernel development - advantage
-
Experience with BSP development and board bring up - advantage
-
Experience with Python - advantage
-
Experience with Git, Bash, Jenkins
-
Excellent organizational skills, attention to detail, and the ability to communicate effectively
-
Proactive and independent
-
Meticulous and focused on code quality
-
Advanced level of written and spoken English