Findmypast Tech

Pursuing mastery as a software engineer - part 1

Reading time: 3 min

At Findmypast we have aspirations to radically disrupt the family and social history market. Our company vision is

Connect our family’s past, present and future.

In order achieve this lofty goal we are growing a truly amazing software engineering team full of wonderfully talented individuals. The craft of software engineering is evolving at an unnerving speed, and as such, we must constantly and incessantly pursue mastery to stay at the forefront.

We encourage and support our engineers to spend time at work learning and mastering all aspects of building software. Every engineer at Findmypast is entitled spend one hour learning each day in the way that they find most effective. In that vein I’ve spent a good portion of the last six months educating myself about how we as human beings learn and master new skills. Could we apply the same training techniques that world class athletes, musicians and chess grandmasters use to hone their abilities?

After reading Peak by Anders Ericsson I strongly believe that we can. He asserts that we all have the potential for greatness, what we need is hard work and a hell of a lot of it. My interpretation of his research can be modelled as a cycle of four parts. We must start with self reflection to identify an area of skill that we are deficient in. This is probably the most difficult part as we must put our ego aside and be truly honest about our abilities. Once you’ve identified what you’re going to improve you build a training program tailored to improving that skill. Finally we undertake the training program that involves regular deliberate practice, coaching and self analysis of the skill. This leads to us forming finer mental representations in our long term memory and an improved level of performance in that area.

Mastery loop diagram

Hand in hand with Peak is the Mindset we adopt. Carol Dweck has a very simple mental model. Do you have a growth mindset or a fixed mindset? Let me ask you a question. Do you agree with this statement?

No matter who you are, you can significantly change your intelligence level.

If you do then you probably have a growth mindset, if not you probably have a fixed mindset. Over the last three decades both Ericsson and Dweck have carried out exhaustive research that leads to the conclusion that innate talent is fiction. With a growth mindset and deliberate practice we can increase our skill in whatever we choose to focus our efforts on. We use the idea of innate talent to protect our egos when comparing ourselves to people who’ve mastered a skill. It’s easy for us to say that someone is naturally talented and we’ll never be that good. It has nothing to do with the thousands of hours of deliberate practice those masters have dedicated to their field of expertise. It’s so much harder to say, I’ve got a thousand hours of practice to do before I’m that good.

Learning isn’t a way of reaching one’s potential but rather a way of developing it. — Anders Ericsson

We all have different rates at which we can pick up new skills, but the experts assert that we are all capable of being world class at whatever we put our minds to given enough of the right kind of practice.

This leads nicely into Grit which describes the people that can stick with something no matter how hard it gets. Angela Duckworth’s field of research is what she has termed “Grit”. Generally people right at the top of their game are also incredibly gritty. They have a focus and drive that allows them to pour all their effort into their goals. As I read more about their deeds I found myself wishing that I was more like them. How does one acquire grit? How do I be more gritty?

She describes a technique of keeping a hierarchy of goals for yourself. They help you keep focused on what’s important to you.

Tiered Goals

Your low-tier goal lead towards attaining your mid-tier goals which lead towards you attaining your top-tier goal. I’ve found this a useful technique in setting my own goals.

The final part of my source material is centered around habits. The Power of Habit explains how habits work, how to change existing habits, and how to create new ones. Charles Duhigg goes into some depth on the habits of individuals at the top of their fields. I believe that building a habit of deliberate practice around your chosen skill will help you towards building mental representations that will help you perform at an ever higher level.

Champions don’t do extraordinary things. They do ordinary things, but they do them without thinking, too fast for the other team to react. They follow the habits they’ve learned. — Charles Duhigg

Habit Loop

Joining together all this research can help us use our time to its maximum potential. To understand more deeply. To make better decisions. To write awesome code.

That’s the end of part 1 for pursuing mastery as a software engineer. In part two I’ll write about how I’ve put some of this into practice with myself.

If you like the sound of what we’re doing here, we build websites with Elixir/Phoenix and JavaScript (React, Relay, Webpack, Babel). If you love learning then we’ve got a lot in common. We look for hard working and ever learning developers. We give you the time you need to learn our stack. Have a look at our jobs and drop us a line.

If you’d like to know more, part 2 can be found here