Henry Zhu
I met Henry at JSConf Last call in 2015. We discovered we both live in NYC, and he was saying he "just started" getting involved maintining Babel.js.
I really like watching Henry's presentation. He is quiet and not overly expressive, but he makes like minded JavaScript developers nods hard and giggle hard.
I appriciate his honesty about what he knows and what he has no idea about. We had long conversation over a lunch once. We talked about Open Source maintenance and education because we both were stuck wondering how we should maintain and document our projects. To this day, I still think about his words "Everything is fake" - meaning no one is born expert but just looks like expert.
When you read his post, you might find his release updates are little different from just a list of bullet points on project updates. He includes lots of context information and you can hear his voice in the post. I really enjoy the human touch he brings to a software project like Babel.js.
Read the Post
Ask Henry
What is one tool you can't leave at home in order to do your work ?
Boring, but my work laptop since I bring it home 😄. Maybe a board game (Codenames) so that I can rally some co-workers to take a break and work better afterwards!
What did you learn in 2017 ?
I learned a little more about what maintaining an open source project can be, not just what it is currently. It can be more than just reviewing pull requests, answering issues, but also a proper "etiquette" and building community (making it approachable/fun).
Maintaining something like Babel can be more than just the project itself but larger layers of ecoystems: for Babel it could be
- The official plugins (
babel-plugin-transform-classes
) - The tooling integrations (
babel-loader
, `babel-eslint`) - <3rd party plugins (
babel-plugin-macros
,babel-plugin-lodash
, css-in-js): how do we create a higher quality ecosystem of plugins? - Other compile-to-js languages (
coffeescript
,typescript
, etc) - The JavaScript language (how we relate to TC39 itself by attending meetings, implementing to spec, providing feedback, being a medium for users to be involved)
- The package ecosystem on npm: many npm modules are compiled via Babel, so how do we promote best practices (standard of compiling non-ES5, polyfills, etc)
- Browser compatability: we want to support compiling down for all browsers (preset-env)
- Upgrade path: what do we do to make sure people are able to upgrade from v5 to v6, and futher more v6 to v7? How do we move users off of dropped TC39 proposals, or older versions of the proposal?
- How can we help educate developers about the language itself, the tool given it's role as infrastructure that is hidden away under other tools, and how it works so we can have more maintainers and contributors to support our own volunteer efforts?
What do you want to learn/work on/improve in 2018?
Probably writing? To write more, and stop waiting so long to put something down because I think it's bad/incorrect. And just doing it without trying to "publish" something that others will see since that will probably make it not happen.
And related to that probably improve my talks: more thought out + better slides 😄.