diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml
index 95cceb407f5146fa3de6e5135580bd24a2d5c5c3..559cecdc849fa27d1c1ccafee7cdfba00d0a31dc 100644
--- a/.azure/pipelines/jobs/default-build.yml
+++ b/.azure/pipelines/jobs/default-build.yml
@@ -174,9 +174,9 @@ jobs:
         displayName: Start background dump collection
     - ${{ if eq(parameters.installNodeJs, 'true') }}:
       - task: NodeTool@0
-        displayName: Install Node 14.x
+        displayName: Install Node 16.x
         inputs:
-          versionSpec: 14.x
+          versionSpec: 16.x
     - ${{ if and(eq(parameters.installJdk, 'true'), eq(parameters.agentOs, 'Windows')) }}:
       - powershell: ./eng/scripts/InstallJdk.ps1
         displayName: Install JDK 11
diff --git a/eng/targets/Helix.props b/eng/targets/Helix.props
index 917454a4c25f3e0f631367796b0a3c96d11a44e5..ba192d5c93bb61814cd9487d87519125bab6b982 100644
--- a/eng/targets/Helix.props
+++ b/eng/targets/Helix.props
@@ -20,7 +20,7 @@
     <IsMacHelixQueue Condition="$(HelixTargetQueue.Contains('OSX')) or $(HelixTargetQueue.Contains('macOs'))">true</IsMacHelixQueue>
     <HelixTestName>$(MSBuildProjectName)--$(TargetFramework)</HelixTestName>
     <LoggingTestingDisableFileLogging Condition="'$(IsHelixJob)' == 'true'">false</LoggingTestingDisableFileLogging>
-    <NodeVersion>14.17.6</NodeVersion>
+    <NodeVersion>16.11.0</NodeVersion>
     <!-- Have all tests depend on the latest runtimes until we get a net7.0 SDK -->
     <TestDependsOnAspNetPackages>true</TestDependsOnAspNetPackages>
     <TestDependsOnAspNetRuntime>true</TestDependsOnAspNetRuntime>