Welcome to FMP Tech!

This (the blog, not specifically this post) is about what we do and how we do it. It’s not glossy or shiny and isn’t meant as a sales job, but it might help inform you about some of the technology we use, and maybe give us an opportunity to bang our own drum about some of the good stuff we’re doing: Like getting our tests to stop slowing us down (1hr 30 down to 10 mins) - strangling monoliths - component-driving our front-end - etc

Who are we? The Findmypast Digital team (engineering, design & product) are approximately 60 people based in London, Dundee, Provo(UT - USA) and Boulder(CO - USA). We support, maintain and develop software and solutions for one of the largest family history organisations in the world. And our on-going challenge is to build and deliver the best, to provide a platform for innovation in product and to facilitate improvements in the way we surface our data, much of which is original and unique to our organisation.

Like all technology-driven organisations we have more than our fair share of technical debt, and can sometimes feel like we’re at war with a legacy code-base and solutions that no longer fit where we want to be technologically.

To help us fight back, we have kicked off a number of exciting projects to re-architect and re-engineer our back-end, front-end and our data repositories (and products). We will also use this blog as a place to talk about what we’re doing in this area and share what we’ve discovered.

We also have had an element of legacy in the way we were organised and the processes we used. Now, we really do try to work in an agile way - and we’re not averse to changing things in the way we work in our attempt to constantly improve, but we try to do things consistently and as a team. We use whiteboards, we use Trello, we use Slack and, while we try to avoid tossing more tools into the mix, we are not averse to adding more tech that will help us improve and deliver quality (more often than not, as long as we’re -all- using it and it doesn’t stop us being nimble in the way we work).

We talk to each other. We help each other and we try to be nice to each other! If something doesn’t work we try to fix it. Ultimately we believe in code craftsmanship - we want to get better at what we do, and, in turn, provide great experiences and interfaces for our users. Notice all of that ‘we’… Because in doing most of this stuff we try work as a team, and have fun as a team.

At the end of the day we create stuff - we solve problems - and we build. We use multiple languages, processes, frameworks, tools, designs and our own skills to achieve our aims. Oh, and we get bored easily. We don’t like spending time doing repetitive tasks. So we’re getting into more and more automation and beginning to explore and implement a range of different technical solutions.

And finally, we want to reduce unnecessary pain in our working life (and to those of our colleagues, and to those of our users!) to a minimum because we want to enjoy what we do, oh, and we don’t mind the odd puzzle to solve along the way, and to get that warm fuzzy feeling when we’ve created something cool.

Jeremy Hoy, CTO, Findmypast