C++ Software Embedded Engineer
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