Senior Software Engineer – C/C++ Programming

🏢 Leadway Resource
May 23, 2024

Job Overview

  • Date Posted
    May 23, 2024
  • Location
  • Expiration date
    --

Job Description

Role Overview :

We are looking for a highly skilled Senior Software Engineer with expertise in C and C++ programming, along with exposure to Python server-side development.

– The ideal candidate will have extensive experience in developing and debugging complex, multi-threaded, real-time systems on Linux platforms.

– This role requires strong knowledge of socket programming, network security, and optimization techniques for high-performance and scalable servers.

– The candidate should also possess a deep understanding of algorithms, design patterns, data structures, and network architectures.

Key Responsibilities :

– Develop and maintain high-performance and scalable servers, including web servers, load balancers, HTTP proxies, and VPN-like products.

– Utilize C and C++ programming skills to design and implement robust, multi-threaded, real-time systems on Linux platforms.

– Collaborate with cross-functional teams to understand requirements and architect solutions that meet performance and scalability needs.

– Implement socket programming on Linux using POSIX threaded models to ensure efficient communication and synchronization among processes.

– Debug and troubleshoot complex software issues, including performance bottlenecks and concurrency problems.

– Optimize software and code for high performance, considering both vertical and horizontal scaling needs.

– Apply knowledge of HTTP protocol and network security principles to ensure the integrity and confidentiality of data transmission.

– Utilize version management tools like GIT, Mercurial, or Perforce to manage code repositories and collaborate with team members.

– Stay updated with emerging technologies and industry trends related to software architecture, network architecture, and scalability solutions.

– Mentor junior engineers and provide technical guidance on best practices for software development, optimization, and scalability.

Required Skills and Qualifications :

– Bachelor’s degree in Computer Science, Engineering, or related field.

– 7+ years of experience in C and C++ programming, with a strong emphasis on systems software development.

– Minimum 1-year exposure to Python server-side development.

– Proficiency in socket programming on Linux platforms using POSIX threaded models.

– Extensive experience in developing and debugging complex, multi-threaded, real-time systems.

– In-depth knowledge of Linux operating systems and programming environments.

– Experience in writing high-performance and scalable servers, especially web servers, load balancers, and HTTP proxies.

– Strong understanding and practical use of algorithms, design patterns, and data structures.

– Familiarity with HTTP protocol, network security principles, and optimization techniques for software performance.

– Ability to work effectively in a collaborative, cross-functional team environment.

– Excellent communication skills and the ability to articulate technical concepts effectively.

(ref:hirist.tech)