From a95f61214f3f20b8ff1f9b2f3c1235ea217a5d05 Mon Sep 17 00:00:00 2001
From: Ximena Kilroe
Date: Tue, 12 Nov 2024 10:16:56 -0500
Subject: [PATCH 1/6] Salary
---
_data/gs_salaries.yml | 48 +++++++++++++++++++++++
_includes/layouts/jointts/job/salary.html | 8 +++-
2 files changed, 54 insertions(+), 2 deletions(-)
create mode 100644 _data/gs_salaries.yml
diff --git a/_data/gs_salaries.yml b/_data/gs_salaries.yml
new file mode 100644
index 00000000..b686d5d2
--- /dev/null
+++ b/_data/gs_salaries.yml
@@ -0,0 +1,48 @@
+gs_salary_ranges:
+ year: 2024
+ grades:
+ GS-1:
+ min_salary: 21986 # GS-1 Step 1
+ max_salary: 27590 # GS-1 Step 10
+ GS-2:
+ min_salary: 24702 # GS-2 Step 1
+ max_salary: 30983 # GS-2 Step 10
+ GS-3:
+ min_salary: 26962 # GS-3 Step 1
+ max_salary: 35019 # GS-3 Step 10
+ GS-4:
+ min_salary: 30343 # GS-4 Step 1
+ max_salary: 39479 # GS-4 Step 10
+ GS-5:
+ min_salary: 33973 # GS-5 Step 1
+ max_salary: 44126 # GS-5 Step 10
+ GS-6:
+ min_salary: 37696 # GS-6 Step 1
+ max_salary: 48897 # GS-6 Step 10
+ GS-7:
+ min_salary: 41830 # GS-7 Step 1
+ max_salary: 54432 # GS-7 Step 10
+ GS-8:
+ min_salary: 46237 # GS-8 Step 1
+ max_salary: 60190 # GS-8 Step 10
+ GS-9:
+ min_salary: 50958 # GS-9 Step 1
+ max_salary: 67148 # GS-9 Step 10
+ GS-10:
+ min_salary: 56013 # GS-10 Step 1
+ max_salary: 73813 # GS-10 Step 10
+ GS-11:
+ min_salary: 61618 # GS-11 Step 1
+ max_salary: 80141 # GS-11 Step 10
+ GS-12:
+ min_salary: 73848 # GS-12 Step 1
+ max_salary: 95992 # GS-12 Step 10
+ GS-13:
+ min_salary: 87860 # GS-13 Step 1
+ max_salary: 114320 # GS-13 Step 10
+ GS-14:
+ min_salary: 103821 # GS-14 Step 1
+ max_salary: 134803 # GS-14 Step 10
+ GS-15:
+ min_salary: 122074 # GS-15 Step 1
+ max_salary: 159950 # GS-15 Step 10
diff --git a/_includes/layouts/jointts/job/salary.html b/_includes/layouts/jointts/job/salary.html
index 248efdd3..b1ab939c 100644
--- a/_includes/layouts/jointts/job/salary.html
+++ b/_includes/layouts/jointts/job/salary.html
@@ -4,8 +4,12 @@
{% else %}
GS-{{ gs }}
{% endif %}
- {% if min_payrange.size > 0 and max_payrange.size > 0 %}
- ({{ min_payrange }} - {{ max_payrange }})
+
+
+ {% if gs and gs_salaries.grades["GS-" + gs] %}
+ Base Salary Range: ${{ gs_salaries.grades["GS-" + gs].min_salary | number }} - ${{ gs_salaries.grades["GS-" + gs].max_salary | number }}
+ {% else %}
+ Salary information is not available for this grade.
{% endif %}
Your salary, including base and locality, will be determined upon selection, dependent on your actual duty location.
From 84b6b7c097eab8c0991a5501be0dcfd8468c1730 Mon Sep 17 00:00:00 2001
From: Ximena Kilroe
Date: Wed, 13 Nov 2024 09:22:18 -0500
Subject: [PATCH 2/6] Salaries WiP
---
_data/assetPaths.json | 2 +-
_data/gs_salaries.yml | 95 +++++++++----------
_includes/layouts/jointts/job/salary.html | 13 ++-
.../positions/FedRAMP-Security-Director.md | 1 +
4 files changed, 58 insertions(+), 53 deletions(-)
diff --git a/_data/assetPaths.json b/_data/assetPaths.json
index ff6027ff..3481274c 100644
--- a/_data/assetPaths.json
+++ b/_data/assetPaths.json
@@ -10,4 +10,4 @@
"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 b686d5d2..8337612f 100644
--- a/_data/gs_salaries.yml
+++ b/_data/gs_salaries.yml
@@ -1,48 +1,47 @@
-gs_salary_ranges:
- year: 2024
- grades:
- GS-1:
- min_salary: 21986 # GS-1 Step 1
- max_salary: 27590 # GS-1 Step 10
- GS-2:
- min_salary: 24702 # GS-2 Step 1
- max_salary: 30983 # GS-2 Step 10
- GS-3:
- min_salary: 26962 # GS-3 Step 1
- max_salary: 35019 # GS-3 Step 10
- GS-4:
- min_salary: 30343 # GS-4 Step 1
- max_salary: 39479 # GS-4 Step 10
- GS-5:
- min_salary: 33973 # GS-5 Step 1
- max_salary: 44126 # GS-5 Step 10
- GS-6:
- min_salary: 37696 # GS-6 Step 1
- max_salary: 48897 # GS-6 Step 10
- GS-7:
- min_salary: 41830 # GS-7 Step 1
- max_salary: 54432 # GS-7 Step 10
- GS-8:
- min_salary: 46237 # GS-8 Step 1
- max_salary: 60190 # GS-8 Step 10
- GS-9:
- min_salary: 50958 # GS-9 Step 1
- max_salary: 67148 # GS-9 Step 10
- GS-10:
- min_salary: 56013 # GS-10 Step 1
- max_salary: 73813 # GS-10 Step 10
- GS-11:
- min_salary: 61618 # GS-11 Step 1
- max_salary: 80141 # GS-11 Step 10
- GS-12:
- min_salary: 73848 # GS-12 Step 1
- max_salary: 95992 # GS-12 Step 10
- GS-13:
- min_salary: 87860 # GS-13 Step 1
- max_salary: 114320 # GS-13 Step 10
- GS-14:
- min_salary: 103821 # GS-14 Step 1
- max_salary: 134803 # GS-14 Step 10
- GS-15:
- min_salary: 122074 # GS-15 Step 1
- max_salary: 159950 # GS-15 Step 10
+---
+GS-1:
+ min_salary: 21986 # GS-1 Step 1
+ max_salary: 27590 # GS-1 Step 10
+GS-2:
+ min_salary: 24702 # GS-2 Step 1
+ max_salary: 30983 # GS-2 Step 10
+GS-3:
+ min_salary: 26962 # GS-3 Step 1
+ max_salary: 35019 # GS-3 Step 10
+GS-4:
+ min_salary: 30343 # GS-4 Step 1
+ max_salary: 39479 # GS-4 Step 10
+GS-5:
+ min_salary: 33973 # GS-5 Step 1
+ max_salary: 44126 # GS-5 Step 10
+GS-6:
+ min_salary: 37696 # GS-6 Step 1
+ max_salary: 48897 # GS-6 Step 10
+GS-7:
+ min_salary: 41830 # GS-7 Step 1
+ max_salary: 54432 # GS-7 Step 10
+GS-8:
+ min_salary: 46237 # GS-8 Step 1
+ max_salary: 60190 # GS-8 Step 10
+GS-9:
+ min_salary: 50958 # GS-9 Step 1
+ max_salary: 67148 # GS-9 Step 10
+GS-10:
+ min_salary: 56013 # GS-10 Step 1
+ max_salary: 73813 # GS-10 Step 10
+GS-11:
+ min_salary: 61618 # GS-11 Step 1
+ max_salary: 80141 # GS-11 Step 10
+GS-12:
+ min_salary: 73848 # GS-12 Step 1
+ max_salary: 95992 # GS-12 Step 10
+GS-13:
+ min_salary: 87860 # GS-13 Step 1
+ max_salary: 114320 # GS-13 Step 10
+GS-14:
+ min_salary: 103821 # GS-14 Step 1
+ max_salary: 134803 # GS-14 Step 10
+GS-15:
+ min_salary: 122074 # GS-15 Step 1
+ max_salary: 159950 # GS-15 Step 10
+
diff --git a/_includes/layouts/jointts/job/salary.html b/_includes/layouts/jointts/job/salary.html
index b1ab939c..938ee720 100644
--- a/_includes/layouts/jointts/job/salary.html
+++ b/_includes/layouts/jointts/job/salary.html
@@ -5,13 +5,18 @@
GS-{{ gs }}
{% endif %}
+
- {% if gs and gs_salaries.grades["GS-" + gs] %}
- Base Salary Range: ${{ gs_salaries.grades["GS-" + gs].min_salary | number }} - ${{ gs_salaries.grades["GS-" + gs].max_salary | number }}
- {% else %}
- Salary information is not available for this grade.
+ {% 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 %}
{% endif %}
+
Your salary, including base and locality, will be determined upon selection, dependent on your actual duty location.
Please note the maximum salary available for the GS pay system is $191,900. For specific details on locality pay, please
visit OPM's Salaries & Wages page or for a salary calculator
diff --git a/pages/jointts/positions/FedRAMP-Security-Director.md b/pages/jointts/positions/FedRAMP-Security-Director.md
index cc15fb2d..df5d5572 100644
--- a/pages/jointts/positions/FedRAMP-Security-Director.md
+++ b/pages/jointts/positions/FedRAMP-Security-Director.md
@@ -94,6 +94,7 @@ title: "TTS Office of Solutions: FedRAMP Security Director"
#🔻🔻🔻🔻🔻
opens: 2024-08-28
closes: 2024-09-01
+
# These dates are also used to determine whether a position is upcoming, open,
# or closed. Here's how we decide:
#
From 77e340f2ee6f1a056a159ed7b4a1b46447583912 Mon Sep 17 00:00:00 2001
From: Ximena Kilroe
Date: Thu, 14 Nov 2024 10:27:16 -0500
Subject: [PATCH 3/6] 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
From 26256af885c30b7f0cefe0d59147ae6a1389b854 Mon Sep 17 00:00:00 2001
From: Ximena Kilroe
Date: Thu, 14 Nov 2024 10:28:46 -0500
Subject: [PATCH 4/6] Remove unneeded fields from template
---
pages/jointts/positions/position-template.md | 2 --
1 file changed, 2 deletions(-)
diff --git a/pages/jointts/positions/position-template.md b/pages/jointts/positions/position-template.md
index 215f27aa..3d652f01 100644
--- a/pages/jointts/positions/position-template.md
+++ b/pages/jointts/positions/position-template.md
@@ -69,8 +69,6 @@ location: Anywhere in the U.S. (remote)
# Put the GS grade and pay range this position is being advertised at. For SES positions, set the value of gs to SES.
gs:
-min_payrange: $
-max_payrange: $
travel_requirement: Occasional travel may be required up to 10%-20% per year.
From 6c58bcbdf2089de8c94507355f1bcc202edaaf51 Mon Sep 17 00:00:00 2001
From: Wesley Dean
Date: Thu, 14 Nov 2024 15:31:29 +0000
Subject: [PATCH 5/6] [MegaLinter] Apply linters fixes
---
.eleventy.js | 4 ++--
_data/assetPaths.json | 2 +-
_data/gs_salaries.yml | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/.eleventy.js b/.eleventy.js
index b3f0b9e3..3907ba58 100644
--- a/.eleventy.js
+++ b/.eleventy.js
@@ -355,12 +355,12 @@ module.exports = function (config) {
`;
});
- config.addFilter("numberWithCommas", function(number) {
+ 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();
});
diff --git a/_data/assetPaths.json b/_data/assetPaths.json
index 987ede7c..8e646918 100644
--- a/_data/assetPaths.json
+++ b/_data/assetPaths.json
@@ -9,4 +9,4 @@
"subnav.map": "/assets/js/subnav-3QHQ2EX4.js.map",
"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 6b1f2f1f..ebae9bb8 100644
--- a/_data/gs_salaries.yml
+++ b/_data/gs_salaries.yml
@@ -2,7 +2,7 @@
# UNITED STATES for the low and SAN JOSE-SAN FRANCISCO-OAKLAND, CA as the high.
---
GS-1:
- min_salary: 25684
+ min_salary: 25684
max_salary: 39991
GS-2:
min_salary: 28880
From 2fbdbdf7ab2a413d3ec5b746c3d630ad33aa3cd2 Mon Sep 17 00:00:00 2001
From: Ximena Kilroe
Date: Thu, 14 Nov 2024 10:42:44 -0500
Subject: [PATCH 6/6] Update comment
---
pages/jointts/positions/position-template.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pages/jointts/positions/position-template.md b/pages/jointts/positions/position-template.md
index 3d652f01..95786df3 100644
--- a/pages/jointts/positions/position-template.md
+++ b/pages/jointts/positions/position-template.md
@@ -67,7 +67,7 @@ vacancies: "" # Put the number in quotes.
location: Anywhere in the U.S. (remote)
-# Put the GS grade and pay range this position is being advertised at. For SES positions, set the value of gs to SES.
+# Put the GS grade this position is being advertised at. For SES positions, set the value of gs to SES.
gs:
travel_requirement: Occasional travel may be required up to 10%-20% per year.