C++ Principal Software Engineer
Title of Role: C++ Principal Software Engineer
Department: Engineering
Locations: India (Remote)
Main Purpose of the Role/ Position Summary
1E is looking for an experienced C++ software engineer with a deep understanding of Win32, networking and security to expand the capabilities of our client that is running on millions of devices around the globe. A key differentiator of our platform is our ability to be able to minimise latency by paying careful considerations to what processing happens at the edge and optimising the volumes of data we ingest into our platform to minimise network bandwidth. This is an opportunity to work with a team of highly skilled engineers on a key component that underpins the capabilities of our platform with regards to insights, artificial intelligence and automated remediation.
What you will do:
- Lead Development and Enhancement of our client: Spearhead the design, development, and enhancement of our client.
- Platform Optimization and Troubleshooting: Optimize the existing codebase for performance, focusing on memory usage and execution time. Handle troubleshooting, debugging, and crash dump analysis to maintain high reliability and performance on Windows systems.
- Security and Networking: Implement robust security measures, conduct threat modelling, and ensure secure connectivity to our platform. Develop and optimize networking capabilities, including work with TCP/IP, TLS, PKI, and socket programming.
- Communicate Effectively: Clearly articulate technical and non-technical concepts to diverse audiences, ensuring information is understood by all team members.
- Continuous Integration and Testing: Develop and maintain unit tests and automated tests to ensure software quality. Manage the CI/CD pipeline to support efficient development and deployment processes.
- Cross-Platform Development Support: Provide support and expertise for the client’s operation across different operating systems including Windows, Linux, macOS, ensuring compatibility and optimizing performance across all platforms.
- Stakeholder Engagement and Support: Collaborate with other teams and stakeholders to gather requirements, provide technical expertise, and ensure alignment with business goals. Support existing customers by providing engineering solutions and resolving issues promptly.
- Innovation and Research: Stay abreast of the latest industry trends and technologies. Explore new tools and technologies that could enhance the platform’s capabilities, such as cloud services, virtualization technologies, and advanced security tools.
- Collaborate with Team Members: Actively engage in team activities and decision-making processes, working cooperatively to achieve shared goals.
- Quickly adjust to new technologies, project shifts, and team dynamics to maintain productivity and team harmony.
- Solve Complex Problems: Analyse and resolve complex technical challenges, collaborating with the team to implement effective solutions.
- Provide Leadership and Mentorship: Lead by example, offer guidance and mentorship to less experienced team members, and assume responsibility for key project components as needed.
- Manage Time and Prioritize Work: Organize personal and team tasks effectively, prioritizing them to meet project deadlines and deliverables.
What you will bring:
Must have
- Modern C++ on Windows
- Knowledge of Win32 API, multi-threading, analysing crash dumps, general debugging and troubleshooting
- Ability to write clean and performant code - optimize for memory usage, execution time, etc
- Knowledge of Boost
- Knowledge of SQL (and ideally exposure to SQLite)
- Strong understanding of security and security considerations, ability to do threat-modelling, etc etc.
- Strong networking skills (familiarity with TCP/IP, TLS, PKI, certificates, socket programming)
- Good understanding of GIT, pull requests, branching, CI
- Experience creating and maintaining unit tests and automated tests
- Ability to create internal documentation and presentations
- Leadership skills
- Planning, design, estimation (Jira/Azure DevOps)
- Experience working in an agile environment
- Batchelors degree in computer science or other
Nice to have
- Experience of development on Linux and macOS
- Knowledge of OpenSSL
- Knowledge of Windows installers (using InstallShield, WIX, etc)
- Knowledge of flex+bison
- Nice to have any cloud exposure (esp. K8S, Azure, Kustomize, etc)
- Familiarity with virtualization technologies (e.g. HyperV, Parallels, VirtualBox, etc)
- Familiarity with static analysis tools (e.g. SonarQube)
- Understanding of enterprise IT, and systems management software (ConfigMgr, InTune, WorkspaceOne, JAMF, Kandji, etc)
Academic Qualifications
- Bachelor’s Degree in Computer Science, Software Engineering, or related field
Professional Experience
- Experience in software development, with a significant portion specifically in modern C++ development on Windows platforms.
- Deep understanding of system-level programming including multi-threading, memory management, and network programming.
- Experience with security practices and secure software development
- Skills in analysing crash dumps, debugging, and optimizing code for large-scale systems.
- Experience with CI/CD pipelines and automated testing
- Cross-platform development experience(Windows, Linux, macOS)
Technical Skills
- Expertise in Win32 API, Boost, and SQL
- Proficiency in network programming and protocols (TCP/IP, TLS, PKI, Open SSL)
- Familiarity with tools like GIT, Jira, and various CI/CD tools
- Knowledge of additional programming languages and technologies such as .NET (C#), scripting in PowerShell/BASH, and familiarity with cloud technologies.
Soft Skills
- Ability to mentor less experienced developers and communicate effectively with stakeholders.
- Problem-solving skills and creativity
- Ability to stay updated with the latest industry trends and technologies and apply them effectively.
- Department
- Engineering
- Locations
- Noida Office
- Remote status
- Fully Remote
![Picture of Kavita Bisht](https://images.teamtailor-cdn.com/images/s3/teamtailor-production/square_226-v4/image_uploads/505dd701-51e7-4585-aec8-eef2f3c85439/original.jpeg)
About 1E
At 1E, we reimagine how technology serves people and we create new ways for IT to shape the future of work. Improve digital employee experience (DEX), tighten security, reduce costs, and evolve IT Operations from cost center to strategic enabler. Work Wonders™ with 1E.
C++ Principal Software Engineer
Loading application form
Already working at 1E?
Let’s recruit together and find your next colleague.