C++ Developer
Posted Updated
Description
C++ Developer with proven experience in building high-performance Windows applications, specialising in object-oriented design, multithreading, hardware interfacing, and complex system debugging. Responsible for designing, developing, optimising, and supporting mission-critical applications in engineering-focused environments.
Responsibilities:
- Design, develop, and maintain high-performance C++ applications on Windows platforms.
- Architect software components using object-oriented principles and design patterns.
- Diagnose and troubleshoot complex issues in production and lab environments with limited diagnostics.
- Optimise performance, reliability, and stability for long-running test systems.
- Work closely with hardware, firmware, and system engineering teams.
- Participate in code reviews, technical design sessions, and architectural discussions.
- Support system integration, test workflows, and handle customer escalations as needed.
Requirements:
- Strong proficiency in modern C++ on Windows environments.
- Expertise in software design, design patterns, and architectural best practices.
- Experience interfacing with hardware components, drivers, SDKs, COM, serial, Ethernet, etc.
- Strong debugging capabilities in low-logging or constrained diagnostic settings.
- Proficient in multithreading, synchronisation techniques, and memory management.
- Working knowledge of networking concepts, including TCP/IP and socket communication.
- Strong communication and collaboration skills.
Good to Have:
- Experienced C++ developer with a track record of building reliable, performance-focused Windows applications.
- Strong foundation in object-oriented programming and design best practices.
- Skilled in developing applications that interact with hardware and device-level interfaces.
- Proficient in debugging complex, multicomponent systems with minimal diagnostic information.
- Adept at building multithreaded, memory-efficient, and high-availability applications.
- Comfortable collaborating across hardware, firmware, and system engineering teams.
- Detail-oriented engineer with a focus on stability, scalability, and application longevity.
- Strong communicator who thrives in technical discussions and cross-functional problem-solving.