9 Months of Scaling Product Development at GotPhoto

Alex Allan
GotPhoto
Published in
10 min readOct 14, 2021

--

GotPhoto had a huge tech challenge on their hands after growing nine years organically. Here’s what we did to scale up.

In January, I met Berlin start up, GotPhoto, who were facing a huge challenge: although dominant in Europe and having astounding success in the US, their tech team and set up wasn’t ready to grow.

Cofounder Marco explaining GotPhoto and the photographer market

Marco one of the co-founders explained on my first day that as keen photographers, they wanted to make other photographers successful. Over time they had worked with businesses doing wedding, event and school photography, eventually finding their niche in school photography. They both passionately mentioned that although it seems specialist, virtually all kids in most developed countries have at least one professional photo taken per year — a huge addressable market!

Marco went on, “not only a huge market but also a huge opportunity. See, when you have 500 students, for a photographer that might as well be 500 customers, who need to pay, have their photos printed and shipped. In the offline world, a huge admin and logistical overhead but perfect for a SaaS solution.” The GotPhoto (or fotograf.de in Germany) platform brings together an online shop, payment, workflow (to manage the details of the kids, jobs with the schools, orders from parents, etc) and integrations with photo printing companies into one product.

The solution is well-loved by customers with an excellent NPS score of 63 in Europe and 53 in the US. So what was the problem then? Quite simply, the tech team wasn’t yet set up for the future: handling complex software for 100s of use cases with an aging code base, US market brings opportunities but also big software development challenges and teams with huge remits and responsibilities.

My mission is to establish product priorities and attract the type of leadership and talent that the client couldn’t before.

I define leadership roles, team responsibilities and emphasise the need for setting up HR and recruitment. I’m finished when there are product and tech leads in place who can take my place.

I’m now coming to the end of my time at GotoPhoto and it’s time to reflect on the 3 main challenges in 9 months:

1. We tackled the fear of unplanned work

One of the first things I was told by Anne, the QA Lead, was, “the season is very tough. So tough that developers will be working directly helping customers and solving bugs — and bug tickets will be written by support staff that hardly have time to write one sentence let alone a full description.”

I hadn’t worked in such a seasonal business before, so this was a surprise. It makes sense though: most school photos are taken between March and May or August and November. There are only 5 work days a week which means that there’ll be days where tens of thousands of photos are taken and uploaded all at the same time. When schools are on vacation, the system is hardly used.

What had happened is that features were developed outside of the busy seasons and used often for the first time during the next season. This led to an influx of questions from customers (how does this new work) as well as teething problems (customers using the system in unexpected ways) becoming magnified during busy times. Add to this, the growing volumes of customers and orders requiring the usual scalability pressures.

GotPhoto’s business is extremely seasonal with peaks in Mar-May and Sept-Oct

Working with the teams, we concluded that for us to better ensure quality for the customer (and a better experience for all staff), we needed to focus on reducing the risks during the busy season rather than introducing new functionality.

What did this mean? Developers were spending 30% of their productive time on unplanned maintenance, bug tickets and answering questions for customers. We all agreed this was unsustainable. We needed to do something.

With Ilkka, the Platform Tech Lead, we ran a set of workshops asking questions like “how do we reduce in 6 weeks the amount of unplanned work given a doubling of the order volume?” Unplanned work was the KPI we were laser-focused on as unplanned work has three awful impacts: a) bad experience for the customer, b) unappealing working environment for staff, c) less time actually making great products.

Packaging this together, we created the ‘Summer of Investment’ with the aim to reduce unplanned work as much as possible to have a stress-free season for all (customer support, customers and tech staff) and to prepare for the future.

We focused on the KPI of time spent on unplanned work in order to increase stability and go into our autumn season. The goal and theming allowed the team to be autonomous.

Main outcomes have been:

  • Sense of increased autonomy — ability for the team to make decisions towards a measurable aim.
  • Using new tech to scale core systems — Rewritten our image processing engine NodeJS hosted on AWS Lambda, and greatly improved our customer CRM system, processing emails 2–3 times faster.
  • Knowledge transfer between team members — Our organic company and code growth caused us to have some team members as the authors and experts of some of our systems. The summer was an opportunity to spread this knowledge between team members. We had some staff leave after a number of years with us, here the summer was very important to allow this transfer.
  • Much reduced “stability anxiety” — although we still have question marks, we have so much more confidence in our system.

We’re still in the middle of our largest ever season and so far, the hard work is paying off nicely!

2. Leadership provided a clear strategy — and we got it into everyone’s head!

I’m a huge fan of Melissa Perri’s Escaping the Build Trap. She explains why tech teams get stuck creating output but not value. A key lesson she explains is that a clear, focused strategy needs to come before teams can deliver changes that move the needle for the company.

The leadership at GotPhoto was very receptive and reflective on the goal of having one overall strategy for the whole company, rather than having each of the business units (US, Europe and Tech) going their own direction and eventually conflicting with one another.

The need for this was clear: we weren’t enabling product managers to say ‘no’ and the rest of the company didn’t know what to expect from the tech teams either. It was a nightmare for all involved.

We started by running a set of workshops to get an overview of all the ongoing projects, markets and how this links to the total worldwide addressable market.

What we found was:

  • We were unfocused and working in too many small markets.
  • We are dominant in German-speaking countries plus the UK, generating most of the company’s revenue.
  • The US provides by far the largest opportunity for growth (80% of all potential orders worldwide)

This chimed with the tech teams’ experiences, too: Small markets were dividing attention and ultimately coming up with work that couldn’t be justified given the size of the opportunity. What’s more, the US wasn’t given the planning and investment it deserved given the (a) rate of our revenue growth in the US and (b) total addressable market. Europe is in the middle, high market share with a lot of momentum and customers.

Benedikt, the CEO, was firm: he wanted to clearly explain not only the priorities but how we got there. He started from the goal that every child should have their professional school or sports photos be sold online. From here the question is simply how do we reach this as effectively as possible? The logic was really easy to explain:

With this set, next came the communication. We arranged an all hands meeting and each of the senior managers presented a part.

Benedikt (CEO) introducing the overall goal for the company: ensuring every child’s school or sports picture taken by a professional photographer is offered for sale online.

In tech and product, our next job is to define the team set up and the responsibilities of the teams. Here we are balancing:

  1. Code Sustainability — how does the team make sure the product scales and code is maintainable?
  2. Team Autonomy — how do we get teams working autonomously?
  3. Product Strategy — how does the team contribute to the strategy?

We’re currently running sets of workshops for each team to allow each team to themselves:

  • Setting KPIs in line with the company strategy
  • Defining their own responsibility for the elements of the code and product
  • Which team members they need (existing and new).

The aim is that at any point in the next two years, every team member can explain the direction we’re going in and how they contribute towards code sustainability, team autonomy and achieving the company strategy.

With the progress we’ve made so far, we:

  • Set clarity on who we’re building products for.
  • What success looks like.
  • And how we can get teams to work towards these.

There’s still a lot of work to do and the teams need to overcome some of the most difficult challenges in tech: continuing to develop products to suit a mature market whilst expanding into new markets with an established code base, all whilst hiring and building new teams. However, without setting a clear direction, this wouldn’t be a difficult challenge but an impossible one. The leadership team at GotPhoto has done a really fantastic job in coming up with such a clear, structured strategy that everyone can understand in such a short time!

3. We hired tech leadership — and didn’t just “hire more people”

GotPhoto is the 7th founder-led company I’ve worked with in scaling up. One of the key differences I see in smaller growing companies (20–50 people) and established firms (150+) is the point that leadership and owners need to start considering team management and bringing more specialist roles into their company.

When I started at GotPhoto, leadership was sure that they needed more developers, product managers, designers and analysis. There were plans on which teams would need which types of developer/PM/designer/analysis. Staff were echoing this desire as well.

What wasn’t clear is how we’d ensure that everyone:

  1. learns and grows at work;
  2. has manager who is responsible for them; and
  3. have enough people to help make decisions, set and break down goals.

Working with Ana, GotPhoto’s HR Manager, we drew up plans on how many people we’d need: with hiring 3 new tech squads, expansion of existing squads. This quickly brought us to 20 or so new hires…at a minimum! We’d need a set of experienced ‘head ofs’ for both the engineering and the product sides.

These would be the people to have the headspace to set the goals for the department, make sure that everyone has regular feedback, a learning plan, reviews and represent the technical side within the management circle.

What’s more, we needed to get these people on board before we could really drive the rest of recruitment. At interviews, a common killer is when the candidate asks who their boss will be and the answer comes back “we’re hiring for that role now, but you could help us in deciding who this is” really doesn’t cut it. Afterall, one of the main considerations when accepting a job is your chemistry with the person who you will be working for.

We set up pretty quickly the job and person spec for both roles:

  • Reporting to and involved with C-level — Both positions having decision-making power to continue having tech in the core of the business (just as the company had technical co-founders)
  • Full breadth of leadership in tech — Enablement of their teams to work autonomously, continuous learning for team members, process and operational excellence (getting stuff done!) and a clear opinion on company strategy.
  • Building up structure (and being effective where structure is a little loose!) — Be able to work where structure and roles aren’t so clearly defined (aka a growing start up)

With these set and working with our recruiters, we interviewed for 3 months, meeting at least 15 candidates for each role, before finding our new heads of:

  • David Carpenter — Head of Product — 11 years of hands-on product experience, head of product at Berlin startup FactoryPal.
  • Vadim Sacharow — Head of Engineering — 10 years of tech leadership, head of software architecture at one of Germany’s largest online supermarket groups.

Conclusion

It’s been a ride and I’ve learnt a huge amount from everyone at GotPhoto! Seeing a small company really doing strategy so clearly is very impressive and the way the strategic planning has been done here is something that I will take with me when working with my next clients.

For the product positions, we were a little too hasty with recruitment. The need was (and is strong!) for new product managers. However, the lesson I “re-learnt” is to hold off when you don’t have that person’s manager in place, interviewing candidates who are apprehensive about not having a Head of Product management in place is a waste of your time and theirs. There are other possibilities in this case, firstly, show everyone that you’re hiring for the head of and do everything you can to hire for it. In the meantime, we’ve had success working with a wonderful freelancer for one of our teams. Doing this again, I’d put more focus on the hiring for engineers where we had team leads already in place.

It’s been a blast working with everyone at GotPhoto and I’m honoured to have been able to work with so many passionate and talented people for the last 9 months!

Thank you to everyone at GotPhoto for all their support and also for the openness that allowed me to write this article.

Why not join the team?

If you’re interested in joining check out the GotPhoto Careers Page.

--

--

Alex Allan
GotPhoto

Helping small companies do their best tech, renewable energy enthusiast, Berlin city dweller