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 is focused on monitoring, maintaining, configuring, deploying, and improving enterprise router software. System design challenges include everyday maintenance, refactoring, and test automation. The scale of the project allows for the development of engineering skills in many dimensions. The product owner and technical leader manage the backlog. Tools and technology will not limit you in everyday tasks. You will also be a key person in designing solutions.
What else you should know:
The team is a group of passionate people who treat every day as a new challenge and take ownership of tasks
The team consists of less than 6 people, including a technical team leader, an engineering manager, and Python, Golang engineers
The client is based in the US
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 roleAs a part of the team, your responsibility will be to:
Maintain and optimize: Maintain core system components and drive optimization tasks focused on performance and speed
Enhance observability: Work closely with logging, monitoring, and telemetry features, improving error handling and system visibility
Develop and refactor: Develop software mainly using Golang and C, while maintaining and gradually replacing legacy Bash scripts
Ensure high quality: Create automated tests using Python to cover regressions and bridge coverage gaps
Debug and analyze: Investigate complex bugs, track system calls, and analyze multithreaded dependencies in a codebase
Collaborate technically: Take part in technical discussions with the team to define how to best implement requirements
As a Software Engineer, you must meet most of the following criteria:
Strong Golang proficiency: Deep practical knowledge of Go as your primary development language, including experience with gRPC
C & Python skills: Experience in C programming and using Python for test automation
Build system expertise: Practical, hands-on experience with Bazel
Advanced debugging: Strong analytical skills with hands-on experience in GDB, ltrace, pprof
Hacker mindset: High level of patience and a strong ability to analyze multi-threaded code and complex system dependencies
Language skills: English at least a B2 level for smooth team communication
Beyond the criteria above, we would appreciate the nice-to-haves:
YANG model: Familiarity with or willingness to learn the YANG data modeling language
CLI & Shell: Experience in writing and refactoring complex bash scripts
Network concepts: Basic knowledge of network protocols and networking device software architecture
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
The ability to change the project you work on
