- Domain IT Software
- Availability Full-time
- Experience Mid Level
- Type of contract Indeterminate term
- Location Bucharest
- Accommodation No
- Salary To be determined
- Verified company Yes
Do you like to solve difficult problems in C/C++? Advanced memory management, lock-free, wait-free data structures, real-time processing, latency guarantee - these are just a few challenges you are going to face.
It's a challenge to design and implement cloud software that scales on very powerful servers (100+ cores, terabytes of memory, 100 Gbs network connections, NVMe over Fabric storage) and coordinates in clusters across hundreds of such nodes.
As our Linux C/C++ Software Engineer, you'll deal with the critical components in our stack, like the real-time messaging, signaling and media servers, HubRing database and HubStor distributed storage.
- Design and develop new features for existing servers or implement new ones from scratch
- Contribute to OpenSource projects such as Asterisk, Kamailio, NGINX, Redis, HAProxy, PowerDNS, ZFS, Kubernetes
- Optimize performance based on profiling information
- Investigate security and undesired conditions (e.g.: memory leaks, races)
- Investigate performance issues (e.g.: latency, throughput)
- Make peer reviews - design review, code review, documentation review
- Coordinate with other teams in regards to the managed components
What You Must Know
- BS/MS in Computer Science or related technical field
- Proficiency in C programming languages
- Good knowledge of C++
- Excellent knowledge of the Linux OS
- Familiarity with caching and NoSQL database technologies
- Passion for debugging and profiling, proven experience with specific tools
- Good knowledge of algorithms, data structures, networking protocols
- Good knowledge of memory allocation/garbage techniques
- Good knowledge of parallelism techniques: multi-threading / multi-process / reactor / disruptor
- Experience with distributed systems is considered a plus.
- Real-time protocols knowledge is considered a plus.
- Advanced Linux kernel knowledge is considered a plus.
- eBPF knowledge is considered a plus.
- Golang knowledge is considered a plus.
- Ask questions about the job before you go to an interview
- Don’t leave your original passport and ID to employers
- Don’t make any requested payments
- Research the recruiter and the company
- Read the contract before you sign it