CORECURSIVE #101

From Burnout to Breakthrough

An Academic's Quest to Rethink Coding Education

From Burnout to Breakthrough

Can you imagine risking your career to making coding easier to learn?

Meet Felienne Hermans, a professor who did just that by stepping beyond academia to redefine coding education. Disillusioned by her research’s limited impact, Felienne discovered a new calling in teaching coding to underserved students. Her journey led to the creation of Hedy, a programming language designed to dismantle language and learning barriers in coding.

Confronting skepticism from her peers, Felienne’s dedication to accessible coding challenged traditional academic priorities. Felienne’s story is a powerful reminder of the impact one person can have by following their passion against the odds.

Transcript

Note: This podcast is designed to be heard. If you are able, we strongly encourage you to listen to the audio, which includes emphasis that’s not on the page

Intro

Adam: Welcome to CoRecursive, each episode is the story of a piece of software being built.

Adam: And today we have the story of a burnt out academic who in trying to find some renewal, then for passion starts teaching underprivileged 12 year olds, how to program.

Felienne: I remember so vividly one of the first parent teacher conferences. There was one of the kids in the class doing very, very well in computer science. So the dad comes to me and he says: “Why should my boy pick computer science?” And the kid is right there. So I said, “Well, if he picks computer science, maybe he can work at Google or Facebook or Amazon.”

Felienne: And the guy looks me in the eye and says, with his child next to him, “I don’t think my boy will ever work at Google, ma’am.” I think, like, why are you robbing your child of, you know, this ambition? My husband works for Amazon. He used to work for Google.

So I know this is possible for your kid. I might have said, “Well, if your boy picks computer science, Wings will grow from his back, right? And he can fly to the sun.” And this is also a racial thing, because I’m white,

So this non white dad was also like, “This white lady doesn’t understand who we are, right?” I don’t also think he was necessarily thinking those things. But I think there was just such a big difference in my life experience and his that he thought I was lying to his kid. I was giving him a fantasy life that, that has no basis in reality.

That was, it was life changing in that moment, really.

Adam: That is Felienne Hermans, a professor of computer science who also teaches high school one day a week.

Felienne’s story is wild, right? She, she faced challenges in academia. They led her to teaching 12 year olds, and then she risked her career on this kind of crazy side project that we’re going to be unpacking, uh, that led to her rethinking computer programming and sparked controversy everywhere she went.

It’s a lot to cover. But I think it will change how you think about programming languages and also about learning two areas She’s she’s very focused on but even more than that Felienne’s story about her career kind of tells us how to navigate our own careers how when none of the options seem, right?

Maybe you can just create your own path It might be some of the best career advice I’ve ever heard and I don’t oversell it. But yeah, this is an engaging story You That might change your views on programming. And it all starts when Felienne completed her

Post Phd Burn Out

Felienne: So doing a PhD and being a, let’s say, adult academic is not really the same thing. And I really had a lot of fun doing my PhD. So I thought, this was really fun. So I would just do more of this thing. That is fun

Felienne: So the, for a few years, I was really, really trying to be a professional academic.

Felienne: It sort of ends you up, you have to play by the rules of the system, um, and I’m not really great at playing by the rules of the system.

And then without me really having the words, right, it wasn’t that one day I thought I cannot do this job. it’s just more and more every day it feels like you’re moving through mud or sludge and everything goes slow and you have no energy. But it’s definitely not from the one day to the other that you think, I hate this life. It just goes slowly and you really want to be, an academic. But then, at one point, I somewhat realized, I don’t think I can do this anymore.

Adam: Part of the problem was that Felienne didn’t feel that the work she did mattered.

Felienne: If you do academic research, then you know, you, you download a data set and do analysis, you write a paper where you say, “Well, this is our hypothesis, this is the data.”

And then you publish the paper. You have to wait for months, sometimes full year to get this okay from three other random And in the papers published, how has the world changed? Hundreds, thousands, hundreds of thousands of papers appear maybe every year. What am I doing? Is this really where I can add the most value?

And I didn’t have words for those feelings, but I definitely had the associated feelings. Like, I cannot bring myself to, to do this every day. Because no one is consuming my knowledge. No one is on the other side.

Teaching Opportunity

Adam: All this I should mention took place in the Netherlands. Felienne was teaching at Delft University of Technology and she lived near Rotterdam. And the important part, just five minute bike ride from her apartment was a high school where they needed to start teaching programming to their students

Felienne: And they came to me . And they said, well, we know for someone, do you have like a student to do some teaching for our kids? And then I remember myself saying, well, what about if I do this? And I, now, if I look back at it, I sort of, I’m, I’m hovering in the ceiling, right, looking at this scene. Just, without any plan, I didn’t think, does this fit my schedule?

Felienne: I didn’t think, what will my department think if I do this? I just had this urge, I thought, I want to do this thing, this sounds like a thing I want to do, and I hadn’t had a feeling that there was something I wanted to do for a really long time. So I just said, but then, can I teach your class? And they said, yeah, sure, well, if you want to do it, by all means.

Felienne: And that’s how I got into high school teaching.

The School

Adam: This high school was in a very urban area.

Felienne: Uh, but not in a, in a rich part of city center, not like Manhattan or something. But inner city, as in a lot of high rises, the area where my school stands is one of the poorest zip codes of the Netherlands the kids that we have in the school are very often kids from minority families.

Felienne: From, uh, Rotterdam is a big, uh, port, harbour city, so parents that are, have often unskilled jobs. So that is a bit the context of this school, which is also why I was excited to teach there.

Adam: Teaching at this diverse school in a brand new class, Felienne had the autonomy to design the syllabus, and she initially thought she could just rely on her university curriculum.

Felienne: Because in university, there’s not an assumption that kids already or students already know programming. So we will just do more or less the same as we do in university. What is a variable? What is a for loop? What is a condition? But then for the 12 year olds.

Adam: Oh yeah, the 12 year olds. Here in Canada, I started high school at 14, I think. But in the Netherlands, you start at 12. And Felienne is essentially teaching 7th graders, and her plan is to use a university level Python curriculum to guide them.

First Class

Felienne: Yes, hello 12 year olds. I have, I don’t remember the exact number, but let’s say I have 120 PowerPoint slides. Like, I will explain you many things. So then after five slides, it’s like, Hmm, I don’t think I will reach the end of the 120 PowerPoints.

Adam: 12 year olds don’t just sit quietly when they’re confused. They will tell you.

Felienne: So it’s, I don’t know what you’re saying, but it’s also why are we learning this, right? So, because another difference between an 18 year old in a computer science major in a university is they already know they want to learn a program. So maybe they’re confused, but at least there’s some level of buy in.

Felienne: Whereas a 12 year old, you really have to lure them in saying, “Well, if I, this, it looks very confusing. I see that this Python doesn’t make any sense, but stick with me. And then in three lessons, we can make this.” So I definitely realized that younger kids, but probably also university students, do need a little bit of, you explain something and then they do something and you explain a bit more and they do a bit more.

Felienne: And so definitely my teaching style, also the teaching I was doing at the university, changed because, the difference I think, between an 18 year old and a 12 year old is an 18 year old that’s confused will think it’s about them. They don’t understand anything. They go to their dorm and they cry and, and maybe they’re like, I don’t understand anything.

But a 12 year old that’s confused will tell you that they’re confused. They’ll say, I don’t understand anything. Anything you said. Okay, but can you, like, is there one thing that you remember? No. Not if it made sense to me at all. Right? No. It’s hurtful, but it is also very useful, because then it requires you to think again, okay, but then how do I explain it in a different way?

So it’s definitely a stone that you can sharpen the axe of teaching on, if kids give you feedback.

Teaching Failure

Adam: And remember, this is not Felienne’s real job, right? Her real job is at the university, and it’s more than a full time job itself. Teaching this class might have been manageable if it involved, you know, just guiding kids through this, existing curriculum. But that’s seeming like that’s not going to be the case.

Felienne: So definitely I thought, oh my god, this is so much harder than I thought it was going to be. But it was more like I want to understand why, because these were all properly functioning 12 year olds, right? They could read, they could do math, they were doing well in German, French, history.

Felienne: So, their brains were okay, right? But then they were all struggling, almost all of them were struggling with programming. So I couldn’t kid myself into thinking, well, they’re just lazy, they’re just not very bright. Obviously, this was my ban.

Adam: This whole thing made Felienne curious. She’d been programming since she’d been even younger than these kids, so she knew it was possible and in her career working at university, she of course taught many people how to program. So she had the teaching chops.

Adam: She knew it was possible, but yet she couldn’t get anywhere.

Felienne: Whereas if we teach other things, if we teach math or if we teach language, then kids write on a piece of paper and they make one spelling mistake.

Felienne: We don’t immediately say, right? Just, you know, we correct it as a teacher. So this fighting, this inhumane machine is just not a great way of teaching. It is very, very, very hard to get everything right. And, if you get something wrong, you get an error message, a red letter, so that you get really stressed, and these are conditions that are really bad for learning,

So I thought, I know how to make a programming language. I could make a programming language that doesn’t teach everything at the same time. Why do we need brackets and quotes? If you just want to do print hello world, the syntax might as well just be print hello world.

Why are there quotes there? Why do you need parentheses if you just have one argument? So I thought I will just make a small prototype in which we have a few steps.

So first you have print, without anything, then we add quotation marks, and then we add parentheses, and then we can do this also for other quotients. If you want to do repetition, why should you do for i in range, you can just do repeat three times. And then we add a little bit more and a little bit more.

I thought, well, let’s just make a tiny prototype with a few levels so they can see if for my next generation, of students, this is easier and more engaging and something that they’d hate less.

Soft Programming Languages

Adam: For me, I’m a little anxious about Felienne’s career progression here. So this is great news, right? She, she ventured out far, but she’s returned to her specialty programming languages. However, the programming language she’s considering, it has some unusual features.

Felienne: So I had this idea, I was reading a book about linguistics and somewhere in this book it said that, um, if you’re a speaker of language, then you’re also a creator. Because I can make up words and no one can stop me from making words. And if you understand what the words mean, congratulations. Now you have a word, right?

Felienne: Something like, uh, if you make a mistake and then in American English, you could say, uh, my bad, that’s actually something that someone made up quite recently.

Felienne: There was this, I don’t remember his name, but there was like a basketball player that once said that in a games. Oh, my bad. And now this is a concept, but that didn’t used to be a concept maybe 30 years ago or something like this. So, and I, I have a screenshot in my research diary of that, and then I write next to it something like, I want programming to be like that. Why do I have to program in the way that the compiler tells me? Why, why am I not allowed freeform why does it have to be exactly this mold? that’s so limiting for expressive power

Adam: In Felienne’s vision, writing ambiguous code is acceptable because instead of triggering a compiler error, you just run it.

Felienne: Then the system says, “Hey, user, I could interpret this in two ways. You want this way or that way, or do you want to decide later?” So I was cleaning this idea to my husband, who’s also a programmer. I’m like, well, you know, maybe programming languages could be that way. It’s like this hypothetical thinking is awful.

And immediately he goes like, no, but then everything would break then, and then no one can work anymore, down, right? This is just an experiment. And it’s so interesting to see like, what thought experiments do we allow, right

Adam: As a programmer I get this, like, being ambiguous when you’re writing code just feels wrong. And that’s odd considering how many strange programming languages are out there. But yeah, meanwhile, she’s not really doing the traditional research that’s expected of her as part of her job.

Career Troubles

Felienne: and then the confusing thing, I think, for everyone was, you That I was still somewhat successful that my research also went towards computer science education. So I started to write papers about how kids learn programming because that’s what I was doing and that’s what I was interested in.

Felienne: But I was working in an engineering school, something like MIT in the Netherlands. And doing research around learning, for then, felt not really out in scope there. Felt like, this is not what we do at an engineering school, you have to do engineering stuff, which is not interviewing 12 year olds. So, it was somewhat clear that it wasn’t, I wasn’t a great culture fit. For the type of things I was interested in

Adam: I imagine Felienne’s department head just being confused by her, right? Like if, if you’re great and passionate about this thing that isn’t really supposed to be your focus and then you’re not doing the thing you’re supposed to be doing, like it’s a bit of an odd time for your boss.

Felienne: . So ultimately they did give me tenure, but it was very, uh, reluctantly. And they also made it somewhat clear that the rest of my career probably was not going to flourish if I would stay there.

Adam: So you got tenure, but then you were also getting like a threat, like, how did you process all this?

Felienne: Yeah, so I think they didn’t see it as a threat, but more as an advice, right? It’s like It’s like if you break up a relationship, you say, well, I just think you’ll be happier with someone else. It was more like this, it’s like, we don’t think this is the best place for you, right?

New Job

Felienne: A few days after that, I had a phone call from someone from another university 20 minutes away saying, well, we have a vacancy.

Felienne: Would you consider applying for this vacancy? Then, can I get a promotion because then I would like to be a social professor because I’m already assistant professor with tenure I don’t tell him that they are not so excited anymore Yeah, well, maybe you can offer me a promotion and would that be on the table?

He says maybe this is on the table. Come have a chat. So I got a job offer then

Building The Language

Adam: So Felienne has this new job, uh, partially because of this education research that was caused by her, you know, struggles to teach 12 year olds. And this is around the end of 2019. So COVID’s coming, but of course she doesn’t know that. She just knows she can’t stop thinking about this idea she has about a soft programming language.

Felienne: And, and then the Christmas break of 2019 to 20, that winter, in a few weeks, I think I will just make a small prototype, just like three steps, uh, with syntax, just very simple so that I can try it with my next generation of students. And just see what happens. So it was, the research question was firstly, can I build it, right? Do parser frameworks allow me, because they’re also in this way of thinking of this very strict way, um, can I make something softer and can I make one language with different levels where first you don’t need quotes and then you do, and you don’t need brackets, but then you do need brackets.

Felienne: The final step is a functioning subset of Python. So it’s really like trainer wheels on a bike.

Felienne: That you have an adult bike. You want to have that bike. You see where you’re going, but it’s too hard now. So we put the training wheels on the bike, so you can practice, and then after a while we take the training wheels away, and now it’s the same bike. It’s still very cool, but without trainer wheels.

Adam: The real bike part is important because this whole thing has to pass the sniff test from a 12 year old. They, they have to think that they’re learning something important. Felienne had taught kids a visual language, Scratch, before.

Felienne: But then a 12 year old will say, that’s a toy language. That’s for, for elementary school kids. I want to do a textual language, but a Python is a bit too much. So the question was also, can I sell this to kids as a real language?

Adam: Felienne spends her Christmas break working away on this language, and she’s getting caught up in this excitement that is the early days of a new project.

Felienne: And I really remember also then the January after that, I started to cancel a lot of appointments. I just said, I’m sorry. I know I made this appointment, but I’m just working on something that’s very important.

Adam: So she gets the first version of the language out. It’s web-based with lessons that you can click through and, you know, it’s hosted on a Heroku URL and you get walked through this version of Python that has training wheels and then the pandemic hits.

Felienne: Everything stops. But the nice thing is that many people want to do something at home with their kids. And the university I’m then at, which was Leiden University, they write this little brass blob. Oh, are you stuck at home with your kids? One of our scientists made a nice programming language that is free that you can use.

Many people start to use it and it’s open source. It’s on GitHub. So people start contributing to the language. So I start iterating while it’s the pandemic and that was actually, well, it wasn’t great, right? No one liked COVID, but for me, it was perfect because I had ample time, not going to conferences, not doing anything. And feedback was streaming in. Even after, uh, in the first year, so that’s from beginning of 2020 to the end of 2020, already a hundred thousand programs had been created by people using the system, which was just great for quick iteration because I could easily mine the data, say, Oh, this is a very common error, so maybe this should be different and that really kickstarted the project,

Scaling Hedy

Adam: So Felienne poured herself into the project and it continued to spread as the project grew. She, she struggled to keep up. At some point, the cost of hosting Hedy started to get out of control and her husband got involved.

Felienne: “Oh, I will do many optimizations to save us money.” So I was like, happy about that, but also then it even never stopped

Felienne: One of my, one of my friends who’s also a professor, was complaining, saying. Well, if I come home, I want to do some research, but then my wife wants to chat with me and my children want to play with me.

Felienne: So annoying. I want to come home and I want to think of programming. Then I said, well, I’ll leave you for you. Do you know how my love works? I do programming all day. I come home. I want to chill. I want to chat with my husband and watch a movie. You know what my husband says, Felienne, welcome home. I have a great idea for Hedy.

Let’s do some programming. So, he’s also very excited about Hedy and he often has ideas So at one point I said, no, I don’t want to work on this in weekends, nor do I want you to work on my open source project in weekends. It’s really weird if your husband sends you unsolicited pull requests. But at one point I said, I don’t want you to work on Hedy so much, because then I’m also working and I don’t want to work on Hedy all the time.

Multi-Lang

Adam: So Hedy made it through the pandemic, and even after the pandemic, growth continued. Hedy’s true niche, the thing that I feel is most unique about it, it didn’t appear until Felienne decided to do a user study on the language.

Felienne: This was still, we were still doing it online. So the lessons were online, the kids would come into our online class, and I wasn’t teaching the class because it would be a bit weird if I would teach the class, so I had a colleague that taught the class, and then we just had them fill out a questionnaire.

Felienne: Here are three questions. What do you like? What do you hate? And what do you think we should improve?

Felienne: Survey says, What do you want to improve? And the kids say, we want to program in Dutch. What? Right? Dutch kids, Dutch people, are supposed to be really good at English. And Dutch is like English, print is print. And we have this echo command. Echo is echo.

It’s just ask is vra. So, if the first three colons, two of them are already the same. But the kid said, we want to program in Dutch

Adam: Now Hedy’s website had always provided instructions in Dutch, with error messages in both English and Dutch.

Felienne: We would say, print, hallo wereld, not hello world. Only the keywords were in English.

So for that, from that perspective is like. All of these things are Dutch, only that small little word isn’t in Dutch. Why? Because this is how I learned. Uh, it’d be really hard to make something non English. I didn’t really think about it, but I thought, well,

if this is what the 12 year olds tell me, I should listen to them, right? I cannot just say, well, I think I know better what you need than you. I’m doing this study because I want to really formally understand what they want. And also I was curious as a technical challenge, I was like, oh, let me see if I can do this.

How far is it to build a non English programming language?

Building Multi-Lang

Felienne: And then I built it. And as soon as we build it, then the project exploded even more. Because you understand this as a programmer, if you have two languages, you have N language, right?

Felienne: French was one of the first languages we add. French, Spanish, German. And those languages are farther away from English than my language is. Print is print in Dutch, but in Spanish it’s imprimir, in French it’s affiche, in German it’s drukke. These words are very different. So the farther away we were getting from English, the more I thought, this actually makes sense.

And then people started to add non Latin languages, like Hindi and Bengali, were two of the first non Latin languages. And now we ran into many technical issues that we didn’t have in the Dutch or French version. Because they have different character sets that we didn’t properly support. So we had to do more programming.

And more and more and more languages were added. To the point where one of my friends, who is from Palestine, originally, says, Well, what about Arabic? That sounds like a lot of work, man. But also it sounded like a cool technical challenge. So we also now support Arabic, which required the The CSS framework, Tailwind, that we used, didn’t use to support right to left properly. They don’t do it better now, but it didn’t then. The editor, the error message, the character set, all sorts of Arabic stuff that we, I didn’t know anything about,

but again, it was showing me. How different programming can be, ?

What is programming and where can you, where can you push?

Adam: So the multi language support just kind of snowballed until Felienne hit a problem she’d never even heard of before.

Felienne: So we call our numbers, like my zero, which is a circle, call this the Arabic numerals. But actually Arabic uses different numerals. They have like a dot for zero instead of something like a circle. A different neural system is something that we had to implement that I didn’t know about.

Quotation marks is another one, right? We have single or double quotes in English, but in French, some people might know, you have guillemets, which is like smaller than, bigger than, that’s used as quotes. Uh, Danish uses the same symbols, but the other way around.

We support that. Uh, Chinese has quotes that look like, uh, squares. These are things I didn’t think about.

Arabic has a different comma. So our comma points towards the beginning of the sentence. And an Arabic comma also does that. So it points the other way around. And so it points upwards instead of downwards.

So they have a different comma, a question mark. Uh, an exclamation mark. So all of these things that I didn’t know that I had to change, but also we needed to add that to the grammar, which was more than I thought it would be, right? I thought about flipping UI. I didn’t think that the comma would be different.

How, how did I know any of those things? I didn’t know anything.

Adam: Yeah. . But like, what if I need to work on some software and it’s written by Belgian people and I don’t understand, you know, Flemish

Felienne: Yes, and this is a great question, like, and I don’t blame you for asking this question, but there are two answers to that question, or maybe even three answers. One answer is, why do you need to know, right? Can there be spaces, like there are black people spaces and women spaces, like there are? There can maybe be spaces where people express themselves in a way that other people don’t understand.

So maybe there can just be Flemish source code that’s only for Flemish people. Another answer is this world already exists because many people, if they create software, they have to use strings in the language that they type, like, for example, the Dutch government has a tax system in Dutch because people consume it in Dutch, and we have very specific words like mortgage, interest, discount that you cannot easily translate.

So the strings are in Dutch, the variable names are in Dutch, because why would you translate such specific Dutch tax words? The commands are in Dutch, so this whole code base in Dutch or Chinese or Hindi, these things already exist now. It’s just then the keywords that are forced in English, but there are already many repositories of programming that are non-English.

Adam: The third answer to multi-language programming is the technical one: translation.

Felienne: We do this. You can make a program in Arabic, and I can look at the program in Dutch. As long as it’s a working parsing program. Pretty printing a program into another language. I can parse in all languages. So, even if you would want to look at it, you can look at a translated version where we translate all the keywords.

And we even have a little API to Google Translate where we translate the strings and we translate the variable names for you. And we do it in a smart way so that the same variable has the same name everywhere.

Adam: The curious thing to Felienne is that English-speaking programmers always say the same thing.

Felienne: But what if someone speaks Arabic and then I speak Dutch, how does it work?

But no one says, I could solve this. Whereas there are so many other things again, like again, like making a programming language only with whitespace that people are like, this sounds like a fun challenge. Why does everyone, I haven’t ever encountered only one person. Of English-speaking background that has said, Oh, that’s interesting.

Let me program that for you. Everyone’s like, Oh no, this cannot be done. Hands in the air. I give up. Like why? This is easy. This is just a parse tree. It’s a trivial problem to solve.

Adam: Yeah, it’s funny. It’s an interesting example. I guess of like a privilege I have that I didn’t realize, right. I speak English. I always have like,

Felienne: Yes. Yes. And this is also a privilege I didn’t realize because I don’t speak English, but I have a Latin alphabet in my language. That is such a computer privilege, you don’t know what a computer privilege is. I know several people from Spanish and Portuguese speaking languages where they have a lot of accents on their letters, like a dash on an E or a dash on an I.

People say, I just stopped writing my name the way it’s in my passport. I just dropped this accent from my actual name to accommodate computers.

Adam: This is a problem, right? Felienne, she has interesting things to say about localization and parsing. And then what do you do to convert one to the other? And maybe you just store the syntax tree. I don’t know. Interesting stuff, but the PL people, they don’t want to hear it.

Adam: And if you talk to professional programmers, it’s even worse.

Felienne: This is still also a red line that people do not like to be crossed. People get angry with me for building a non-Latin programming and they send me upset emails. They go out to my conference talks and they get angry because they say, for example, well, but now we have one big English speaking community.

Felienne: And then if there’s different programming languages in different natural languages, then the community will be split. This is worse. You’re making programming worse.

Arabic Numerals

Felienne: I have this one talk where I talk about localization of programming language.

Felienne: Um, I try to put Arabic numerals in the top 10 most used programming languages, so just print two plus five, but then instead of two, I do Arabic two, and instead of five I do hamza, which is like, it looks like a zero to us, but it’s Arabic five, just the characters.

No keywords, nothing, just numbers. None of the top 10 most used programming languages. Even pars 300 million people use Arabic numerals. I had never even heard of those things. I took like five compiler courses when I was an undergrad. No one ever told me about those Arabic numerals. No programming language support this. How can we talk about artificial general intelligence when all the top programming languages do not even support all neural systems on this planet

Back To School

Adam: Meanwhile, right at some point COVID ends and Felienne herself gets to take this multi-language version of her language with training wheels to the classroom. And to see students use it and see the payoff.

Felienne: Some of the kids in our school use sometimes Turkish or Arabic, because that’s their first language.

Felienne: And that’s just so cool because usually in Dutch school system, they’re not allowed to speak Arabic because it wouldn’t be so nice if people can converse in a language that not everyone understands. I get that. But then now they can do it in their own language and this, you see the same amazement as we get from other communities.

Felienne: They’re like, man, does this work in Arabic? Like just the fact that we spend attention on that. I’m like, yes, and now I know a little bit of Arabic. So then they’re immediately so impressed by these five words that I know, because they’re used from Dutch people, white Dutch people, that Arabic is a bit scary, right?

Like, like other people don’t feel comfortable with English, some white Dutch people might not feel comfortable with Arabic because it’s a foreign language that doesn’t fit here. So they’re not used to. Dutch white people giving them permission to have that part of their identity in the classroom. Oh, I can do it in Arabic.

Oh, I can do it in Turkish. It’s just, it’s very, very cool. And it’s so rewarding.

Teacher Feedback

Adam: By this time, other teachers at the school were using Hedy as well. And one who was also a programmer reached out.

Felienne: When we were doing Python and I have 30 kids, 30, 12 year-olds, right? I cannot help them if they’re in the computer because all of them have a syntax error. They’re all that teacher, teacher, teacher.

Felienne: I’m stuck. I tend to have to run around. It’s like, oh, syntax error, unexpected EOF. Even a new professional programmer in addition to being a teacher. But it just takes you a minute or two to figure out what the mistake is, because they do this stupidest thing, right? They put a quotation mark where a semi-colon goes or whatever.

Felienne: It’s tiny, but it’s not the same. So he says, it always felt like a marathon, like running around all the time.

Adam: And then once he switched to Hedy, the errors became full explanations and they were in Dutch.

Felienne: Oh, print with a D is not a keyword.

Did you mean print with a T? The kid is still say I’m stuck because they don’t read right. When the teacher goes over, they read the error message and they can say, maybe you should read the error message because I think it explains the problem. This takes 10 seconds. And then they go to the next kid.

So he says just that it feels more manageable. It feels less like an energy drain to do programming courses because we put the kids now in a reasonable system where we can expect some. So independent work. Whereas if you put a 12 year-old, especially a non-English speaking 12 year-old, in Python, you cannot expect them to do independent work.

They will need hand holding all the time because the, the errors are syntax error, unexpected E O X,

not even an adult English speaker would even understand. It’s not even English, right? So that I think was such a great feedback. Also in the terms of perspectives that really made me think Kids are not my customers, teachers are my customers. And teachers are scared of programming exactly because of this, because you have 30 kids and they think they don’t know what to do. They will all need my attention, which is also true.

Adam: This is one thing Felienne has found over and over again. People teaching Python, which really it’s fairly low syntax, but they’re just worn out trying to help a class full of kids overcome syntax errors.

Felienne: I once got an email from a guy in Pakistan also saying that with Hedy, he said, I have levels of engagement. That I have never seen before.

And it’s not even magic, right? I don’t think we do something special to make kids excited. It’s just we don’t drive them away.

That’s the magic. We don’t put hard syntax concepts and terrible error messages in their face and then they just don’t drop out.

That’s the magic.

We come back to something we said, I don’t know, an hour and a half ago, where you said, is your goal to teach Python? Yes, it used to be the goal. But now some people consume all the levels of Hedy in, let’s say Chinese. And then at the end, we say, no, you’re good to go to Python, right? Turn your wheels off.

Okay. But then I have to do it in English instead of Chinese. So last year I wrote this whole paper about here’s 12 aspects of your programming language that you can localize.

And if you want to do it, this is how, but also culturally, I hope with all the work I’m doing, giving talks about this.

That people like you maybe now warm up to the fact that hey, maybe programming languages could be in non-English and that at one point language communities either the people that are in there now are convinced by my arguments or After a while the people that are in there now are sort of replaced by newer people that grow up with honey or scratch Which is also Uh, unlocalized language, even though it’s block based.

And they’re like, Hey, like my 12 year-old, like, Hey Python, Why doesn’t this work in Chinese? And that those two things then lead to a world in which this is more possible.

Reflecting

Adam: I think with the number of students using Hedy, and also just with the vast number of non-English speakers out there, it’s quite likely that someone is going to spearhead a multilingual programming future.

Adam: Maybe they’ll, they’ll take Hedy and they’ll start using it outside of its learning environment. They’ll start using the language to build real things.

Adam: And with Felienne’s story, you know, it began with burnout and her feeling like she wasn’t making a difference with her research, but, but now she’s making a huge difference.

Felienne: Like, I still don’t know if I want to stay in academia, which my grad students find hilarious because, oh, you’re a full professor, so, you know, you sort of, you made it. Yes. But I think a lot of what I’m doing is, is, is not thanks to academia. It’s just despite academia trying me from stopping the things I want, right? I now maintain a ginormous open source project. We have, I don’t know, a hundred pull requests a week, it’s just very, very big. So many translators, so many teachers, right? We, we run a help desk for teachers if they want to ask questions.

None of that is traditionally rewarded, because the thing that is rewarded is doing science, and doing science is writing papers. It’s not like maintaining an open source project is the work of a professor.

Finding Impact

Adam: I mean, it feels like there’s this idea that maybe you’re not saying that there was something you expected research to be or something you expected your career to be, to be like, I don’t know, impact, I guess is the word.

Felienne: That’s definitely part of it. Like some people just like research because they like the activity of research. Well, all power to them. This is great. But for me, researching something is because I want to change the world. I want to invent something that didn’t exist before. I want to understand something I didn’t understand before so I can help other people also understand it.

Felienne: I have written papers that no one ever cited. So maybe no one ever read the paper. Whereas with teaching is indeed not just that kids are excited that you’re there. It’s also that.

Felienne: I have kids come in, very often they’re girls, very often they’re kids from low socioeconomic backgrounds where they do not have a computer like I had when I was their age.

And the first week they’re like, why is computer science mandatory? How many weeks is this semester? How long? 14 weeks? Oh, this is long. some of them are like that, right? This is just how they are. It never changes. Fine. But some of them, after a few weeks, they’re like, this isn’t so bad, which is a great compliment and then a few weeks later, they’re just like, okay, so teacher, do you think my grades are good enough to actually pick this topic next block? I think so. So then we have a few students. Where, if I wasn’t there, or if our program wasn’t there, probably they would never see themselves as a computer sciencey person. Girls, specifically minority girls, as I said, girls from computer, computerless families, they don’t see themselves as computer people.

So if it’s optional, they won’t choose it. But if I make them look, then some of them are like, I like this. And then, I know it’s a tiny change, but at least it’s a change that you can also observe with your own eyes.

Like, even if there’s two or three of those kids, then This was for me a reason to get out of bed, and that’s, that’s definitely what I needed.

Advice For The Burnt Out

Adam: So this being needed. And having impact, Felienne found it, and to her, the reason it all worked out is really clear.

Felienne: As I said earlier, when people said we need someone to teach this program in this school, I didn’t think, which is not always good that I do many things without thinking. It’s not always great. But then this was just, I didn’t think, do I have time?

Felienne: How will this work practically? What will I not do anymore at the university so I can do this? I just felt that it was the right thing to do.

Felienne: I think most people really know what they want.

Like when I was building the first Hedy prototype. This was a Christmas break. As I said, I just thought I need to build this on just this next two weeks that are supposed to be time off.

I want to work on this because I feel I need to build this thing.

And I know then I disappointed a few people. With things I’ve also committed to, but I just felt like this is what I need to do because this is a great idea. I will not have so many great ideas, maybe, so I need to pursue this.

There’s always reasons, like expectation from society, or friends, or parents. That they tell themselves, no, I shouldn’t stay in this job because reasons, most people actually really, really know what they like. people really know what they want. So if you just listen to that, probably that’s the best thing you can do, but who am I to advise, right?

Outro

Adam: That was the show. Thank you. Felienne from the bustling classrooms of Rotterdam to Puerto Rico and Botswana and Pakistan. It’s, it’s crazy how her language is, is spreading and, you know, revolutionizing education for various students and educators, all over the place, right? It now supports 54 different native languages. Felienne continues to develop it and, you know, needs more support and funding for more details. Visit the episode page, uh, where you’ll find some links or find Hedy at, hedycode.com.

Adam: And besides that, to me, Felienne’s story is a testament to the power of instincts. Right. That you can know what you need to do at a level that’s more emotional than maybe like conscious thought.

Adam: You know, she wanted to make a difference in the field she loved and she just leaned in to whatever felt like she was doing that. She just chased that and it, and it ended up having such a large impact.

If you enjoyed this podcast, you know, consider subscribing to my newsletter. Um, I, I write as well. So you can enjoy some of that and also let you know when new episodes coming up. Also, I’d love to hear your thoughts on this episode. You can tweet at me at Adam Gordon Bell. You can email me. I love getting feedback.

Like seriously, somebody saying something nice can make my day. And for true fans, right? The best thing you can do to support me to keep the episodes coming is go to CoRecursive.com/supporters. You find a link in the show notes, um, become a supporter supporters, you know, get to have access to bonus episodes and they get to join the community

And until next time, thank you so much for listening.

Support CoRecursive

Hello,
I make CoRecursive because I love it when someone shares the details behind some project, some bug, or some incident with me.

No other podcast was telling stories quite like I wanted to hear.

Right now this is all done by just me and I love doing it, but it's also exhausting.

Recommending the show to others and contributing to this patreon are the biggest things you can do to help out.

Whatever you can do to help, I truly appreciate it!

Thanks! Adam Gordon Bell

Audio Player
back 15
forward 60s
00:00
00:00
52:00

From Burnout to Breakthrough