Overview:We are seeking a highly skilled Senior Software Engineer specializing in C++ development to lead the design, implementation, and optimization of complex software solutions
This role involves developing high-performance applications, working on system-level programming, and contributing to large-scale projects The ideal candidate will bring deep expertise in C++, strong analytical skills, and a passion for building efficient, scalable, and robust systems Key Responsibilities: Software Development:oDesign, implement, and maintain software applications using modern C++ (C++ /20) oDevelop high-performance, scalable, and efficient code for a variety of platforms oContribute to the development of algorithms, data structures, and real-time solutions System Architecture & Design:oArchitect and design modular, reusable, and maintainable software components oCollaborate with hardware, system engineering, and other teams to define and implement system requirements oOptimize system performance and ensure efficient resource utilization Debugging & Testing:oDebug and resolve complex software issues at the system and application levels oCreate and execute unit tests, integration tests, and performance benchmarks oEnsure software reliability through rigorous testing and validation Leadership & Collaboration:oMentor junior engineers, providing guidance on best practices and technical solutions oParticipate in and lead code reviews to ensure code quality and adherence to standards oCollaborate with cross-functional teams, including QA, product management, and UI/UX, to deliver high-quality solutions Documentation:oDocument designs, implementation strategies, and troubleshooting procedures oMaintain comprehensive and up-to- technical documentation for projects Required Skills and Qualifications: Technical Expertise:oProficiency in C++, with a deep understanding of object-oriented programming, design patterns, and advanced features like templates, multi-threading, and memory management oExperience with modern C++ standards (C++11 and later) oStrong grasp of algorithms, data structures, and STL (Standard Template Library) oFamiliarity with debugging tools (eg GDB, Valgrind) and performance profiling tools System-Level Knowledge:oUnderstanding of operating systems, multithreading, and concurrency oExperience with low-level programming, system calls, and hardware/software interaction oFamiliarity with real-time systems, embedded development, or high-performance computing Development Tools & Practices:oHands-on experience with build systems (eg CMake, Make), version control systems (Git), and CI/CD pipelines oProficiency in Agile methodologies and working in a collaborative environment Education and Experience:oBachelors or Master s degree in Computer Science, Software Engineering, or a related field o5+ years of professional experience in C++ development, including system-level and application-level programming oProven track record of delivering large-scale, complex projects Soft Skills:oExcellent problem-solving and analytical abilities oStrong written and verbal communication skills oAbility to work independently and in a team-oriented environment Preferred Qualifications: Experience with parallel programming, GPU computing (CUDA, OpenCL), or SIMD instructions Familiarity with other languages like Python, Java, or C# for interoperability Knowledge of databases, networking protocols, or distributed systems Experience in a domain-specific area like gaming, finance, or telecommunications Certification in C++ or related technologies