Jobber logo

Senior Software Engineer - Data and Streaming

Jobber
On-site
Toronto, Ontario, Canada ON

Are you an experienced software developer with a passion for building scalable, reliable, and secure data solutions? Do you enjoy collaborating with teams to solve complex data challenges? 


Then Jobber might be the place for you! We're looking for a Senior Software Engineer to be part of our Data and Streaming team.


At Jobber, we don’t just build a product – we work on real problems that help people in small businesses become successful. We are driven by our company values: be humble, be supportive, and give a shit. These values are not just words, but actions we live by every day. We foster a collaborative environment where teams make decisions autonomously and contribute directly to shaping the future of our company. We release early and often, while addressing technical debt and continuously improving our processes. We believe in learning from our customers and iterating quickly to make their lives easier.


We help employees grow professionally. We have comprehensive onboarding resources, hackathons, and peer mentorship opportunities. Our teams are diverse in experience, offering plenty of mentor/mentee possibilities. Leaders at Jobber work with empathy and support employees in building a healthy work-life balance. Bring your passion and dedication to this role to fulfill your career goals!


The Team:


You will join the Data and Streaming team, a specialized systems team responsible for all Jobber data services, including real-time streaming and data at rest. The team owns the full DevOps data stack, supporting all Stream-Aligned teams by offering centralized expertise in databases, streaming frameworks, data stores, and more. We optimize the data lifecycle to enhance performance, scalability, and security.


The Role:


Reporting to the Manager, Data and Streaming, the Senior Software Engineer will collaborate with other Software Development team members to build scalable data solutions that support the Jobber application. This role is essential to enabling real-time data streaming, managing large-scale data infrastructure, and helping other teams with their data-related needs.



As a Senior Software Engineer, you will:



  • Be involved in the full lifecycle of data-related features, from ideation to delivery, ensuring reliability, scalability, and security.

  • Build and maintain real-time streaming systems, data pipelines, databases, and related infrastructure, ensuring performance and observability.

  • Provide data services and consultation to Stream-Aligned teams, assisting them with complex data problems and enabling them to focus on business needs.

  • Participate in code reviews and testing, driving best practices for data engineering and software development within the team.

  • Work closely with cross-functional teams to determine optimal solutions for scaling, optimizing, and securing data systems.

  • Mentor and coach junior engineers, sharing expertise in data systems, streaming frameworks, and data lifecycle management.

  • Facilitate group discussions with stakeholders to design data architectures that align with business goals and technical requirements.

  • Research and advocate for emerging technologies and innovations in the data space, ensuring Jobber’s data ecosystem remains cutting-edge.


To be successful, you should have:



  • Advanced knowledge of relational and NoSQL databases (e.g., Aurora Postgres, Elasticsearch).

  • Experience with real-time data streaming frameworks (Kafka, RabbitMQ, or similar).

  • Strong expertise in managing cloud-based data services (AWS S3, Redis).

  • Proficiency in DevOps practices related to data infrastructure, including observability, disaster recovery, and scaling.

  • Familiarity with background processing frameworks (Sidekiq, Active Jobs) and data lifecycle management.

  • Experience optimizing database performance, partitioning large datasets, and ensuring data security (handling PII).


It would be really great (but not a deal-breaker) if you had:



  • Experience with scaling data pipelines and managing large-scale data systems.

  • Knowledge of database partitioning and optimizing search technologies.

  • Hands-on experience in cleaning up redundant data systems 

  • Expertise in implementing disaster recovery solutions for critical data systems.


Hiring Process and Team Match-Making:


Using our engineering hiring process, we will explore the skills and qualifications you bring and match you with one of the teams currently hiring. Our hiring process has an interview with a Talent team member (45mins), a Hiring Manager Interview (60mins), a take-home challenge with a follow-up Functional Interview (90mins), and a Senior Leadership Interview (30mins). If a team in particular excites you, feel free to mention it to your Talent Partner! 


Work Environment:


At Jobber you will choose where you do your most impactful work from! You can work from home across Canada or in a hybrid setting from one of our offices in Edmonton (HQ) or Toronto.