FreshBooks has an ambitious vision. We launched in 2003 but we’re just getting started and there’s a lot left to do. We're a high-performing team working towards a common goal: building an elite online accounting application to help small businesses better handle their finances. Known for extraordinary product and customer service experiences and based in Toronto, Canada, FreshBooks serves paying customers in over 120 countries.

The Opportunity - Senior Software Engineer 

FreshBooks is looking for a Senior 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 decisions 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 web 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 web full stack 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 about 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:

  • A minimum of 7  years of experience in web application development (Agile or Lean environment) 
  • Experience in Python (our core back-end technologies) 
  • Step up to handle tough issues and display 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
  • Front-end development experience, knowledge of Javascript modern frameworks and client side performance optimization
  • Experience with databases and SQL – our database is MySQL
  • Experience writing and working with REST APIs -- and by “REST,” we really do mean actual resource-oriented REST, and not RPC using HTTP mechanisms
  • Experience with Docker, Kubernetes, Ansible, Terraform, or other similar tools
  • Familiarity with continuous integration (or better, continuous delivery) and automated build pipelines
  • The ability to balance desire to ship code quickly to our customers with the responsibility of making good technical decisions
  • A long-standing habit of continuous learning, and of applying new technologies, architectures, and methodologies to improve the code and Engineering organization

Nice to have:

  • Strong pair programming or mob programming skills
  • Experience in A/B testing
  • Experience using JavaScript and frameworks like: Angular, React or Ember

Why Join Us

We're a motivated bunch, with our eye’s laser-focused on shipping extraordinary experiences to businesses. You will be surrounded by hardworking team members who share a common vision for what an amazing software company could be and have the opportunity to help build an elite one, right here in downtown Toronto.

Apply Now

Have we got your attention? Submit your application today and a member of our recruitment team will be in touch with you shortly!

FreshBooks is an equal opportunity employer. We do not discriminate based on gender, religion, race, mental disability, sexual orientation, age, or any other status. All applicants are considered based on their qualifications and merits. At FreshBooks, we inspire an environment of mutual respect and we believe diversity and inclusion are crucial to our success.

FreshBooks provides employment accommodation during the recruitment process. Should you require any accommodation, please indicate this on your application and we will work with you to meet your accessibility needs. For any questions, suggestions or required documents regarding accessibility in a different format, please contact us at phone 416-780-2700 and/or accessibility@freshbooks.com.

Apply for this Job

* Required