Decskill

C++ developer in desktop applications

In short

This role develops and maintains desktop software components in modern C++, working on an established Linux-based codebase with CMake, Git workflows, and automated unit testing. The company is Decskill, an IT consulting firm with over 500 consultants across Lisbon, Porto, and Madrid, hired for a client project in a hybrid Lisbon setup. It demands solid C++ design knowledge (resource ownership, move semantics, const-correctness), debugging skills, and experience with large or legacy codebases; Qt and C++17/20 experience are a plus.

About Decskill
Decskill was founded in 2014 as an IT Consulting Company and their main mission is to deliver value through knowledge. We enable companies to meet the challenges of digital world by providing our clients with business models that ensure technological capacity, flexibility and agility. We are more than 500 consultants with offices in Lisbon, Porto and Madrid.
Responsibilities
•Develop, maintain, and improve software components using modern C++.
•Design and implement maintainable components, APIs, and software architectures.
•Investigate and resolve complex technical issues in an established codebase.
•Refactor and modernise existing code while preserving product stability and reliability.
•Write and maintain automated unit tests to ensure code quality and prevent regressions.
•Participate in code reviews, providing constructive feedback and sharing engineering knowledge.
•Collaborate with the team through Git-based workflows, including merge requests and pull requests.
•Develop, build, debug, and test applications in a Linux environment using CMake and command-line tools.
•Contribute to the continuous improvement of development practices, testing strategies, and software quality.
•Make pragmatic engineering decisions that balance maintainability, performance, and long-term product requirements.
Requirements
•Professional experience developing software in C++.
•A solid understanding of modern C++ design principles, including resource ownership, move semantics, const-correctness, and effective use of the Standard Library.
•Experience writing clean, maintainable, testable, and reliable code.
•Experience designing and implementing software components, APIs, or system architectures.
•Strong debugging, analytical, and problem-solving skills.
•Experience writing and maintaining automated unit tests using frameworks such as Catch2, Google Test, Boost.Test, or equivalent.
•Experience participating in code reviews and collaborating through Git-based workflows, including merge requests or pull requests.
•Experience developing and debugging applications on Linux.
•Confidence using the Linux command line and common development tools.
•Experience using CMake to build and maintain software projects.
•Experience working with large, long-lived, or legacy codebases while maintaining product stability and reliability.
•Good written and verbal English communication skills, with the ability to discuss technical concepts clearly.
Nice to have
•Experience developing desktop applications using Qt 5.15 or later.
•Practical experience with modern C++ standards, particularly C++17 and C++20.
•Experience modernising established codebases through refactoring, improved test coverage, and the adoption of modern development practices.
•Experience developing multithreaded or concurrent applications.
•Familiarity with mocking frameworks such as Trompeloeil, Google Mock, or equivalent.
•Familiarity with CI/CD pipelines, static analysis, sanitizers, and other software quality tools.
Conditions
Not specified in the posting.

Stop applying.
Get referred.

$10 in free credits

In just 60 seconds, fully on autopilot — Eraldt's AI agents read your CV, map the roles you fit, find live vacancies and the people who can refer you, write personal emails, and get you referred.

This isn't an application: your CV doesn't go to the company, and we don't promise a referral for this exact role.

Discover who else lands interviews on autopilot