Senior Software Engineer - C++ Build Systems
We’re looking for a motivated C++ Software Engineer to help us make our next-gen 3D modeling app the most used CAD solution. If you’re interested in enabling development with the fastest iteration times for iOS, macOS and Windows, don’t hesitate to apply. Now is the time to become part of Shapr3D’s mission and change the world of 3D design.
Within the organization
We work in an agile environment with a strong focus on well-structured code, testing, and continuous integration. We do our best to build a sustainable code that enables high speed and high quality. Pragmatic decisions and approaches help us maintain a good balance between quality and speed. We don’t have dedicated roles for specific tasks; every engineer is equally responsible for engineering design, implementation, unit and integration testing.
“To ship new features frequently, you have to increase development productivity to the next level. That’s what we are doing in the DevEx Team, while keeping the development experience as smooth as possible. We are supporting the engineering organization, working on interesting infrastructural projects and monitoring everything to make data-driven decisions. Even though we are not working on the application directly, our work can bring great results.” - Péter Gyarmati, Software Engineer, DevEx team
What will you do?
- Your main responsibility will be the evergreen topic of decreasing build times mainly approached from the compiler, linker and build system directions.
- You will also work directly on the app itself, carrying out generic improvements and optimizations in the overall C++ codebase aiming for the fastest possible iteration times during development.
- Producing an exceptional product requires exceptional and tailor made tools as well. These should provide the same quality in terms of ease of use and performance as if it was the CAD application.
- You will be joining a fresh and fast-paced team and working on super exciting topics that have real impact on everyday lives for every engineer in the company. This team is also responsible for the development and maintenance of the systems that improves development productivity to its fullest whilst making building, testing, packaging and releasing the applications on all three currently supported platforms (iOS, macOS, Windows) possible.
- We are dedicated to creating superior products, and solutions. The problem space the team is working on is super complex, it consists of planning, creating, maintaining and scaling these multi-platform systems.
What will you need to be successful?
- You have several years of experience as a C++ Software Engineer, or in a similar software engineering role
- In-depth experience and knowledge in toolchains (using clang or MSVC) and build systems (e.g. CMake, ninja, Bazel, Buck)
- Background in multi-platform development or experience with at least one of the platforms we use (iOS, macOS, Windows)
- Experience with build optimization techniques, build caching and distributed build systems
- Proven track record with writing high quality, testable, maintainable code
- Thirst for improving the build processes and configurations
- Experience in supporting the development of high performing teams
- You show willingness to learn new technologies in different fields (e.g. automated testing, cloud technologies)
- Experience and knowledge in CI/CD systems is a plus
A sneak peek into our stack...
- Our cross platform CAD engine (that is shared across all platforms) is written in standard C++20
- For our iPadOS and macOS app we build our UI and application logic in Swift (plus some Objective-C, mostly for gluing Swift and C++ together), while for the Windows app in C#/XAML.
- Our proprietary rendering engine uses Metal and DirectX
- Projects are generated by CMake and we use Xcode and Visual Studio for building
- Our CI/CD system is based on Github Actions, with our dedicated instances hosted on Azure and MacStadium
- We monitor our infrastructure with Grafana (and it’s ecosystem) and collect data from all of our internal services
- We use various cloud services to further automate and integrate our systems
- We use Python, Ruby, Bash and PowerShell for scripting
- We write tests in GoogleTest, XCTest and XCUITest on iPadOS and macOS, MSTest and Selenium-like UI Test Automation on Windows
What do we offer?
- The chance to:
- become an owner of the fastest-growing design and manufacturing software startup with equity
- grow exponentially by learning from the bests in their field (we have a top ProdEng team on a global scale)
- challenge existing solutions and build the CAD of the future
- A continuously reviewed generous benefit package (company stock option scheme, a generous private healthcare package, life and health insurance, gym subscription, transportation support... and many more
- Full relocation support if you’re not from Hungary
You can read more details about our benefit package here (https://csi.pet/6YQsB)
We are an office-first company in a remote-first world. Why? Read more about it on our website (https://csi.pet/EGxz8)
Here at Shapr3D we don’t just innovate. We create a new status quo in 3D design.
To achieve this, we’re completely reimagining legacy computer-aided design (CAD) tools with an iconic, mobile-first product. We’re backed by top European VCs Point9 Capital and Creandum.
By joining us, you’ll get the chance to build and contribute to the success of a top-notch product. Shapr3D is well on its way to disrupting the 40-year-old CAD industry with our Apple Design Award winning app that gets regularly featured in Apple Keynotes. Yes. That's right. Shapr3D is one of those apps. But what we’re most proud of is the global user base that grows day by day.
If all this speaks to you and you’re up for reinventing 3D design for the 21st century, we should definitely talk! And don't worry if you don't tick every single box in the requirements. We’re always looking to hire for potential and the right mindset – so we'd still love to hear back from you.
***Please submit your CV in English***