Position: C++ Developer (Warszawa, Kraków, Gdańsk, Wrocław)
Company: Grid Dynamics
Experience required: 5y
English level: upper

**Project description:**
We are seeking a talented and experienced Software Engineer with expertise in developing IP communication protocols and strong proficiency in C++. As a key member of our software engineering team, you will play a crucial role in designing, implementing, and maintaining robust and efficient communication protocols for our software products.

Design and develop IP communication protocols: Design, architect, and implement scalable and reliable IP communication protocols to enable efficient data transfer and communication between networked devices.
Collaborate on protocol specifications: Work closely with cross-functional teams, including network architects, system engineers, and product managers, to define and refine protocol specifications based on project requirements and industry standards.
Implement protocol features: Write clean, efficient, and well-documented code in C++ to implement protocol features, including packet handling, message parsing, error detection and correction, congestion control, and security mechanisms.
Conduct protocol testing and optimization: Conduct rigorous testing and debugging of protocols to ensure functionality, performance, and interoperability. Optimize protocols for efficiency, latency, and throughput, and address any identified bottlenecks or issues.
Collaborate with the development team: Collaborate with other software engineers, QA engineers, and system architects to integrate protocols with other software components and ensure seamless interoperability across the system.
Documentation and technical support: Create comprehensive technical documentation, including protocol specifications, design documents, and API references. Provide technical support to internal teams, customers, and partners regarding protocol-related inquiries, troubleshooting, and integration.

**Client description:**
A company specializing in communications satellite technology. According to their website, they claim to have more satellite capacity than any other service provider, combined with an extensive multi-technology terrestrial and offshore network.

**Min requirements to the candidate:**
Bachelor's or Master's degree in Computer Science, Software Engineering, or equivalent.
Proven experience in developing IP communication protocols, preferably in a professional software development environment.
Strong proficiency in C++ programming language, including object-oriented design principles, memory management, and performance optimization.
Solid understanding of TCP/IP stack, network protocols (such as HTTP, HTTPS, DNS, TCP, UDP), and related concepts (e.g., routing, subnetting, IP addressing).
Solid understanding of network routing protocols such as BGP.
Solid understand of QoS methods.
Familiarity with network security principles and encryption protocols (e.g., TLS/SSL).
Experience with protocol analysis tools and debugging techniques to diagnose and resolve issues.
Proficient in software development tools and methodologies, including version control systems (e.g., Git), build systems (e.g., CMake), and agile development practices.
Strong problem-solving skills, attention to detail, and the ability to work effectively both independently and collaboratively within a team.
Excellent communication skills, including the ability to convey complex technical concepts to non-technical stakeholders.
Experience with other programming languages, such as Python, is a plus.