Cross-Platform Software Engineer
Are you interested in developing a rock-solid cross-platform software foundation, for a highly acclaimed professional photography and imaging application?...
Are you interested in developing a rock-solid cross-platform software foundation, for a highly acclaimed professional photography and imaging application? Do you want to design and implement technically challenging software components for other software developers to use, using modern programming techniques, in a lightweight development environment? We are looking for experienced software engineers who love to make well-written code and who truly appreciate great software craftsmanship and best practices.
Phase One is a multinational company with approximately 300 employees, with headquarters in Denmark and additional development centers in Japan and Israel. Phase One develops both image processing software and digital cameras for the professional, aerial and industrial imaging industries. Our premium software application, Capture One, has been used by hundreds of thousand customers worldwide for nearly two decades. It provides image acquisition, editing, conversion, and asset management functionality for professional photographers. Capture One’s user base continues to grow significantly, and we are heavily investing in our software development team to maintain this growth.
In addition to Capture One, Phase One develops and manufactures the world’s highest resolution cameras for professional and industrial use with 100 megapixels of 16-bit data per image. Not only are our camera systems used by professional photographers for fashion, portrait, landscape and product photography, but also for aerial imaging and the conservation of art and historical objects. Finally, we also provide a software development framework enabling aerial and industrial partners to use our core technologies.
At Phase One we focus on personal and technical development of our employees, and providing interesting technical challenges and a good work environment. We are a flat organization with few management levels, where everyone can talk with anyone, and where new ideas are openly discussed and quickly incorporated.
See more on our website: www.phaseone.com.
We are looking for multiple passionate and skilled software engineers to enhance our software development team that is responsible for building the cross-platform software framework and core technologies upon which Capture One is built as well as the applications of our industrial partners.
This cross-platform framework is written in C++ and runs on Microsoft Windows, Apple macOS, Linux, and within our own embedded operating system. Consisting of a few million lines of code, it uses multi-threading, vectorization, and GPU processing for performance. The key components of the foundation software are libraries for reading and writing of various image file formats, a highly optimized image processing pipeline, a library for communicating with different camera systems, Capture One’s extensive document object model and data storage system, as well as several other cross-platform support libraries.
The team both develops new features and functionality, but also refactors existing code for improved encapsulation, performance and maintainability. One of the tasks the team has is to convert existing C# and Objective C code to cross-platform C++. If you love developing well-written software libraries, refactoring technical debt, and using the latest modern C++ practices, as well as working on technically challenging projects, then you will be a good fit for the Foundation Team.
You have a Bachelor’s degree or higher in computer science, engineering, mathematics, physics or similar. You are eager to learn and to teach; you love knowledge and sharing it. You are good at communicating and presenting your ideas. You are proficient in English, both spoken and written. The more professional software development experience you have the better, but there is no minimum requirement.
Experience in one or more of the following is highly relevant:
- Software design and architecture, good coding patterns and practices.
- Developing libraries or frameworks.
- C++ language, particularly C++11 or later.
- Multi-threaded coding and parallelization.
- Development experience on one or more platforms:
Windows, macOS, Linux, or embedded.
- Database programming and performance optimization (particularly SQL/SQL-Lite databases).
- Image processing and performance optimization (including vectorization and GPU APIs like OpenCL).
Other useful experience or knowledge:
- Unit testing and/or automation testing.
- C++/CLI (also known as managed C++).
- Objective C.
Should have questions you can contact our recruitment Partner Søren Rosenkrantz Larsen on +45 2893 7977. Apply for the position via the "Ansøg" link found on this page.
Please include in your application why you think you will be a good match for our team, what you think your key assets are as a software developer, one or more specific examples of your personal contributions to a software project or team, and a short description of your personality and passions.
Applications will be processed as they arrive, until all available positions are filled.
Please write in your application that you've seen the job at Jobfinder