Skip to main content Skip to footer

Molly: F12’s very own search engine

What’s the difference between a software product and a search and rescue dog? Not as much as you’d think.

How we programmed a dog (yes, really)

On evenings and weekends you’ll find our CSO Howard Barton out with his dog Molly on the moorland or forests across Yorkshire. But this isn’t any man and his dog. Howard and Molly are a search and rescue team, supporting the emergency services to locate missing and injured people in the wilderness. 

The day Howard joined his local mountain rescue team thirteen years ago, he knew he’d train a search and rescue dog one day: ”I've always been into helping people,” he said, “I've always been into the outdoors, and I've had dogs all my life.” But training with Mountain Rescue Search & Rescue Dogs (MRSDE), the training organisation providing search dogs for Mountain Rescue England & Wales, is a big commitment. 

It takes an average of two to three years to train a search and rescue dog, with some new handlers taking longer than this to train their first dog. But Howard and Molly? They graduated from MRSDE one month before Molly’s second birthday. 

And how did they do it? 

Well, besides Molly’s natural brilliance, Howard approached the project of training a search and rescue dog with a software development mindset: “With development, things are very logical. You're looking for processes, procedures and patterns.” 

Howard saw obvious parallels between developing software and training a dog, and he harnessed developer thinking to programme his very own search engine: Molly. 

So, how is training a dog like software development?

Both start with a blank canvas. Then, you build a core framework, and you add more specific capabilities. You test and iterate before going live, and at the end of the day, you’re never really ‘done’ with a dog or a piece of software.

 

The blank canvas

Defining your infrastructure, or choosing your dog.

Before writing a single line of code in any software development project, we start with a deep understanding of client requirements. We first decide what language, infrastructure, and architecture to use so we can meet those requirements.

Training a search and rescue dog is much the same. Before he even found Molly, Howard had volunteered with mountain rescue for about a decade. He understood what traits to look for and which breeds make the best search and rescue dogs. He found a breeder with a lineage of working dogs to give his “blank canvas” the best chance. 

The core framework

Developing the core software framework, or training in the core skills.

The first stage in software development is to create the framework for the product. We build the core architecture and essentially create the software’s personality, building in aspects like flexibility, security, and speed from the ground up.

Howard began Molly’s training on day one, building a core set of skills using treats to respond to basic commands. He began to understand Molly’s personality and laid the groundwork for her search and rescue training.

The specific capabilities

Building product functionality, or training in specialist skills.

Now we’re into the fun part. We expand on the core functionality of the software, looking at the requirements needed, and developing each one in turn. We might add features like user management, dashboards, or mobile apps, testing and iterating as we go.

With Molly, Howard began to add specific skills into her training at 5 months. She learned to search different areas, to indicate when she found a human scent, and to ignore animals, such as sheep and birds..

Testing and iteration

Software testing, or using skills in a safe environment.

Once we’ve built up the functionality of a software product, we can begin to test it as a whole unit. The software goes through an iterative cycle of testing, feedback, correcting and changing until it's a complete, functional product.

Once Molly had the key search and rescue skills down, Howard worked on testing and iterating his commands, repeating her skills, and getting feedback from their peers in the search and rescue community, until they reached the levels required by MRSDE. 

Sign-off

Product sign-off by all parties, or search dog grading by MRSDE.

After the testing phase, the software product will go to the client for sign-off. Finally, we put it live, and we have a fully functional software product that meets the requirements of the client.

Similarly, Howard and Molly went through the MRSDE assessment, and Molly graduated and became a functional search and rescue dog.

Ongoing maintenance

Ongoing support and product maintenance, or continued skills training.

You’re never really done with software development or dog training.

After the software product goes live, we continue fixing bugs and developing features. A live software product is just that: live. While clients can use the product, the developer is the one who really knows it inside and out, and can continue building on it.

Once Molly graduated as a search and rescue dog, she and Howard started contributing to search and rescue efforts by emergency services. Howard continues introducing and reinforcing new commands in Molly. While Molly can respond to some commands from other dog handlers, she and Howard have formed a strong bond, and he is the only one who can continue to build those skills with her.

Our own search engine

Using his background as a software developer, Howard was able to train search and rescue dog Molly in just under two years. He spotted the throughline between software development and training a dog: both require an analytical approach, both take a process of testing and iteration, and both result in a very clever product. 

Howard and Molly make a strong team, with Molly able to cover great distances to find lost, injured and distressed hikers. And what did Howard take back into the office? A pocket of dog treats, a very loud whistle, and a bit more patience.

Don't hesitate,
get in touch today


We’d love to get to know you and your business better.

F12 Management Team