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.