Senior C++ Software Engineer
SoftServe · Remote - Ukraine · Full-time · 2026-09-23
Job description
ABOUT THE ROLE
In this role, you'll take MobileWorkUpdater — a C++/Qt 6 client solution — from a Windows-only tool to a true cross-platform product on Linux and macOS. You'll start with a hands-on knowledge-transfer from the solution's current developer, then own the Linux and macOS build independently. Your work will directly shape how the client keeps machines up to date across every desktop platform.
RESPONSIBILITIES
- Extend the existing C++/Qt 6 codebase to build, run, and pass real-world tests on Linux and macOS, beyond its current Windows implementation
- Validate the update-check logic — driven by a local config file — against the basic Apache-based server component across all three platforms
- Partner closely with the current maintainer during a focused knowledge-transfer window to absorb the architecture, prior decisions, and open topics before working independently
- Adapt the existing lightweight UI so it behaves consistently across Windows, Linux, and macOS
- Contribute to a coherent security concept for the update mechanism, building on the SSL and hash-checksum checks already in place
- Connect the build and release process into CI/CD pipelines, including Jenkins and JFrog
- Document platform-specific setup steps, build quirks, and known issues to make the solution easy to maintain going forward
- Stay coordinated with the Windows-side maintainer as the solution continues to evolve after its migration into CGM
REQUIREMENTS
- Solid, hands-on experience with C++ and Qt 6 in real production client applications
- Practical experience building and packaging desktop applications for Linux and macOS
- Working knowledge of TLS/SSL and checksum-based integrity checks in client-server update flows
- Familiarity with CI/CD tooling such as Jenkins and JFrog Artifactory, or the ability to pick this up quickly
- Comfortable working alongside a basic server-side component (e.g., Apache) that supports a client application
- Strong self-organization, with the confidence to take ownership of a solution after a short, structured handover
- Clear, proactive communication to make the most of a compressed knowledge-transfer timeline
- A pragmatic, adaptable mindset for working with a solution whose architecture — especially around security — is still taking shape.