Our Three Technology Divisions
We have three technical divisions at Harrison.ai
. Ryan Kelly leads our Software Engineering division which encompasses Software, DevOps and Data Engineering. This team specialises in the development, testing and delivery of software systems. Our AI Engineering division is led by Suneeta Mall. While this team also builds software, it focuses on artificial intelligence, the development and productionisation of deep learning applications. Our last vertical is Platform Engineering which is led by Andrew Chisholm. This is an independent unit that develops tooling and shared infrastructure to support internal Engineers at Harrison.ai. While all teams have different responsibilities, Suneeta, Head of AI Engineering says that “software engineering is a common and critical skill set required for any of these teams.”
Deep Dive into Harrison.ais Squad and Guild Model
Many engineers have come across Spotify’s squad and guild model. At Harrison.ai, we have adopted a similar model with a few variations to suit our needs. “The products we build require cross-functional teams with various skill-sets,” Suneeta, our Head of AI Engineering said. “A squad is a group of cross-functional team members with complementing skills that are capable of building a solution for a defined problem.”
“We have multiple squads,” Ryan, our Head of Software Engineering added. “The size of a squad and the team members involved depends on the workload and experience required. Generally, all squads have a Technical Lead. In the early days of a project, this is usually someone with a software, systems, or data engineering background as there is a lot of ground work to cover. As projects mature, the Technical Lead may be more ML focused however – it really depends on the project phase.”
The squad model is extremely useful in scaling multi-disciplinary development teams. “Our goal is to remove dependencies and create self-reliant teams,” says Suneeta. “When you adopt the squad model and select cross-functional experts to work together, suddenly you have a talented team with a rich experience that is able to work autonomously.”
In addition to squads, we also have guilds. A guild is a group of members who are interested or experienced in a specific domain. We have a guild for Software Engineers and a guild for AI Engineers for example. The goal of guilds is to facilitate knowledge sharing and learning across different squads. “Our guild has a monthly meeting with a small workshop,” Suneeta, Head of AI Engineering said. “There are also reading groups relevant to your guild. For example, we read industry papers and recent publications in AI to make sure we stay up to date on our industry.” Ryan, Head of Software Engineering added that they “share maintenance of open source tools and libraries used across different squads” within his Software Engineering guild.
Why We Adopted the Squad Model
“In the beginning of Harrison.ai things were clear cut,” Ryan said. “We had a single focus and were trying to release our first model for one of our ventures. People knew what was important and what needed to be worked on. As we rapidly grew and took on more ventures and built additional models, the organisational structure didn’t evolve to support the changes. There were a lot of people working on a lot of things all at once and it became challenging. You’d find yourself working on something, then quickly needing to move to something else, so there was a lot of context switching. The squad model has created a solid structure and given each team member a clear focus on what to work on.”
Our Agile Methodology
“We follow the Agile methodology at Harrison.ai,” Suneeta says. “With short development cycles, it allows us to fail fast, build quickly, and we can iterate swiftly on our product based on feedback or findings and learnings. This is far more effective than outdated development models such as the Waterfall method which wouldn’t allow us to iterate as quickly.”
Our agile development approach is embedded within our squad model. Squads have a Team Lead, usually the technical expert, a Scrum Master for the administrative tasks and junior and senior team members from the Software and AI Engineering teams. “One key difference at Harrison.ai however, is that we have Clinical AI Specialists,” Ryan said. “These are medical professionals such as radiologists and pathologists with domain expertise and are the equivalent of a Product Owner. They represent our customers and ensure products meet the needs of clinicians who will be using them.
“We also have a Program Management Office (PMO) which helps define our Agile processes while enabling and supporting our squads,” Ryan added. For example, the PMO ensures squads have the right team members and resources. They also establish high-level objectives and milestones for squads to achieve. On a sprint to sprint basis however, each squad is responsible for determining which features to prioritise and build. Squads are also responsible for defining their own sprint cadence, which is usually two weeks for most agile teams.
Engineering Challenges at Harrison.ai
While we’d love to be able to say that our model is perfect, authenticity is one of our core values at Harrison.ai. “I’m happy to admit that the squad model is an imperfect abstraction,” Ryan says. “Sometimes urgent work shows up that’s not the responsibility of any particular squad. Our folks will step up and get the work done anyway even if it’s not part of their squad mission. But because we are ‘obsessed with the process,’ we try not to sweep such things under the rug, but to notice when it happens and discuss it openly and try to figure out how to structure things better for next time.”
Suneeta adds, “Our working model demands layered responsibility from our engineers. Our engineers wear multiple hats (one squad and one or more guilds) requiring their contribution and focus. Time management becomes critical to ensure work-life balance. We are doing several things to help our engineers, especially around meetings. We are encouraging asynchronous discussions, recommending shorter meetings with a clear agenda, making meetings more opt-in with clarity on whose presence is optional etc. It is an active area of improvement for us.
Ready to do the best work of your life?
We are always looking to iterate and improve our engineering processes. If you are a talented Engineer who is passionate about our mission, then we invite you to explore our career opportunities. Come and join us and let’s tackle healthcare and AI challenges on a new level.