Staff Software Engineer – Systems
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 to pay customers in over 120 countries.
The Opportunity – Staff Software Engineer – Systems
We’re looking for a strong Staff Engineer who has the aspiration to become a Principal Engineer. You are someone who is an advocate of best practices, contributor, to technical roadmaps and has a genuine neck for stewardship and mentorship. You will share our passion for our customers and will join an engineering team that strongly believes in building scalable solutions verified through automated testing, developed iteratively to deliver world-class products. We pay as much attention to building a culture of fast learning in a fun and trustworthy environment as we do to building our products. You will be owning FreshBooks’ messaging and temporary storage technical architecture to ensure scalability and elasticity.
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:
- Collaborate on cross-functional Product teams working on features for our customers
- Advocate best practices, contribution to roadmaps, domain breadth and/or depth, stewardship, mentoring others
- Communicate technical vision and challenges across different levels of the business including Senior Executives and Senior Leadership group.
- Help in growing the technical expertise of the team as they continue to work and touch services outside their realm
- Demonstrate experience coaching and mentoring technical teams, and growing the overall technical maturity of our Engineering organization
- Evolve our technical architecture to scale with our rapidly growing customer community
- Develop a deep understanding of multiple parts of our stack as well as the processes and technologies relevant to our tech space
- Be capable of supporting the product from end to end
- Raise the bar for our entire engineering team through best practices, automation, documentation, and hiring
- Level up our operational excellence, and drive our team to maintain it, so that common regressions are root caused
- Support operational excellence and make measurable improvements to our support processes
What you bring:
- Excellent technical leadership in supporting product teams with best-in-class SaaS platform systems
- Three or more years with Google Cloud Platform, or another major cloud provider such as AWS, in supporting SaaS platforms
- Strong experience in one or more of our core technologies – RabbitMQ, Elastic, Redis
- Experience with cloud-native and microservice-based architectures
- Demonstrated focus on continuous quality, deployment and delivery of services through an emphasis on automation, and strong Engineering Systems
- Proven ability to articulate the value of foundational technology approaches to technology leaders
- Strong understanding of Docker-based containers, Kubernetes, or other container schedulers
- Experience with databases and SQL – our database is MySQL, but any other RDBMS experience will work
- Experience with Ansible, Terraform, or other similar tools
- Familiarity with continuous integration (or better, continuous delivery) and automated build pipelines
- The understanding of how to support product feature teams with solid systems and practices to enable them to ship code faster while supporting strong patterns
- A long-standing habit of continuous learning, and of applying new technologies, architectures, and methodologies to improve SaaS platforms 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 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 both as a mechanism for producing better code and for teaching skills
- Nice to have REST APIs, GraphQL or JSON API