Software Engineer - Desktop and Mobile

About Freedom

At Freedom, we help people enjoy a more productive, fulfilled life by getting better work done. Our product does this by enabling people to easily manage distractions on Mac and Windows computers, Android devices, the iPad and iPhone, and more. With over 3,000,000 users, we've been a Top 100 Productivity App in the App Store, and we're featured in "best productivity apps" articles on a weekly basis. We’re a mission-driven company, inspired every day by the difference we make in people's lives.

The Job

We’re hiring an engineer to help us improve the quality and usability of our desktop and mobile apps. Our apps implement blocking functionality on our supported platforms (Mac, Windows, Android, iOS, Chrome) and interact with our web service via API, written in Ruby on Rails. You’ll work directly with a senior software engineer implementing and extending functionality in our apps.

You’ll work primarily with the following technologies:

  • Swift
  • Objective C
  • .Net

Familiarity with these technologies is a plus:

  • Ruby on Rails
  • Postgres
  • React

We are seeking someone with 3–10 years of professional software development experience. The most important work you’ll be doing will be with Swift and Objective C. If you don’t have extensive experience with both these languages, that’s okay, but we would like to see that you have experience in analogous environments and a willingness to become adept quickly.

We are interested in using different technologies for future projects. For example, we wish to extend our service to Android. If you can bring skills and opinions to shape these decisions, that’s a plus.

Our office is in Durham, NC, though we plan to relocate to Chapel Hill, NC in the upcoming months. You can work either in the office or remotely, but we’d prefer you to be in the continental US (timezones make it difficult to work with someone in another continent). Our local staff works some in the office, some remote.

Software Development at Freedom

At freedom, we employ modern tools for developing and monitoring our product:

  • Git/Github for version control
  • Heroku for infrastructure
  • Trello for Kanban, Screenful for analyzing our workflow
  • Screenhero for pair programming
  • Slack for team communication
  • Semaphore and Buddybuild for CI
  • Papertrail and Rollbar for logging and error tracking

We are strong believers in the principles of agile software development. We spec and deliver product changes in as small pieces as possible, so that we can release often and collect feedback and observations more frequently. We use a Kanban methodology for speccing and developing the product. We do not use effort estimations anywhere in our methodology; instead, we use observations of past aggregate velocity in order to project future aggregate velocity. We believe that for a team our size and the work we do, this methodology works well. We are always tweaking our process, and are very eager to integrate experience and ideas that you might bring.

All code that goes into production is reviewed by at least one other person on the team, and most often it is reviewed by everyone on the team. The benefit of this is not only to have more eyes on the code to provide feedback, but also so that everyone remains aware of changes to all aspects of the system.

We write tests for almost all of our server-side code, some of our other code, and would like to increase this practice. Throughout the day we often jump onto a screen sharing call for pair programming sessions; we like to keep in touch and help each other work through problems.

Our team is smart, mature, respectful, and friendly. We’ve created a good environment for people who want to work on interesting technical challenges and make a difference in people’s lives. To apply, please send your resume or LinkedIn, your Github, and a little bit about why you’re interested in the position to [email protected]. For this position, you must be eligible to work in the United States. We look forward to working with you!

Other Open Positions

Don't see a match? We always welcome strong engineering applicants. Please email your resume or LinkedIn, and Github profile to [email protected].