← Back to all jobs

Principal Software Developer (Back-End)

🏢 FreshBooks 🇨🇦 Toronto, Canada 🕑 June 12

This job offer is expired

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 - Principal Software Developer (Back-End)

What you'll do:

  • Collaborate on cross-functional Agile teams working on features for our customers
  • Help set technical and architectural direction for our entire Engineering department
  • Learn in-depth details of the current codebase, and map long term improvements
  • Research, design and share your ideas in technical design and architecture discussions
  • Be an advocate for clean code, good testing practices, and quality software
  • Ship your code and enhance our delivery process
  • Develop your craft, improve your expertise in software development, and raise the level of the teams around you

What you bring:

  • At least 7 years of experience in web application development, in an Agile or Lean environment
  • Strong experience in one of our core technologies - Python and Ruby on Rails - or a strong track record in multiple other languages
  • 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
  • Demonstrated experience coaching and mentoring technical teams, and growing the overall technical maturity of our Engineering organization
  • A deep understanding of test-driven (and behavioural test driven) development, and of building substantially complete test code, and not just for the happy path
  • 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

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.

  • Expertise in the core areas of business of FreshBooks (accounting, payments, small business solutions)
  • A background in DevOps and service ownership, and a clear understanding of bounded contexts and how they map onto microservices.
  • Strong pair programming or mob programming skills, both as a mechanism for producing better code, and for teaching skills
  • Experience with Docker, Kubernetes, Ansible, Terraform, or other similar tools
  • Experience with Google Cloud Platform, or another major cloud provider such as AWS
  • Experience with Redis / ElasticSearch & RabbitMQ (or other queueing technologies such as Kafka
  • Front-end development experience, knowledge of Javascript modern frameworks and client side performance optimization
  • 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 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 [email protected]  


notifications in your