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
The goal of the project is to develop core network and security features close to the kernel and network stack. About half of the tasks are in C / C++ for low-level modules, and the other half in Python for automation, tooling, and integration.
The project involves close collaboration with a team from our client. It is globally distributed, with members in the USA and India - and now, a new team of software engineers is joining in Poland.
We work on multiple interesting projects at the time, so we may invite you to the interview for another project if we see that your competencies and profile are well suited for it.
Your role
As a part of the project team, you will be responsible for :
Designing, implementing, and maintaining network / security features (firewall, NAT, proxy, intrusion prevention, filtering)Integrating with kernel or low-level modules (netfilter, packet capture / forwarding logic)Building advanced traffic inspection and filtering logic (URL filtering, protocol analysis, deep packet inspection)Troubleshooting complex network failures (asymmetrical routing, NAT / firewall interactions, dropped reply traffic)Collaborating with architects, QA, and other engineers on secure network systemsReading and applying protocol & security specs (IP, TCP, HTTP, SSL / TLS)Ensuring performance, security, and robustness in production environmentsDo we have a match?
As a Software Engineer, you must meet the following criteria :
Strong programming skills, with approximately 50% in C / C++ and 50% in PythonSolid foundation in computer networks : IP, TCP / UDP, routing, NAT, proxy patternsDeep understanding of firewall / security systems : packet filtering, stateful firewalls, URL filtering, IPS / IDSExperience debugging tricky traffic flows (traffic goes forward but reply doesn’t return)Ability to implement or consume proxy, inspection, HTTP / HTTPS parsingExperience with kernel-level or system-level network hooks / modules (Linux netfilter, packet sockets)Good command of English (B2 level or higher)Beyond the criteria above, we would appreciate the nice-to-haves :
Experience with firewall vendor software (iptables, nftables, Palo Alto, Fortinet, Cisco ASA)Familiarity with SSL / TLS termination and proxy SSL inspectionKnowledge of IDS / IPS systems (Snort, Suricata)Experience in high-performance networking systemsFamiliarity with container / virtualization networkingExposure to distributed or scalable systemsMore 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 work