Thousands of customers like Apple, Google, or Ebay use our work on a daily basis.
We are very fortunate to know that we make a difference in the lives of our customers.
We love to create software that matters.
Who We Are
We are a team driven by values.
Not the ones that look nice on a poster, but ones that are truly and honestly lived.
TrustWe believe our colleagues make good & fair decisions.
For example when they take as many vacation days as they need (there's no maximum number of holidays, but a minimum of 24 days). Or when they handle company money responsibly (you can make any purchases without asking for permission). We don't control or micro-manage people.
ReliabilityAt Tower, you're allowed to make any decision.
Even if it's outside of your typical scope of duty. As a consequence, however, you also have to accept responsibility. We rely on our teammates to do their very best work.
RespectWe have a deep and sincere respect for each other.
Both on a professional and on a personal level. We know we can achieve great goals only with the help of our peers.
HumilityWe do what's best for the team.
This shows when you're supporting a team decision even if you'd prefer something else. It's not important who's right or wrong... what's important is that we try to find the best solution, together!
HealthWe require everyone to give 100%.
But not more than that! Working long hours or weekends is rarely seen at Tower. If you want, you can even choose to work only a 4-day week. We encourage you to pursue a life beyond work and offer a family-friendly environment (most of us have kids)!
PragmatismWe concentrate on the tasks that matter.
Many things at Tower could be improved. But reality limits our time and energy in a painful way. To get meaningful work done, we need to live with countless little annoyances and concentrate on the things that bring us forward.
GrowthAll of us have a strong desire to grow.
And we want to help you achieve this. On the professional and on the personal, human level.
Remote WorkWe are strong believers in freedom & flexibility.
Therefore, you can work from wherever you want. In order to keep in touch, however, we meet in person at least once every quarter: for our "General Assemblies" in Frankfurt or Berlin, and for our great team retreats in places like Corsica or Barcelona.
Is this a culture that resonates with you?
Can you contribute something to make our team even better?
Yes and yes?!? Then please get in touch below.
All positions are full-time and from remote - although you have to be based in a European timezone. You need to be fluent in English.
Senior macOS Developer
In your first weeks, you will learn the code base and our workflows within the team and organization by working on more isolated and smaller features.
After this time, your work will involve the following topics:
- Tower Application: Tower is written in Swift/Objective-C and is using a mature, modular and stable MVC architecture. Tower uses a strict asynchronous data model to be as performant as possible. New code is written in Swift, slowly replacing Objective-C with Swift.
- Git SCM: The heart of Tower is based on the Git SCM. We constantly try to improve Tower beyond basic Git workflows. For example, we introduced a true “Undo” functionality to Tower using Git calls. Learn the inner workings of Git to create new features that help users to be more productive.
- Git Services: Improve and extend our integration with Git services like GitHub, GitLab, Bitbucket, etc. Learn how to use their APIs to integrate them into Tower, e.g. for listing and managing Pull Requests.
- Team Work: Collaboratively plan and develop features for releases with your teammates using GitHub milestones, issues and code reviews. Attend weekly check-ins in the Tower Mac team to discuss progress, problems and next steps.
- Unit Tests: Writing unit tests is an essential part of ensuring Tower's stability for existing and new features. We use CI to automatically run tests of frameworks and the main Tower app upon push.
- Maintenance: No code is perfect. There will always be bugs to fix and you will have time to work on refactorings to improve code quality which is important for any long running project.
- Technical Support: Respond to technical questions from our support team in an alternating weekly model with your teammates.
You'll work closely with your colleagues in marketing and support - and be part of a friendly, open, and reliable team of professionals.
Skills & Requirements
- 5+ years professional Objective-C and/or Swift development experience
- Extensive experience with Cocoa frameworks
- Proven track record working on larger professional software projects
- Ability to review code and write unit tests
- Deliver high quality software in a collaborative team environment
- Attention to great design & user experience
- A deep dedication to deliver a true Mac experience
- Stay on top of Apple technologies
- very reliable & thorough: you accept responsibility for your own work and its quality
- hungry to be part of a team that creates things that matter
- self-motivated and capable of working remotely
- open to discussions and a mindful communicator
- willing to be part of a team & yet able to work independently
- paying attention to details
- open-minded and respectful – regarding people, technologies and projects
- happy to become part of a small, international team of friendly & skilled professionals
We are a small, fully remote team spread across Germany, Finland, Latvia, Portugal and Spain. Founded in 2010, we set out to make Git’s powerful feature set accessible to developers, designers, and non-technical people.
Today, our software Tower is the best Git client for Mac and Windows and is used by over 100,000 customers - from startups to Fortune 100 companies.
We know we can achieve great goals only with the help of our peers. And at Tower, we are blessed to work in a team of extraordinary people. We’re not looking for someone to do the job. We’re looking for someone to join the team.
How to Apply
Interested? Please see below for details about how to apply!
How to Apply
To apply, please take some time to answer the questions below. We're not very fond of the classic resume. Instead, we'd like to know a bit about you!