Job
Description
Job Title: C/C++ Senior Software Engineer Location:Gurgaon Job Type:Full Time (Work from Office) Department: Engineering Overview:We are seeking an experienced and highly skilled C/C++ Senior Software Engineer to join our dynamic development team. The ideal candidate will have a deep understanding of C/C++ programming, good understanding of mobile communication systems (4G/5G), and should be able to drive technical solutions. This role is pivotal in ensuring the quality and performance of complex software systems and fostering a collaborative and innovative development environment. Responsibilities: Coding: Design, develop, and maintain software in C/C++, including but not limited to 4G/5G core network elements, radio access network (RAN). Problem Solving & Optimization: Analyze complex technical problems, troubleshoot issues, and provide innovative solutions. Optimize critical performance areas, memory usage, and multithreading for high-performance applications. Collaboration: Work closely with cross-functional teams, including Product Management, Quality Assurance, and Operations, to define project requirements, ensure timely delivery, and maintain high-quality software solutions. Documentation: Create and maintain technical documentation e.g., code documentation to ensure clarity and knowledge sharing across the team. Continuous Improvement: Stay updated on industry trends, new tools, and technologies related to C programming, and propose their integration into projects when appropriate. Foster a culture of continuous learning and process improvement. Contribute to the design and implementation of system integration, testing, and validation in both simulation and live network environments. Required Qualifications: Education: Bachelors or masters degree in computer science, Engineering, or related field, or equivalent practical experience. Experience: At least 2-4 years of hands-on experience in C/C++ programming, with a strong understanding of low-level programming concepts. In-depth knowledge of system-level programming, memory management, multithreading, and performance optimization in C/C++. Technical Skills: Expertise in C programming language with strong skills in signal handling, Timer management multithreading, DB connections & Interaction etc., with strong debugging and optimization skills. Must have worked on Unit testing frameworks e.g., Cunit. Familiarity with version control systems (e.g., Git), build systems (e.g., Make, CMake), and continuous integration tools. Understanding of computer architecture, including CPU, memory hierarchies, and I/O systems. Experience in working with databases, networking protocols, and API integrations. Experience in system architecture, code reviews, GDB or other debuggers, cloud services, microservice architecture. Soft Skills: Strong problem-solving abilities and attention to detail. Excellent communication skills to articulate complex technical concepts to both technical and non-technical stakeholders. Ability to work well under pressure and manage multiple priorities. Experience with software development methodologies like Agile or Scrum. Familiarity with other programming languages (e.g., Python). Familiarity with 5G/4G radio access network (RAN) architecture, mobile communication systems, and real-time network protocols Knowledge of software testing practices and frameworks for unit testing, integration testing, and performance testing. Knowledge of cloud technologies, containerization, and microservices architectures.