Overview

FreshBooks is looking for a Mobile Software Engineer who will play a hands-on role in driving our mission to build a world-class technology company with a global footprint. You will be instrumental in playing a vital role that impacts the lives of millions of small business owners around the world and directly impact customer experiences and businesses. We are looking for people who thrive in a creative, collaborative and agile development environment.

If this appeals to you, please come and chat with us to learn more about how you can become a part of the intrinsically motivated teams of engineers!

What you’ll do in your first twelve months at FreshBooks:

  • Build real-world applications that have a meaningful impact on customers
  • Make sound judgement calls even in the absence of complete information, and recognize when to over-engineer and when not to
  • Design and develop application technologies that optimize solution operation and minimize maintenance overhead
  • Collaborate with full-stack and mobile developers on cross-functional Agile teams working on features for our customers
  • Work closely with UX designers and Product owners to ensure the best mobile experience for our customers
  • Contribute to a large codebase that contains a multitude of customer features
  • Participate and share your ideas in technical design and architecture discussions
  • Ensure quality through automated and exploratory testing
  • Ship your code with our continuous integration process
  • Develop your craft and build your expertise in mobile development
  • Mentor others, versus just answering questions – Pairing and mentoring others is an integral part of this level
  • Able to make an effective technical or business case for code changes
  • Motivates team members towards high-quality work
  • Demonstrate passion for building high-quality software that addresses customer needs
  • Be a proactive communicator who enjoys working closely with creative and technical peers
  • Work in a dynamic Agile based environment

What you have:

  • 3 – 5 years of experience in native iOS development (Swift) within an Agile or Lean environment
  • Willingness to step up and handle tough issues with a can-do attitude
  • Learn quickly and experiment to find new solutions
  • Take on unfamiliar problems and extract lessons and learn from mistakes
  • Anticipate the impact of emerging technologies and make adjustments
  • Experience working with REST APIs — and by β€œREST,” we really do mean actual resource-oriented REST, and not RPC using HTTP mechanisms
  • Experience with version control systems like Git
  • Familiarity with continuous integration (or better, continuous delivery) and automated build pipelines
  • The ability to balance the desire to ship code quickly to our customers with the responsibility of a quality mindset
  • A habit of continuous learning, and of applying new technologies, architectures, and methodologies to improve the code and Engineering organization
  • Located in a timezone somewhere in the range of GMT-7 to GMT-4, in order to support collaboration with your team

Nice to have:

  • Strong pair programming or mob programming skills
  • Experience with React Native
  • Experience with A/B testing
  • Experience with SQL for querying relational databases – our database is MySQL