Chief Technology Officer at All Aboard Phonics

Thanks for your interest in this position. Here is a quick description of the job and why we hope you might want to apply for it:

The Job

Our vision at All Aboard is to make the key learning journeys of primary school children easier, more fun and more successful, particularly for those types of children who have historically struggled. If you join us, you will be engaged in building substantial tech systems, designed to last 10-20 years, that make delivering on that vision possible.

We need someone who has both experience of Unity 3D and substantial coding experience, ideally in C# and Python. Our front end is delivered in Unity, but that front end is dependent on a mix of server functions running on Google Cloud Platform. Those repositories and our Learner Management System (LMS) are mostly set up in Python and Django.

Because our product is designed to grow and develop over time, we need to adhere to the best development practices, so that it remains maintainable. So you will need to be mildly obsessional about achieving that and avoiding a build-up of technical debt. We want the team to be working on the code consistently in the same way, rather than following their own paths.

You can be based anywhere. Over the past two years we have all been working remotely, but we are open to the option of running an office again. We are not believers in excessive working hours or crunch periods (unless a bug has sneaked through and our users are blocked from using the system). We like to write an achievable roadmap and then work through it in a series of manageable sprints.

We are expecting to pay £60+K for this position, but we hope that your primary reason for taking the position will be because it gives greater meaning to the skills you have developed. If there is no passion in the job for you, please don’t apply!

This is an open-ended recruitment process, because we will run it until the right person makes contact. But right now we are promoting it quite hard and so do not hold back your application if you are interested in the opportunity.

The All Aboard Story

The All Aboard team has been working on literacy solutions since 2008. Our main product has been the Easyread System. You can check out the reviews of Easyread on Facebook.

We have worked with over 15,000 children and our expectation now is to get each child to a good level of reading confidence, despite years of prior frustration. We are confident we are the best in the world at this sort of intervention. You can see more about Easyread under the Parent Info menu.

In early 2021 the UK government announced a new validation process for classroom phonics systems. It is something they have not done since 2014. As a result we have thrown ourselves into creating a new system of daily lessons and resources, called All Aboard Phonics. 

This new product uses our knowledge of how to get it right for a child from our Easyread work, while also trying to match the criteria set by the government. We are due to hear if that new system has been validated in April 2022. In the meantime, our early adopters have been getting good results.

We have recently renamed the company All Aboard Learning Ltd, to match this new product. We used to be Oxford Learning Solutions Ltd, trading as DM Education.

70% of our Easyread sales are from overseas and we will be creating suitable versions of All Aboard Phonics for each of the main English-speaking countries. Our new tech platform is also set up to flip into delivery in other languages too. 

The Medium Term Goal

Although we are currently very focused on literacy, our aim is to broaden our delivery into maths and other primary school curriculum subjects, so that we travel with the learner throughout their primary education. We also plan to build project-based experiences that allow curriculum goals to be achieved through interesting learning beyond the curriculum.

So our goal is to become the leading primary school content provider in the world. 

It is obvious that that would develop substantial value in the company, which the team who have made it possible will take a share of. The big competitor for us to beat in the USA is called ABC Mouse. They were valued at $1 billion a few years ago.

At the moment the company is entirely owned by me, the founder. So we are not hopping to the tunes of any outside investors.

Generally, education is not a get-rich-quick zone, because getting education processes right takes time to test and iterate. But 20 years of development have gone into this project already and so we have done our time! We are expecting the next ten years to be exciting.

Our Current Tech Setup

Our Easyread System is based on a PHP learner management system (LMS) which was built in 2008-2014. It has only had minimal maintenance for the past 7 years. So it is seriously creaking.

For the past 3 years we have been building a new system, with an LMS built in Python and the front end in Unity 3D. 

We have been beta testing that for over a year, with a few dozen children successfully making their way through our first curriculum. We have now built a second curriculum that matches our All Aboard Phonics classroom curriculum and we have children testing that too.

The Python LMS has been built by a team working for a consultancy in London. The Unity front end has been built by a team in Manila who are directly employed by the company. We also have a team of independent graphic artists around the world, led by a direct employee in Manila.

Your role will be to take over the management of both teams and move the tech side of our company forward in whatever way we agree seems best. Everything we do is viewed as a test and pragmatism is the name of the game. I have been performing this role to date, so I am sure the two teams will be happy to work with someone who has a stronger technical grounding than me.

The Product Ethos of the Company

We are confident we are the best at what we do now and being the best at something is inevitably not easy to achieve. It is important to understand that it requires a constant questioning of what we are getting right and wrong and moving on from our mistakes. The alternative is mediocrity.

We are always looking to see how we can do things better, which means that some things get built and destroyed again. We don’t have the brilliance needed to get things perfectly right in the concept stage.

We absolutely know that this constant push for better can be challenging for all the different parts of the team, because seeing big chunks of work dropped in the skip is always hard! We also know it is hard as a developer to build something that then has to change in response to feedback.

So it is important psychologically to view everything as a system in constant development and be comfortable with that. We put stuff out as early as possible in the development path, to see what is working and what isn’t. Then we keep improving it, relentlessly. 

We find that getting something 80% right is often a lot quicker than optimising the remaining 20%.

I like being the best and I like getting outstanding results. I think that is fun and makes the work we do more interesting, rewarding and worthwhile. If you feel the same way and are happy to do what it takes to achieve that, please do apply! Here is how:

How to Apply

Please send me an email ( with your CV and a description of the projects you have worked on which have given you the relevant experience needed to take on this role.

I would also like you to review this technical question for me (that we have debated recently):

The Background

Our All Aboard app shows text in what we call a “trainertext” format. This has icons for the sound of each letter (or group of letters) floating above each word. So, for instance, the word ‘gas’ has the goat in a boat, the astronaut being taught and the toad about to explode above it, for the sounds /g/-/a/-/s/. But the word ‘was’ has the whale with purple pigtails, the octopus who knocked a puss and the Zuto from Pluto, since the sounds in ‘was’ are /w/-/o/-/z/ (at least in the south-east of the UK). In that way the child can work out what each word is, even if it is irregular.

So, the app has to be able to produce these words in multiple dialects, depending on the location of the learner. The games also need similar words as decoys. So there needs to be an analysis of the letters and sounds in a word, in order to find similar words that only include the letters and sounds that we have introduced so far.

The Requirement

We have a dictionary of 3000 words which are used in the games. That dictionary is replicated in 13 dialects. Around 600 of the words are tagged as having images in a separate repository on the server, that can act as a graphical targets. And there is some other meta data in the dictionary relating to each of the words, such as how hard it is to read.

The app needs to pick a suitable word and deliver it into the game in real time, since the games are adaptive in real time and use harder or easier words depending on the performance of the learner. 

We also want to be able to update the dictionary without the user having to update their app.

The Question

The two obvious solutions are:

1) We set up a dictionary server, accessed by the app to pull the words needed, based on a set of criteria provided by the app. All of the data and selection logic is then held on the server.

2) The app has a version of the dictionary needed for the dialect of the learner, which is loaded into the app memory. The app queries that directly in order to pull the needed target words and decoy words for each game. The single source for this dictionary data set is held on a plain bucket repository in GCP. The app queries the repository each time the app loads, in order to check it has the most recent version.

Which of these two do you feel is the best solution for maximum consistency of experience for the user and ease of maintenance and updating for us? Or do you feel that there is a third option which would be better still.

Please give your reasoning for your choice and a brief outline description of how you would structure the solution.



David Morgan
All Aboard Learning Ltd

This website only uses minimal cookies to allow it to operate optimally. We do not share any data.