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 weve 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 systems
- Reading and applying protocol & security specs (IP TCP HTTP SSL/TLS)
- Ensuring performance security and robustness in production environments
Do 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 Python
- Solid foundation in computer networks: IP TCP/UDP routing NAT proxy patterns
- Deep understanding of firewall/security systems: packet filtering stateful firewalls URL filtering IPS/IDS
- Experience debugging tricky traffic flows (traffic goes forward but reply doesnt return)
- Ability to implement or consume proxy inspection HTTP/HTTPS parsing
- Experience 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 inspection
- Knowledge of IDS/IPS systems (Snort Suricata)
- Experience in high-performance networking systems
- Familiarity with container/virtualization networking
- Exposure to distributed or scalable systems
More reasons to join us
- Flexible working hours and approach to work: fully remotely in the office or hybrid
- Professional growth supported by internal training sessions and a training budget
- Solid onboarding with a hands-on approach to give you an easy start
- A great atmosphere among professionals who are passionate about their work