Company
At TopHatch, we delight and empower creative people. Our powerful, award-winning design tools simplify the creative process with smarter, more intuitive technology. You could say we’re building the future of design. And we’d love your help. Check out Concepts in the App Store, Play Store or Windows Store. We're a distributed team, and have worked that way from the beginning, and so we know how to do remote working the right way, we consider ourselves Level Four and aspiring to Level Five.
Role
We're looking for an experienced developer to work on our cross-platform vector drawing engine. This is built on modern C++ (17) and runs across iOS, Windows and Android. In particular for this role we are looking for someone who loves to refactor existing non-portable code (Objective-C / C++) and convert it to cross-platform C++. We have a lot of code to reconcile from a legacy codebase and get it working in our modern codebase. You need to love working in a structured way to improve, refactor and port code. Maybe that someone is you?
Responsibilities
Collaborate closely with other team members to define, design, develop, test and deliver the Concepts experience.
Deliver a quality software solution using an agile mobile development cycle. We ship fast and often; you’ll need to be able to roll with it.
Analyze business requirements, provide development estimates and give feedback on risk.
Location
Our team is distributed and the majority of the team works from home (or van or Airbnb). Our engineering, product management and QA teams are in Europe, so our preference is to hire someone in that region for this role.
Key Skills
Excellent verbal and written communication skills in English. You'll need to be a confident communicator, happy to work daily on Slack/Github to report progress and issues with other team members.
Experience with refactoring a complex codebase.
A high level of proficiency in modern C++, someone who is able to write and understand templated code.
Experience with either Android, Windows 10 or iOS. Nice but not essential.
Self-motivated and able to work independently with minimal supervision in a collaborative work environment.