FreshBooks has a big 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 a world class online accounting application to help small businesses better manage their finances. Known for extraordinary customer service and based in Toronto, Canada, FreshBooks serves paying customers in over 120 countries. 

The Opportunity: Senior Python Developer

FreshBooks is seeking a Senior Python Developer to join our Product Development team. You will help build solutions to help our customers manage their accounting and pay and get paid quickly within our cloud application. We are proud to build a product that helps our customers earn their living. If you’re committed to great work and are constantly looking for ways to improve the systems you’re responsible for, we’d love to chat with you!

What you'll do:

  • 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.

What you bring:

  • A minimum of 7 years of experience in web application development, in an Agile or Lean environment. If you have more years, even better!
  • Experience in Python (our core back-end technologies) or a strong track record in other languages - as long as you’re interested in becoming a Python Master
  • 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
  • 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
  • Openness to exploring new technology stack including mobile technologies

Bonus points if you have:

  • Knowledge of online payments solutions
  • Strong pair programming or mob programming skills, both as a mechanism for producing better code, and for teaching skills
  • iOS development experience
  • Experience with Docker, Google Cloud Platform, or another major cloud provider such as AWS
  • An understanding of test-driven (and behavioural test driven) development, and of building substantially complete test code, and not just for the happy path
  • Experience with Redis, ElasticSearch & RabbitMQ (or other equivalent technologies)
  • Experience with data pipelines, ETL, streaming data engines, and related technologies

What we offer:

  • Competitive salaries, fully paid benefits from day 1, RRSP matching program, and generous parental leave policy
  • Weekly catered lunches, beer, and snacks
  • Team and company offsites, hackoffs, Innovation Days, paid community volunteer days and religious observance days
  • Professional development opportunities and flexible work schedules
  • Office gym with showers and complimentary towel service
  • Secure, indoor bike parking with well-stocked repair bay
  • Ping Pong, Foosball, Massage Chairs, VR and Video Game Stations and more
  • Dog-friendly office

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 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  

Apply for this Job

* Required
Almost there! Review your information then click 'Submit Application' to apply.

File   X
File   X