From NHS doctor to top Python instructor on Udemy, meet Angela Yu
Online trainer on teaching 2 million people to code, the role of AI in coding, and new measures to encourage tech entrepreneurship in the NHS
Angela Yu spent six years at medical school training to be an orthopaedic surgeon and three years working as a doctor in the NHS.
A keen coder, as a sideline she developed an app to help manage and reduce the cost of locum agency doctor shifts, which generated plenty of interest in her primary health trust and even within NHS England, but despite that, the lack of support for such individual innovations made trying to roll it out a frustrating experience. "It was really, really difficult pushing it through the system. You basically have to be a full-time campaigner," she said.
Ultimately, seeking more autonomy and more flexible hours, Yu left the NHS to set up a coding bootcamp in London with some friends. This quickly outgrew its premises, so in 2017 they moved the curriculum online onto the Udemy platform, where Wu is now one of the most popular educators, with almost 2 million students worldwide; Udemy as a whole boasts 59 million learners. We caught up with her to find out about the most popular topics, the challenges of being a female tutor to a global audience of mostly male students, and whether it is getting any easier for tech innovators within the NHS.
What is your most popular course?
It's the Python course, the 100 days of code programming bootcamp. Python is one of the most flexible languages, but also there is this emergence of data science and machine learning which relies heavily on Python libraries. That's a really big deal.
Web development comes close, but Python definitely is bigger. Python has actually become the largest category on Udemy as a whole within the last five years.
Your students hail from all over the world, is there such a thing as a typical student in terms of age or region?
Currently our largest market is India. They actually overtook the US actually only a few months ago.
In terms of ages, users have to be 13 or over to sign up, but I know just from people reaching out to me that there's a lot of parents who do courses with their kids. So parents buy the course and then they actually work through a lot of the curriculum with their kids as a sort of bonding exercise, which is fantastic. But I've seen students anywhere down to the age of eight, up to 88. It really is a big range.
I would say the majority are probably in their 20s or 30s, looking for maybe a career change or promotion, or some sort of work related reason for signing up to learn programming. But I think demographic wise, it's definitely more male.
Is it a challenge being a female instructor in a world that is still predominantly male?
When I first started I had a lot of advice from other female instructors where they said, Oh as soon as they hear your voice they're not going to take you very seriously, just be prepared, it's rough. But to date, the largest category on Udemy is Python, and the best-selling course for Python is my course, so I think it's really encouraging, and it's actually not been a hindrance at all. I think so long as the content is good people [will accept you].
Do you have any ideas about getting more women and girls into tech?
When I was growing up, a lot of my heroes were men. One of my biggest heroes was Jack Bauer from 24 because I was exposed to it so much, and you would see these people doing amazing things and you'd be like, I want to be like them! So I think in order to get more women and girls into STEM and into tech and into programming, we just need to expose them to other women who are doing great things in these fields. With my own small contribution I hope this also gives people an idea that this is an option.
How did you learn to code?
I am a self-taught developer. When I first learned to code I was 12 and my dad had this CD-ROM - back in the days where we still had the CD-ROMs. It promised to teach you C++, but it was the worst thing possibly for a 12-year-old to start on. But I really wanted to make my version of Space Invaders. I really wanted to make video games and so I slogged through this awful, awful CD-ROM. It was pretty horrific but because I had the motivation for the to build that project it carried me through.
I think this is the hardest thing. A lot of people want to learn programming to add it to their CV or as a nice-to-have you know, but unless you actually have a use for it's very hard to learn it.
Has your CD-ROM experience informed the way you teach?
In my courses, one of the things I try to do to is create this environment, to have the basis of all the lessons be a project. So you're not just learning about variables, you're learning about variables in order to build Hangman. You're learning about various bits of maths so that you can have gravity in your video game.
It's important to have context and I think that's the best thing that we as educators can do is not just give the dry CD-ROM experience that I had, where you have to have 100% motivation, but actually provide the interest and provide the context and give people a not just education but almost 'edutainment'. It should be interesting, not just a slog.
Do you think people can become almost addicted to doing more and more courses as a way of avoiding the hard part of thinking it out for yourself?
Yeah, one of my biggest pet peeves with online programming courses is where they do this thing which I call 'code along', which is where they type a line and you type a line. At the end you've achieved something, but do you actually know what if you've just been copying somebody line by line?
Continues
From NHS doctor to top Python instructor on Udemy, meet Angela Yu
Online trainer on teaching 2 million people to code, the role of AI in coding, and new measures to encourage tech entrepreneurship in the NHS
Where do you think the whole field of coding is going, now that AI can take big chunks of someone else's code and drop them into your IDE for you? Will it become dumbed down in any way?
I've been thinking a lot about this because I've been playing around with ChatGPT and testing out [GitHub] Copilot. I've come across the limitations to what these tools can do. With something like ChatGPT it's a probabilistic model where it goes through its entire [dataset] and then it synthesises an answer, but it doesn't actually think. So if you give it 'what's 22 times 42?' it will know the answer because somebody in the past has asked that question. But if you give it something that very few people know or it's not really on the internet, or it's something you have to think about or compute like multiply two really big numbers, it can't do it. With Copilot I think it's really good at finding common boilerplate code and common patterns and helping you to just save time and save work.
But when we're building software, the idea is to build something new, right? There is a lot of grunt work, but the really valuable software development is actually through the thinking and the problem-solving and building new things. And that as far as I can tell Copilot or ChatGPT can't actually help you with that.
So I think programming is actually going to go the opposite direction of being dumbed down. I think it's going to get more smart. I think you have to be more smart to be a good programmer. But I think the jobs where you're just writing things that you can take from Stack Overflow, that's going to get automated away.
We've had lots of developments in the past where we've had IDE s that save you a tonne of work by giving you auto suggest. We've had tools that can predict what the next thing is that we would want to write, but it doesn't, it doesn't remove the need to think. I think it's going to be a great tool and we have to learn to leverage it. But I don't think it's ever going to replace intelligent programmers.
Do you still have time for personal projects?
Well, my work with Udemy is pretty full time right now. My courses have a reputation for being very long and there's a lot of content that needs to be constantly updated, it needs to be reinvented, sometimes it needs to be monitored.
We do a lot of user testing, so we try out course content on users in person to see how they absorb it, how easy it is to understand it, and then we adapt the online videos to it. So very often to create a course it takes something like a year to a year-and-a-half, with me and my small team working full time, and to update a course it's also many months. So my work is pretty much cut out with trying to innovate on education.
Do you think things are any easier for would-be innovators tech in the NHS now?
Since my time in the NHS, I've been involved in a number of projects. One is a service called Code for Health which is an NHS-based initiative where they want to empower frontline employees to create solutions for frontline problems, and to fund the development and the building of these businesses. The NHS gets the product for free and the person who created it is able to licence it for use in other countries, which I think is brilliant.
There's also a number of things such as UCLPartners and NHS-based accelerators that have funding for initiatives. I think it's definitely a need that people have recognised.
The NHS also has a new role for doctors. So previously, we had clinical doctors and academic doctors and now we have something called the clinical entrepreneurship, where you have a percentage of your time allocated to doing health tech and entrepreneurship while being full time employed in the NHS, to try and retain talent basically, give them some time to do entrepreneurship but still keeping their clinical work, which is also a really fantastic.