I am Alex Russell. Ask me anything.

Alex Russell is a software developer working on Chrome, Blink, and the Web Platform at Google. He serves ECMA TC39 (the standards body for JavaScript) and is an elected member of the W3C Technical Architecture Group. You can find him blogging at Infrequently Noted on browsers, standards, and many different tech topics.

Ask Alex Russell about:

  • Chrome
  • Working at Google
  • TC39
  • ECMAScript
  • Blink
  • Web Platform at Google
  • Contributing to OSS
  • And more…
Ask a Question

73 discussions

Hi Alex! 👋

I would love to know your workflow. How do you manage to contribute to OSS, participate in events and also work at Google? What is your typical day like at work?

"Workflow" sure sounds grandiose!

Truth be told, I do less OSS these days that I think folks would assume. Most of my work day is taken up by meetings, and there's enough stuff rolling in on different fronts that I now explicitly try to have folks schedule time to chat when there's something important to do or work out.

Travel is a huge part of the job. Between standards, conferences, and the worldwide distribution of the Chrome team, I'm probably on the road one week a month. Making that work has mostly been about lowering expectations: when you're congenitally slow to respond to email, people start taking your advice to schedule time on your calendar ;-)

When I'm in the Bay Area (home), my day starts about 8:30am (meetings with Europe/US East Cost). I usually take the early ones from home then go into the office. I do meetings, email, and fire-fighting (chat/slack) through lunch (I tend to eat at my desk while working). Afternoons are a mix. On light meeting days (monday/friday), I try to set aside make-time for performance work, writing design docs, and coding.

I'm out of the office and shutting work out of my life by 6-6:30pm. I used to be terrible at this, but putting limits on the time I'm thinking about work has made me realize how much I need the people around me (and has transformed my attitude towards them). Nobody does anything important alone, and acknowledging that you're part of a team means taking care of yourself enough such that you're there for the team when they need you...so go home. Play some video games. Do anything but work when you're not "working".

Reply to this…

Share your programming knowledge and learn from the best developers on Hashnode

Get started

Milk first or Tea first ? Jam on top or Cream on top?

Tea first. Jam on top.

Reply to this…

There's a proposal for ES, https://github.com/tc39/proposal-class-fields, to use the octothorp (#) to denote a private member of a "class". They say that using the already "private" reserved keyword wouldn't work for making a property truly private and using the octothorp ensures that it's scoped in a way that it's not accessible to the outside world. What's your opinion of this?

Show all replies

Maybe I'm biased because of other languages that use the semantically correct 'private' keyword, but that's because how they create scopes for classes. Would you rather see the traditional 'private' keyword used? Do you think it's possible to use lexical scoping to define a private property without having to use the octothorp, kind of like how PHP or Java have private variables?

The arguments I've seen is how to differentiate between something that's a private and public, using the octothorp enforces that it's not accessible outside of that object. There's an extensive conversation about it here: https://github.com/tc39/proposal-class-fields/issues/56

Reply to this…

Hi Alex, thanks for doing this AMA! How do you see the future of Javascript? And will WebAssembly pose a danger to the language's popularity?

WASM is best thought of as a Math Co-Processor for web content. You have to structure your program in a new (not easy to approach) way, but for certain workloads it can be transformative.

I think people will try WASM for many, many things. Some of them will pan out. I'm particularly excited about the potential for moving new classes of applications that were perviously compute-bound in JS to the web; e.g.: CAD, many types of games, scientific computing, etc.

As for JS, it's going to continue to be used for basically all UI development for as far as I can see. There will be exceptions, but I don't think it's going anywhere.

Reply to this…

If you could make an API land in all browsers right now, what would it be?

Animation Worklet. Touch-driven UI is too hard on the web today, and we fail to compete with native experiences as a result. Animation Worklet largely gets us where we want to go (in combination with lots of other improvements).

Reply to this…

Load more responses