Check out Matt’s presentation from ElixirConf here: https://youtu.be/Whct6lmkpIw
For our latest expert insight I’m delighted to be speaking with Matt Whitworth, the Founder/CEO of PureType. In this interview I’m going to be speaking to Matt about his personal career journey, his experience with Elixir & PureType.
Hayden: Firstly, thank you for taking the time to speak with me regarding your newest venture with PureType. I’ve taken some time to watch your presentation at ElixirConf EU & read up on PureType, I thought it would be great for us to discuss it in some more detail for the benefit of the Elixir community.
Before we get into that, could you give a short introduction to yourself & your background?
Matt: I've been passionate about coding since I was 12 years old, starting with creating computer games in Blitz BASIC, then delving into operating systems. I ended up writing my own OS too! This passion during my teenage years led me to pursue a university degree in computer science, and my final year project consisted of writing a networking stack with an innovative design for my operating system.
Throughout my professional journey, I've been drawn to smaller companies for the agency and freedom they offer, and I’ve tended to go for companies where software is the competitive edge. My first role was at a small high-frequency trading hedge fund. I handled everything from installing servers to coding data feeds for exchanges across the globe there. I then joined a fintech startup that allowed me to explore newer languages like Typescript and Elixir and gain more exposure to natural language processing and machine larning.
I’ve always worked in small technical teams with people who are committed to learning and developing, and I’ve been fortunate to learn a lot from them along the way.
Hayden: Could you tell me about how you were first introduced to Elixir? Were there any specific learning materials that you would recommend for Elixir newbies?
Matt: I first encountered Elixir about six years ago at work, when we were tasked with developing a backend from scratch. Given the high volumes of data we needed to process, Elixir and its underlying Erlang runtime seemed like a natural choice. The language's ability to handle concurrent processes efficiently and its fault-tolerant nature made it an ideal fit for our requirements. As I delved deeper into Elixir, I found myself impressed by its elegant syntax and powerful functional programming paradigms.
When it came to learning resources, the landscape was quite different a few years ago. After completing the official guide, I found that additional guides and tutorials were scarce.
This has changed over the last 2-3 years! There are now some excellent free resources for learning Elixir and its associated libraries: Elixir School covers many of the common libraries and frameworks you’ll use, and the Exercism course on Elixir provides hands-on practice.
It’s great to see full-service learning resources available too: Bruce Tate’s coaching at Groxio Learning is a great example of this. indiecourses.com has a strong focus on Elixir and I’ve heard only good things about it.
Hayden: What do you see as the biggest pros & cons of using Elixir over more mainstream languages?
Matt: Firstly, I've found that its smaller community is actually one of its strengths. The community is open, friendly, and refreshingly free from dogma. This creates an environment where new ideas are welcomed and collaboration is encouraged.
Secondly, I've been particularly impressed with the depth of tooling and libraries available recently. The ecosystem is thriving with exciting developments, from the maturation of interactive tools like LiveBook to groundbreaking machine learning libraries like Axon and NX, there's some truly exciting work happening in the Elixir ecosystem.
Last of all - what I love most about Elixir is its combination of conceptual simplicity and powerful capabilities.
The two major cons for me have been the relative lack of educational resources, relative to larger languages, and the lack of typing. It’s been great to see the community and the leadership respectively start to tackle these limitations. The gradual introduction of a typing system exemplifies Jose’s thoughtful approach to language evolution, enhancing error detection while preserving Elixir's simplicity and core strengths.
Hayden: Could you give us an introduction to PureType? What problem are you trying to solve?
Matt: PureType is an all-in-one learning platform for software engineering teams, using the context of the team’s current projects. It aims to onboard and upskill developers quicker, and gives team engineering managers the visibility on their team’s knowledge to help make data-driven decisions about training, project assignments and hiring.
PureType achieves this through an intelligent assistant that provides feedback on best coding practices. This assistant analyzes feedback patterns to create personalized learning journeys, helping each developer further develop their skills.
While AI is a powerful tool, successful upskilling programs require structured learning. PureType provides this structure through contextual feedback and targeted follow-up.
Hayden: What motivated you to start PureType now?
Matt: In my previous leadership role, Elixir and Phoenix proved to be powerful technologies for our needs. Once developers became proficient and confident, they were highly effective and motivated. To do this, I made sure the team regularly received feedback in context, with follow-up. This involved code reviews, pairings and small group discussions, as many teams do.
While achieving a productive and effective team was valuable, I found the knowledge-sharing processes to be quite manual and time-consuming. It meant taking time away from myself and other senior developers on the team. I also felt like I was shooting in the dark about the true picture of the team’s knowledge.
Throughout my time there, I realized that many aspects of onboarding and upskilling could be better organized and automated. PureType is my bet on a solution to these problems.
Hayden: There’s a lot of conversation around AI in tech right now, how can we leverage the benefits without risking the loss of the essential human aspect of coding?
Matt: While AI can assist with routine coding tasks, it's crucial to recognize that software developers remain at the helm, ultimately responsible for the quality and completeness of our output, regardless of the tools we use.
It’s easy to forget that there’s a lot of judgement in any solution we end up with. What defines a good solution? Will we need to extend this functionality soon? Does it need to be fast, or to be easy to maintain? These questions and tradeoffs are incredibly important to make, and I don’t see AI leading the decisions here.
It will also be critical that we understand what is produced too. I believe that identifying bugs, implementing robust fixes to prevent recurrence, and gaining a deep understanding of a system remain among the most rewarding and valuable aspects of our profession.
Hayden: What do you see as the new bottlenecks in software development over the next decade? What do you think will change about the process?
Matt: The capacity for continuous learning and adaptation will become increasingly crucial for software developers. The rate of technology turnover continues to increase, and it won’t be enough to settle and specialise in a single language or domain.
As code generation becomes more cost-effective, I anticipate that the new bottleneck will shift to developers' ability to integrate novel concepts with existing knowledge, innovate in problem-solving, and effectively communicate these solutions.
I’ve always seen coding as a nice side effect of the job. As automated testing diminished the importance of manual testing in software development, coding assistants will do the same for maintaining code. What will remain key is that we can fundamentally reason about the code we read and are ultimately responsible for.
Hayden: What’s next for yourself and for PureType?
Matt: On a personal note, my wife and I recently relocated from London to Montreal. We're adapting to a new lifestyle and, hopefully, improving our French along the way!
The next few months for PureType will be concentrated on finishing some key features on the platform to ensure individuals and teams are upskilling in Elixir and find it really valuable. I’ve already received a lot of useful feedback from the truly supportive Elixir community.
I’ll also be expanding PureType’s material beyond Elixir to cover more languages and technologies. I’m committed to the goal of supplying feedback developers need to grow, the follow-up that helps to develop their expertise, and the learning data that engineering leads need to help their teams grow.
Finally - I'm convinced that choosing Elixir, Phoenix, and LiveView was the right decision, enabling rapid iteration and development of PureType. It’s a tech stack that’s hard to beat!
Hayden: That’s awesome to hear, I hope you enjoy life in Canada, everything I’ve heard about Montreal is positive so I’m sure it’ll be great there. Thank you for taking the time to speak with me today & I look forward to hearing updates on PureType soon.
If you would like to learn more about PureType, I’ve listed some contact links below:
Matt's LinkedIn: https://www.linkedin.com/in/mwhitworth88/ PureType's website: https://puretype.ai/