From 77e340f2ee6f1a056a159ed7b4a1b46447583912 Mon Sep 17 00:00:00 2001
From: Ximena Kilroe
Date: Thu, 14 Nov 2024 10:27:16 -0500
Subject: [PATCH] Add number format shortcode, tweak template and update salary
values
---
.eleventy.js | 10 ++++
_data/assetPaths.json | 5 +-
_data/gs_salaries.yml | 66 ++++++++++++-----------
_includes/layouts/jointts/job/salary.html | 13 +++--
_includes/services-picker.html | 6 +--
js/positions.js | 2 +-
pages/jointts/faq.md | 2 +-
pages/jointts/hiring-process.md | 6 +--
8 files changed, 61 insertions(+), 49 deletions(-)
diff --git a/.eleventy.js b/.eleventy.js
index 0d704aff..b3f0b9e3 100644
--- a/.eleventy.js
+++ b/.eleventy.js
@@ -355,6 +355,16 @@ module.exports = function (config) {
`;
});
+ config.addFilter("numberWithCommas", function(number) {
+ // Ensure the input is a number
+ if (typeof number !== "number") {
+ return number;
+ }
+
+ // Format the number with commas
+ return number.toLocaleString();
+ });
+
// If BASEURL env variable exists, update pathPrefix to the BASEURL
if (process.env.BASEURL) {
pathPrefix = process.env.BASEURL;
diff --git a/_data/assetPaths.json b/_data/assetPaths.json
index 3481274c..987ede7c 100644
--- a/_data/assetPaths.json
+++ b/_data/assetPaths.json
@@ -3,11 +3,10 @@
"admin.map": "/assets/js/admin-77FHK54G.js.map",
"app.js": "/assets/js/app-U5OIPSUD.js",
"app.map": "/assets/js/app-U5OIPSUD.js.map",
- "positions.js": "/assets/js/positions-WAZ5H3SP.js",
- "positions.map": "/assets/js/positions-WAZ5H3SP.js.map",
+ "positions.js": "/assets/js/positions-DEBHCZTG.js",
+ "positions.map": "/assets/js/positions-DEBHCZTG.js.map",
"subnav.js": "/assets/js/subnav-3QHQ2EX4.js",
"subnav.map": "/assets/js/subnav-3QHQ2EX4.js.map",
- "uswds.js": "/assets/js/uswds-init.js",
"styles.css": "/assets/styles/styles-WFQMHBOR.css",
"styles.map": "/assets/styles/styles-WFQMHBOR.css.map"
}
\ No newline at end of file
diff --git a/_data/gs_salaries.yml b/_data/gs_salaries.yml
index 8337612f..6b1f2f1f 100644
--- a/_data/gs_salaries.yml
+++ b/_data/gs_salaries.yml
@@ -1,47 +1,51 @@
+# This file was created based on OPM's General Schedule pay tables using REST OF
+# UNITED STATES for the low and SAN JOSE-SAN FRANCISCO-OAKLAND, CA as the high.
---
GS-1:
- min_salary: 21986 # GS-1 Step 1
- max_salary: 27590 # GS-1 Step 10
+ min_salary: 25684
+ max_salary: 39991
GS-2:
- min_salary: 24702 # GS-2 Step 1
- max_salary: 30983 # GS-2 Step 10
+ min_salary: 28880
+ max_salary: 45243
GS-3:
- min_salary: 26962 # GS-3 Step 1
- max_salary: 35019 # GS-3 Step 10
+ min_salary: 31512
+ max_salary: 50989
GS-4:
- min_salary: 30343 # GS-4 Step 1
- max_salary: 39479 # GS-4 Step 10
+ min_salary: 35373
+ max_salary: 57235
GS-5:
- min_salary: 33973 # GS-5 Step 1
- max_salary: 44126 # GS-5 Step 10
+ min_salary: 39576
+ max_salary: 64037
GS-6:
- min_salary: 37696 # GS-6 Step 1
- max_salary: 48897 # GS-6 Step 10
+ min_salary: 44117
+ max_salary: 71390
GS-7:
- min_salary: 41830 # GS-7 Step 1
- max_salary: 54432 # GS-7 Step 10
+ min_salary: 49025
+ max_salary: 79331
GS-8:
- min_salary: 46237 # GS-8 Step 1
- max_salary: 60190 # GS-8 Step 10
+ min_salary: 54292
+ max_salary: 87851
GS-9:
- min_salary: 50958 # GS-9 Step 1
- max_salary: 67148 # GS-9 Step 10
+ min_salary: 59966
+ max_salary: 97034
GS-10:
- min_salary: 56013 # GS-10 Step 1
- max_salary: 73813 # GS-10 Step 10
+ min_salary: 66036
+ max_salary: 106853
GS-11:
- min_salary: 61618 # GS-11 Step 1
- max_salary: 80141 # GS-11 Step 10
+ min_salary: 72553
+ max_salary: 117400
GS-12:
- min_salary: 73848 # GS-12 Step 1
- max_salary: 95992 # GS-12 Step 10
+ min_salary: 86962
+ max_salary: 140713
GS-13:
- min_salary: 87860 # GS-13 Step 1
- max_salary: 114320 # GS-13 Step 10
+ min_salary: 103409
+ max_salary: 167336
GS-14:
- min_salary: 103821 # GS-14 Step 1
- max_salary: 134803 # GS-14 Step 10
+ min_salary: 122198
+ max_salary: 191900
GS-15:
- min_salary: 122074 # GS-15 Step 1
- max_salary: 159950 # GS-15 Step 10
-
+ min_salary: 143736
+ max_salary: 191900
+SES:
+ min_salary: 147649
+ max_salary: 221900
diff --git a/_includes/layouts/jointts/job/salary.html b/_includes/layouts/jointts/job/salary.html
index 938ee720..5a448dd1 100644
--- a/_includes/layouts/jointts/job/salary.html
+++ b/_includes/layouts/jointts/job/salary.html
@@ -4,16 +4,15 @@
{% else %}
GS-{{ gs }}
{% endif %}
-
-
{% if gs != "SES" %}
{% assign gs_salary_key = "GS-" | append: gs %}
- {% if gs_salaries[gs_salary_key] %}
- Base Salary Range: ${{ gs_salaries[gs_salary_key].min_salary }} - ${{ gs_salaries[gs_salary_key].max_salary }}
- {% else %}
- Salary information is not available for this grade.
- {% endif %}
+ {% else %}
+ {% assign gs_salary_key = gs %}
+ {% endif %}
+
+ {% if gs_salaries[gs_salary_key] %}
+ (${{ gs_salaries[gs_salary_key].min_salary | numberWithCommas }} - ${{ gs_salaries[gs_salary_key].max_salary | numberWithCommas }})
{% endif %}
diff --git a/_includes/services-picker.html b/_includes/services-picker.html
index 7a0e8341..ea4ea076 100644
--- a/_includes/services-picker.html
+++ b/_includes/services-picker.html
@@ -10,7 +10,7 @@ Products
{%- if page_data.url != '/services/products/' -%}
{%- endif -%}
@@ -25,7 +25,7 @@ Platforms
{%- if page_data.url != '/services/platforms/' -%}
{%- endif -%}
@@ -40,7 +40,7 @@ People
{%- if page_data.url != '/services/people/' -%}
{%- endif -%}
diff --git a/js/positions.js b/js/positions.js
index 9b243981..638875a1 100644
--- a/js/positions.js
+++ b/js/positions.js
@@ -120,7 +120,7 @@ function addOpenJobsToDOM(openJobs) {
} else {
const noJobsText = document.createElement("p");
noJobsText.innerHTML =
- 'No open positions at this time. Sign up for job alerts!';
+ 'No open positions at this time. Sign up for job alerts!';
openJobsSection.appendChild(noJobsText);
}
diff --git a/pages/jointts/faq.md b/pages/jointts/faq.md
index a46072cf..4ce6f250 100644
--- a/pages/jointts/faq.md
+++ b/pages/jointts/faq.md
@@ -262,7 +262,7 @@ You can find a list of our upcoming sessions on the
- You will sign up for health benefits using GSA’s HR Links portal.
You will receive information and step-by-step guides during onboarding.
- If you would like to compare health plans in advance, you can view
- [available plans](https://www.opm.gov/healthcare-insurance/healthcare/plan-information/compare-plans/)
+ [available healthcare plans](https://www.opm.gov/healthcare-insurance/healthcare/plan-information/compare-plans/)
at any time. There are many different options and plans available, so
you may find it helpful to compare plans prior to your start date.
diff --git a/pages/jointts/hiring-process.md b/pages/jointts/hiring-process.md
index 22765009..3b4f0ed6 100644
--- a/pages/jointts/hiring-process.md
+++ b/pages/jointts/hiring-process.md
@@ -43,7 +43,7 @@ culture. TTS does not conduct one-on-one conversations with candidates about
roles to ensure an equitable hiring process. Please attend one of our public
information sessions for these details.
-A list of upcoming information sessions can be found on the [Jobs](/join) page.
+A list of upcoming information sessions can be found on the [Jobs page](/join).
## Application
@@ -65,7 +65,7 @@ The interview process typically takes about a month, with approximately 3-4 inte
If you advance past the preliminary screen, we’ll invite you to a series of formal video interviews with various TTS team members. During these longer conversations, we will discuss your past work experience and how your skills and knowledge apply to TTS. Some positions may require a technical interview such as a coding exercise or leadership and collaboration interview before moving forward to the final round of interviews.
-The final round of interviews always include a TTS Core Values interview which is intended to evaluate candidate alignment with [the organization’s values](https://handbook.tts.gsa.gov/about-us/tts-history/#our-values).
+The final round of interviews always include a TTS Core Values interview which is intended to evaluate candidate alignment with [TTS' values](https://handbook.tts.gsa.gov/about-us/tts-history/#our-values).
We share copies of the interview guide, which includes the questions and interviewer names, in advance of your interviews. Sharing questions in advance provides you a more informed interview experience so you can better understand what we’re looking for.
@@ -75,7 +75,7 @@ We typically use Google Meet for our interviews. If you are not comfortable
or familiar with using Google Meet, let your recruiter know and they will
be happy to set up a test chat with you prior to your interviews! You can
also test your sound and video prior to your interview using
-[these instructions](https://support.google.com/meet/answer/10409699?hl=en)
+[Google's instructions on how to use Google Meet](https://support.google.com/meet/answer/10409699?hl=en)
.
In case there are technical issues with your video call, you will also be