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.