It’s been more than an year since I started attending TC39 meetings, and this most recent meeting felt much like the first, as I faced a new personal challenge: I went there as the acting chair.
TC39 is a group of almost 50 highly skilled professionals, each with very strong positions on the existing form and the future form of the language. While the skills and opinions are visible strengths, time management remains a challenge. While everyone has an opinion, everyone else has something to add or a concern to express. The discussion is dense. Sometimes it’s hard to follow all of the work being done on each proposal presented to the committee, not only in the meetings, but on an everyday basis, so it’s common to see some delegates who are specialized in specific topics. As the acting chair at this most recent meeting, I faced new responsibilities and lessons to be learned.
I consider myself specialized in testing the things that are proposed and developed within TC39, which is a time consuming process that makes me forget some important aspects of real world applications. I read the spec text and find the best way to test each observable unit, whether it’s elegant or not is irrelevant and it often ends up looking like code I would never suggest anyone write.
The real world applications of a new feature, whether an API or syntax, is one of the other aspects we need to consider. It always involves making the most advanced predictions to answer the most important question: is this really going to solve an important/painful/unintuitive/ambiguous issue in the language? This is especially hard because most of the time the feature is still only an idea. TC39 works on the future, looking ahead of what exists today. Each of these ideas must be discussed and given a fair share of committee attention, but that can also lead to an overwhelming agenda—which is sometimes so crowded that it’s impossible to address everything in one meeting. I came into that meeting having accept the challenge, and I did my best to address most of the agenda items, even if I could not include them all. We have decent flow in the meeting and a lot of collaboration from the delegates as a whole team working together. In the end, I closed the meeting knowing I did my best and I learned a lot. I would probably be open to doing it again, but for now, I’m glad that TC39 has found a new chair — Rex Jaeschke — to lead this group. I’ll continue my work as a delegate, but hope to continue learning in my role as vice chair. Rex Jaeschke has an excellent track record of chairing standards bodies, but in the spirit of collaboration, we now have a chair group where Daniel Ehrenberg and I will be supporting Rex as vice chairs. We can’t say how long this will be, but for now we are committed to experimenting with this until the end of 2017. TC39 will review the group for the following year.
The best part of being part of this group is the opportunity to share my values directly. We want to make sure promoting diversity within TC39 remains a high priority goal and Daniel is one of the best people to work with on this. Hopefully there will be more to say on this topic in the near future, but for now I can tell you that important and exciting changes are coming.