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

The Opportunity - Software Engineer, API

We’re looking for someone who is passionate about building a plethora of different integrations with APIs. This role is to be a member of our growing API & Integrations team. You’ll get the chance to work on APIs/platforms of all shapes and sizes, while also being able to experiment with new technologies depending on what’s hot in the market.

You’ll also build up some externally facing development skills, since you’ll be working with other APIs, and very often the developers who built them.

What you might have:

  • Strong pair programming or mob programming skills, both as a mechanism for producing better code, and for teaching skills
  • 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 you'll do:

  • Build integrations with 3rd party SaaS systems - help to establish how FreshBooks collaborates with our partners
  • Help to build the APIs that enable our partners to collaborate with FreshBooks
  • Collaborate on cross-functional Agile teams working on features for our customers, particularly our API features
  • 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.

What you bring:

  • Strong experience in an Agile or Lean environment
  • Experience working for a custom development shop - while we’re a product company, we think that this role will have elements that benefit from someone who has worked in the software agency or custom development world.
  • Strong experience in one of our core technologies - Python (ideally Flask) and Ruby on Rails - or a strong track record in C, C++ or Java
  • 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 and interest in working with APIs of all types, including JSON:API, GraphQL
  • Willingness to experiment and build PoCs in multiple technologies (Node.js)
  • Experience with databases and SQL – our database is MySQL
  • Experience with Front end frameworks: React, Angular, Vue, or Ember
  • 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

What you might bring: 

We're looking for a variety of talented technical leadership and know that a mix of skills and experience is useful. Even having only a couple of the skills from the list below would be a strong asset.

  • Strong pair programming or mob programming skills, both as a mechanism for producing better code, and for teaching skills
  • 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

Why Join Us

We're an ambitious bunch, with our eyes laser-focused on shipping extraordinary experiences to small business owners. You'll be surrounded by talented team members who share a common vision for what an amazing software company could be, and have the opportunity to help build a world-class 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 that embraces the differences in all of our employees. We celebrate diversity and are committed to creating an inclusive environment for all FreshBookers. All applicants are evaluated based on their experience and qualifications in relation to this position.

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

  
  


U.S. Equal Opportunity Employment Information (Completion is voluntary)

Individuals seeking employment at FreshBooks are considered without regards to race, color, religion, national origin, age, sex, marital status, ancestry, physical or mental disability, veteran status, gender identity, or sexual orientation. You are being given the opportunity to provide the following information in order to help us comply with federal and state Equal Employment Opportunity/Affirmative Action record keeping, reporting, and other legal requirements.

Completion of the form is entirely voluntary. Whatever your decision, it will not be considered in the hiring process or thereafter. Any information that you do provide will be recorded and maintained in a confidential file.

Race & Ethnicity Definitions

If you believe you belong to any of the categories of protected veterans listed below, please indicate by making the appropriate selection. As a government contractor subject to Vietnam Era Veterans Readjustment Assistance Act (VEVRAA), we request this information in order to measure the effectiveness of the outreach and positive recruitment efforts we undertake pursuant to VEVRAA. Classification of protected categories is as follows:

A "disabled veteran" is one of the following: a veteran of the U.S. military, ground, naval or air service who is entitled to compensation (or who but for the receipt of military retired pay would be entitled to compensation) under laws administered by the Secretary of Veterans Affairs; or a person who was discharged or released from active duty because of a service-connected disability.

A "recently separated veteran" means any veteran during the three-year period beginning on the date of such veteran's discharge or release from active duty in the U.S. military, ground, naval, or air service.

An "active duty wartime or campaign badge veteran" means a veteran who served on active duty in the U.S. military, ground, naval or air service during a war, or in a campaign or expedition for which a campaign badge has been authorized under the laws administered by the Department of Defense.

An "Armed forces service medal veteran" means a veteran who, while serving on active duty in the U.S. military, ground, naval or air service, participated in a United States military operation for which an Armed Forces service medal was awarded pursuant to Executive Order 12985.


Form CC-305

OMB Control Number 1250-0005

Expires 1/31/2020

Voluntary Self-Identification of Disability

Why are you being asked to complete this form?

Because we do business with the government, we must reach out to, hire, and provide equal opportunity to qualified people with disabilities1. To help us measure how well we are doing, we are asking you to tell us if you have a disability or if you ever had a disability. Completing this form is voluntary, but we hope that you will choose to fill it out. If you are applying for a job, any answer you give will be kept private and will not be used against you in any way.

If you already work for us, your answer will not be used against you in any way. Because a person may become disabled at any time, we are required to ask all of our employees to update their information every five years. You may voluntarily self-identify as having a disability on this form without fear of any punishment because you did not identify as having a disability earlier.

How do I know if I have a disability?

You are considered to have a disability if you have a physical or mental impairment or medical condition that substantially limits a major life activity, or if you have a history or record of such an impairment or medical condition.

Disabilities include, but are not limited to:

  • Blindness
  • Deafness
  • Cancer
  • Diabetes
  • Epilepsy
  • Autism
  • Cerebral palsy
  • HIV/AIDS
  • Schizophrenia
  • Muscular dystrophy
  • Bipolar disorder
  • Major depression
  • Multiple sclerosis (MS)
  • Missing limbs or partially missing limbs
  • Post-traumatic stress disorder (PTSD)
  • Obsessive compulsive disorder
  • Impairments requiring the use of a wheelchair
  • Intellectual disability (previously called mental retardation)
Reasonable Accommodation Notice

Federal law requires employers to provide reasonable accommodation to qualified individuals with disabilities. Please tell us if you require a reasonable accommodation to apply for a job or to perform your job. Examples of reasonable accommodation include making a change to the application process or work procedures, providing documents in an alternate format, using a sign language interpreter, or using specialized equipment.

1Section 503 of the Rehabilitation Act of 1973, as amended. For more information about this form or the equal employment obligations of Federal contractors, visit the U.S. Department of Labor's Office of Federal Contract Compliance Programs (OFCCP) website at www.dol.gov/ofccp.

PUBLIC BURDEN STATEMENT: According to the Paperwork Reduction Act of 1995 no persons are required to respond to a collection of information unless such collection displays a valid OMB control number. This survey should take about 5 minutes to complete.