Panel: Charles Max Wood

Guest: Henry Zhu

This week on My JavaScript Story, Charles speaks with Henry Zhu who is working full-time on Babel! They discuss Henry’s background, past/current projects, Babel, and Henry’s new podcast. Check-out today’s episode to hear more!

In particular, we dive pretty deep on:

0:00 – Advertisement: Get A Coder Job!

1:00 – Chuck: Today we are talking with Henry Zhu! You are the maintainer of Babel – and we have had you on the show before. Anything else?

1:25 – Henry: I used to work with Adobe and now live in NY.

1:44 – Chuck: Episode 321 we talked to you and you released Babel 7. Tell us about Babel, please.

2:01 – Henry: It’s a translator for programming languages and it’s a compiler. It only translates JavaScript to JavaScript. You would do this because you don’t know what your users’ are using. It’s an accessibility thing as well.

3:08 – Chuck: Later, we will dive into this some more. Let’s back-up: how did you get into programming?

3:22 – Henry: I think I was in middle school and I partnered with a friend for science class and we made a flash animation about earthquakes. Both of my parents worked in the field, too. They never really encouraged me to do it, but here I am.

4:07 – Chuck: How did you get into Java?

4:11 – Henry: I made some games and made a Chinese card game. Then in college I went to a bunch of Hackathons. In college I didn’t major into computer science, but I took a bunch of classes for fun. I learned about Bootstrap and did a bunch of things with that.

5:12 – Chuck: How did you settle on JavaScript?

5:28 – Henry: It was my experience – you don’t have to download anything. You can just open things up in the console and it’s easy to share. I think I like the visual part of it and their UI.

6;07 – Chuck: At some point you ran across Babel – how did you get into that?

6:17 – Henry: After college I wanted to do software. I threw out my degree of industrial engineering. I tried to apply to Google and other top companies. I applied to various places and picked something that was local. I met Jonathan Neal and he got me into open source. Through that, I wanted to contribute to Angular, but it was hard for me. Then I found a small issue with a linting error. After that I made 30 commits to Angular. I added a space here and there. JSES is the next thing I got involved with. There is one file for the rule itself and one for the test and another for the docs. I contributed there and it was easy. I am from Georgia and a year in I get an email through Adobe. They asked if I wanted to work through Enhance in Adobe. I moved to NY and started working here. I found JS LINT, and found out about Babel JS LINT. And that’s how I found about Babel.

9:24 – Chuck: Was Sebastian still running the project at the time?

9:33 – Henry.

10:53 – Chuck: It seems like when I talk with people that you are the LEAD on Babel?

11:07 – Henry: I guess so, because I am spending the most time on it. I also quit the job to work on it. However, I want people to know that there are other people out there to give you help, too.

11:45 – Chuck: Sebastian didn’t say: this is the guy that is the lead now. But how did that crystalize?

12:12 – Henry: I think it happened by accident. I stumbled across it. By people stepping down they stepped down a while ago and others were helping and making changes. It was weird because Sebastian was going to come back.

It’s hard when you know that the person before had gotten burnt-out.

14:28 – Chuck: What is it like to go fulltime on an open source project and how do you go about it?

14:34 – Henry: I don’t want to claim that you have to do it my way. Maybe every project is different. Maybe the focus is money. That is a basic issue. If your project is more of a service, then direct it towards that. I feel weird if I made Babel a service. For me it feels like an infrastructure thing I didn’t want to do that.

I think people want to do open source fulltime, but there are a lot of things to take into consideration.

16:38 – Chuck.

16:50 – Guest.

16:53 – Henry.

16:55 – Chuck: How do you pay the bills?

17:00 – Henry: Unlike Kickstarter, Patreon is to help donate money to people who are contributing content.

If you want to donate a lot then we can tweak it.

19:06 – Chuck: Is there something in particular that you’re proud of?

19:16 – Henry: I worked on JS ES – I was a core team member of that. Going through the process of merging them together was quite interesting. I could write a whole blog post about that. There are a lot of egos and people involved. There are various projects.

Something that I have been thinking about…

20:53 – Chuck: What are you working on now?

20:58 – Henry: We released 7 a while ago and 7.1. Not sure what we are going to do next. Trying to figure out what’s important and to figure out what we want to work on. I have been thinking long-term; for example how do we get reviewers, among other things. I can spend a lot of time fixing bugs, but that is just short-term. I want to invest ways to get more people in. There is a lot of initiatives but maybe we can do something new. Maybe pair with local universities. Maybe do a local Meetup? Learning to be okay with not releasing as often. I don’t want to put fires out all day. Trying to prioritize is important.

23:17 – Chuck.

23:2 – Henry: Twitter and other platforms.

23:37 – Chuck: Picks!

23:38 – Advertisement – Fresh Books! 30-Day Trial!

24:45 – Picks.





  • My own podcast – releasing it next week
  • Podcast about Faith and Open Source


  • Ruby Rogues’ cohost + myself – Data Podcast – DevChat.Tv
  • Reworking e-mails