Cross-Platform Software Engineer

Apply

Phase One offers visa sponsorship

Phase One will arrange the immigration paperwork required for the winning candidate and cover the associated costs.

Requirements

  • 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).

Nice-to-haves

  • Unit testing and/or automation testing.
  • C++/CLI (also known as managed C++).
  • C#.
  • Objective C.
  • Scripting languages such as Python or JavaScript.

Compensation

  • Apply and let's talk about your salary and benefits.
  • You get to directly impact our products and help make them even better.
  • You can attend at least one relevant conference a year.
  • You get six weeks of vacation time.
  • Work in an office with little bureaucracy and in a growing software environment.
  • You are allowed to focus on quality code – this team is very quality-oriented, as their impact on our products is significant.
  • Be part of a learning environment (10% of working time is allocated to internal education).

Job description

We're looking for 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 develops new features and functionality but also refactors existing code for improved encapsulation, performance and maintainability. One of the team's tasks 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 our foundation team.
In your cover letter, please tell us why you'd be a good match for our team and what your key assets are as a software developer.

The company

Life at Phase One

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.

The Location

Copenhagen, Denmark

Apply

Cross-Platform Software Engineer