What and how to learn about technology (for actuaries and students)
Before I joined the APR team in March, I was invited to run a workshop on data visualization at the APR away day. Towards the end of the session one of the partners asked: if we want to develop the skills that will be required in the future, where should we start? My answer alluded to the idea that there is no best path through the jungle, but that there was a lot to be learned from actively exploring. I have heard similar questions along the lines of: what is the best way to solve this problem? how do we know when we know enough to make that decision? and has somebody already solved this problem? For all of these questions the answers are easy but unhelpful: there isn’t one; you never know, and; probably.
The purpose of this article is to provide some (hopefully) more helpful ideas for those working in the actuarial profession and wondering what and how to learn about technology:
- What technologies to focus on
- The sources of information (and inspiration)
- How to approach learning
Let’s begin with the motivation. For anyone at the start of their careers there is an immediate practical benefit from learning to manipulate data, structure processes and tell compelling stories with data. Furthermore, some of the hot topics like neural networks, clustering algorithms and cloud computing, could become core skills for the actuary of the future. But there are also benefits for those later in their careers. For example, communication skills are important to everyone, and writing code provides immediate feedback on how precisely you have articulated your intentions. Running a project is easier if you understand what the technical team members are actually doing. Being able to understand what the technical experts are saying allows you to spot risk and sources of confusion and ensure that all parts of a project are working cohesively. Choosing which projects to undertake, and identifying synergies with other projects, is easier if you appreciate the complexity (or simplicity) of each proposal.
What technologies to focus on
In all of the examples above, the desirable skills can be developed in various ways and using various tools or programming languages. While I don’t believe there is a “best place to start”, I will offer my top five recommendations:
- Excel/VBA: You probably already know how to use Excel, but it is a great place to start learning how to code by recording a macro and reading the code it generates. Excel is such a flexible tool that there are usually many ways to solve a problem and being able to choose between the options is an important skill. However, Excel is so flexible that most of what you see lying around tends to set a very bad example: it may work, but it has created problems for the future.
- R and/or Python: These programming languages have a lot going for them: they are very flexible; there is likely to be a free extension to help solve your specific problem; they can be used to communicate with other tools (e.g. Excel); they encourage you to think about how the code you write interacts with the computer; both languages are popular, and they look likely to remain so. Also, by learning both languages and comparing code samples, you may begin to appreciate the design, separating the syntax from the structure.
- Apps: Getting software installed (particularly on corporate hardware) can be a challenge. If you don’t have the tools you want to start experimenting with, then there are a few options. To begin with: have you checked out all the menu items for all the apps you have on your computer and phone? A lot of thought has gone into designing those apps, and you can learn a lot by asking why they work the way they do. There are also a number of coding-without-code tools (e.g. MS Power Automate) worth exploring, whether you are a beginner or expert coder.
- Databases and the Cloud: Storing and processing large data sets is likely to become ever more important in actuarial work. If you ever find yourself waiting for more than five minutes for an excel workbook to open or calculate, I would encourage you to use that time to learn about why it takes so long. Understanding how data is stored and accessed (e.g. parsing text, SQL or GraphQL queries, API calls) is a good place to start. Understanding how cloud technologies (e.g. AWS, MS Azure, Hadoop) work is also worth exploring, and these vendors offer great resources to help with that.
The sources of information (and inspiration)
As actuaries and students, you can likely remember that feeling when the new course notes arrived in a cardboard box, which you unwrapped, put in folders and opened to page one. It is certainly possible to learn about technology in that way, but technology is a vast interconnected collection of constantly changing subjects – and as far as I know, the internet doesn’t have a “page one”. However, when it comes to sharing knowledge, the tech community is one of the most generous, and so from the vast swathes of information out there, here are my top five suggestions of where to start:
- Videos: Following written instructions on how to use software is tedious. There are great short videos on Lynda.com and on vendor websites that guide you through the early stages. On YouTube, it takes a bit of effort to find relevant, well explained, un-biased, concise advice, but it does exist, and you can actually learn a lot in the process of searching.
- Community content: Typing your question into google, will lead you to forums like StackOverflow and some very helpful personal blogs. These sites include small code samples that you can quickly learn from and use. It is worth looking at the community responses to find out what other coders agree or disagree with. You may also end up on Github which is a great place to see how code is organized for larger projects.
- Your own code: If you have been coding for a while, it can be a useful exercise to review your old code. Looking at it with fresh eyes, do you still think it is well documented? Is there a better way to organize your code? Is there a way to abstract your code to make it reusable?
- Textbooks: Computing textbooks are usually out of date by the time they are published, but if you are looking for a comprehensive snapshot or an understanding of some timeless principles, then it is worth checking out Amazon for the highest rated textbooks.
- Meetups: It is easy to become focused on the tools and tasks at hand and stop thinking about what else is out there. There are a number of physical and virtual meetups on a number of interesting technology topics, which can lead to interesting ideas and connections. The physical meetups often have free beer and pizza too.
How to approach learning
Note that formal education and qualifications are not on my list. I am a huge fan of formal education in general, but it can be expensive and inefficient. Furthermore, it is not clear that adding one of these certificates next to your actuarial qualification will help your career any more than your own learning from the free (or cheap) resources. What I would suggest is adopting an inquisitive approach and here are my top five tactics:
- Find the on button: It sounds trivial, but (with the exception of Excel/VBA) learning how to write, run and debug your first line of code can be one of the hardest steps, so treat this as a challenge in its own right.
- Copy some working code: Find code that runs and then make incremental changes to it, checking that it still runs after each change. You will quickly learn how the code works and what causes the common errors and warnings.
- Go down a rabbit hole: Spend some (but certainly not all) of your time digging deeper, knowing that the knowledge you are gaining is not directly applicable to your current problem, but it is interesting and might help with future problems.
- Compare alternatives: Coding is all about patterns. Comparing two solutions that do the same thing helps expose the design patterns. Once you have a number of patterns in mind, you can make more informed choices about how to solve your own problems.
- Check the date: If you are looking for solutions online and find something posted a few years ago, it may already be out of date. If you are using an older version of a tool and you find a solution online that was posted last week then it may not work for you. Both of these situations are frustrating but thinking about why the technology has moved on can be illuminating.
With all of the available resources, learning about technology has never been easier, but there are still challenges. With so much you could learn it can be daunting and when you are trying to solve a pressing problem, opening an encyclopedia is probably not the best place to start. I mentioned on the APR away day that, on a recent project, I was trying to find out how to model persistency risk using a generalized linear model (GLM). I found lots of examples of GLMs but none of them were directly applicable. I ended up delving deeper into the subject than I had initially intended. At the time this was a source of frustration, but it is also an opportunity: by learning to apply the available tools to actuarial problems, we can help fill the gaps in our collective understanding. Figuring out an efficient way to fill those gaps and explaining how to model persistency risk with a GLM will be subjects for future articles. In the meantime – whether you agree or disagree with any of my recommendations, then I welcome a discussion to hear your views. And if you are still unsure of where to start, then please get in touch to discuss how APR can help set your team’s training strategy.