Get to know us better
CodiLime is a software and network engineering industry expert and the first-choice service partner for top global networking hardware providers, software providers and telecoms. We create proofs-of-concept, help our clients build new products, nurture existing ones and provide services in production environments. Our clients include both tech startups and big players in various industries and geographic locations (US, Japan, Israel, Europe).
While no longer a startup - we have 250+ people on board and have been operating since 2011 we’ve kept our people-oriented culture. Our values are simple :
- Act to deliver.
- Disrupt to grow.
- Team up to win.
The project and the team
We work with the latest technologies in modern networking and platform development. We create user-space and kernel-space drivers, as well as software for advanced network devices, and we integrate them with hardware platforms.
What else you should know :
The team consists of Software Engineers led by Codilime's Engineering ManagerMost of our work is R&D with little maintenanceWe follow the client’s development processes but strive to use Agile methodology (Kanban / Scrum) whenever possibleWe collaborate with clients in the US, Europe, and AsiaYour role
As a part of the project team, you will be responsible for :
Developing low-level software using C and C++Collaborating with HW and FW architects to improve systems performanceParticipating in technical discussions with the team and the client regarding the architecture of the developed solutionFixing bugs efficiently and effectively, and finding workarounds for blockersBuilding and expanding the technical knowledge baseDo we have a match?
As a System Software Engineer, you must meet the following criteria :
Excellent knowledge of C & C++ programming languagesExcellent knowledge of systems architecture with a focus on ARM-based platforms (cache coherency, DMA, access to device resources, etc.)Experience in benchmarking and debugging embedded systems (gdb, perf, ftrace, etc.)Experience in developing Linux Kernel Drivers and User Space SW focused on interaction with HWBasic networking knowledge (Ethernet, IP, TCP / UDP, routing, NAT, etc.)Good knowledge of English (at least B2 level)Beyond the criteria above, we would appreciate the nice-to-haves :
Assembly language for ARM-based platformsExperience in developing software using DPDK librariesExperience in working with Systems-on-Chip (SOCs)Experience in working with Network Traffic GeneratorsExperience in Pre-OS drivers development (U-Boot, UEFI, etc.)More reasons to join us
Flexible working hours and approach to work : fully remotely, in the office or hybridProfessional growth supported by internal training sessions and a training budgetSolid onboarding with a hands-on approach to give you an easy startA great atmosphere among professionals who are passionate about their workThe ability to change the project you work on