Software Engineer - Mid to Experienced Level (MD, TX)
for section headings.
- Use - for any list of duties/requirements/benefits.
- Use
for prose.
We need to decide sections:
From posting:
- Responsibilities: description: "NSA is seeking experienced Software Engineers to advance high-impact systems and teams. Tools and technologies used evolve quickly, with systems and responsibilities spanning the full spectrum. Common tools and areas of interest include: COBOL, C/C++, Java, cloud computing, Angular, React, Python, PIG Analytics, Pyspark, agile development, continuous integration/continuous delivery (CI/CD), containers and Docker, Kubernetes, Amazon Web Services (AWS), Linux (VMWare), ElasticSearch, Rust, micro services, Ansible, clusters, digital forensics, incident response, quantum and more. Beyond technical skills, we need strong critical thinkers, collaborators, independent self-starters, continuous learners and flexible contributors. We look forward to hearing from you about what excites you and where you think you can make the most impact."
That's responsibilities.
- Job Summary: maybe could be part of About the role? The instruction says use headings like About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. So we could have About the role (job summary). Then Responsibilities (the above). Then Qualifications (minimum qualifications). Then Skills (the later skills section). Then Pay, Benefits, Schedule.
We need to extract Qualifications: The qualifications listed are the minimum acceptable... includes degree must be in CS or Software Engineering, related fields if contain concentration of courses in foundational CS areas: list algorithms; computer architecture (not network architecture); programming methodologies and languages; data structures; logic and computation; advanced mathematics (e.g., calculus, discrete mathematics). Relevant experience must be in software development process (requirements analysis, design, implementation, testing, integration, deployment/installation, maintenance) and programming. Then FULL PERFORMANCE entry criteria: Bachelor's +3 years, Master's +1 year, Doctoral +0, Associate's +5 years (if in-depth). SENIOR entry: Bachelor's +6, Master's +4, Doctoral +2, Associate's +8 (if in-depth). That's qualifications.
We also have "Minimum qualifications for this position require a degree that demonstrates a concentration of computer science (CS) courses in foundational CS areas." Already covered.
We need to ensure we don't duplicate.
Pay: "Pay: Salary offers are based on candidates' education level and years of experience relevant to the position and also take into account information provided by the hiring manager/organization regarding the work level for the position. Salary Range: $105,262 - $192,764 (Full Performance, Senior) Salary range varies by location, work level, and relevant experience to the position."
We should include that as Pay section.
Benefits: "Benefits: NSA offers a comprehensive benefits package." That's it. Also maybe training will be provided based on selectee's needs and experience. That's more like benefits? Could be part of Benefits.
Schedule: "Work Schedule: This is a full-time position, Monday - Friday, with basic 8hr/day work requirement between 6:00 a.m. and 6:00 p.m. (flexible)." Also DCIPS Trial Period details: two-year trial period unless veterans' preference eligible then one-year. That's schedule? Might be considered part of work schedule or additional info. The instruction: include Schedule section only if posting actually states them. It does state work schedule and trial period. So we can include schedule details.
We also have "Training will be provided based on the selectee's needs and experience." Could be part of Benefits or maybe separate but we can include in Benefits.
Skills section: later: "Skills With a broad range of positions available, tools, platforms, and methodologies used will vary from one team to another. Use of industry norms is common, including, but not limited to: Docker, AWS, GitLab, open source (see code.nsa.gov for examples of NSA contribution), databases (both relational and non-relational), various languages (Java, C, C++, Python, etc.). Candidates with experience in COBOL or IBM mainframe are preferred. The ideal candidate will have specialized skills or interest in one or more of the following skills/technologies: - Strong background in advanced mathematics (i.e., number theory, abstract algebra, linear algebra, probability theory and discrete mathematics) - Solid grasp of data structure, algorithms, operating systems and computer architecture. - Proficiency in languages like C/C++, Python and Java - Knowledge of both symmetric and asymmetric cryptography, including hash functions, encryption, digital signatures and key exchange - Familiarity with protocols like TLS/SSL and network security principles for secure communications - Understanding of hardware security modules (HSMs) and other secure computing (cloud) platforms - Familiarity with Security Information and Event Management (SIEM), intrusion detection systems (IDS) and vulnerability assessment tools - Knowledgeable" (cut off). We'll keep as list.
We need to avoid duplication: The responsibilities already listed many tools; skills section also lists some. Keep both.
Now produce HTML.
Structure:
About the role
Job Summary ...
Responsibilities
NSA is seeking experienced Software Engineers ...
Qualifications
The qualifications listed are the minimum acceptable ...
- Degree must be in Computer Science (CS) or Software Engineering. Related fields (e.g., Engineering, Mathematics) may be considered relevant if the programs contain, at minimum, a concentration of courses in the following foundational CS areas:
- algorithms
- computer architecture (not network architecture)
- programming methodologies and languages
- data structures
- logic and computation
- advanced mathematics (for example, calculus, discrete mathematics)
- Relevant experience must be in the software development process (i.e., requirements analysis, software design, implementation, testing, integration, deployment/installation, and maintenance) and programming.
- FULL PERFORMANCE Entry is with a Bachelor's degree plus 3 years of relevant experience or a Master's degree plus 1 year of relevant experience or a Doctoral degree and no experience. An Associate's degree plus 5 years of relevant experience may be considered for individuals with in-depth experience that is clearly related to the position.
- SENIOR Entry is with a Bachelor's degree plus 6 years of relevant experience or a Master's degree plus 4 years of relevant experience or a Doctoral degree plus 2 years of relevant experience. An Associate's degree plus 8 years of relevant experience may be considered for individuals with in-depth experience that is clearly related to the position.
But we need to ensure proper nesting: outer with - items; sublist inside
- . Could also just make a flat list but better to nest.
We'll produce:
Qualifications
- Degree must be in Computer Science (CS) or Software Engineering. Related fields (e.g., Engineering, Mathematics) may be considered relevant if the programs contain, at minimum, a concentration of courses in the following foundational CS areas:
- algorithms
- computer architecture (not network architecture)
- programming methodologies and languages
- data structures
- logic and computation
- advanced mathematics (for example, calculus, discrete mathematics)
- Relevant experience must be in the software development process (i.e., requirements analysis, software design, implementation, testing, integration, deployment/installation, and maintenance) and programming.
- FULL PERFORMANCE Entry is with a Bachelor's degree plus 3 years of relevant experience or a Master's degree plus 1 year of relevant experience or a Doctoral degree and no experience. An Associate's degree plus 5 years of relevant experience may be considered for individuals with in-depth experience that is clearly related to the position.
- SENIOR Entry is with a Bachelor's degree plus 6 years of relevant experience or a Master's degree plus 4 years of relevant experience or a Doctoral degree plus 2 years of relevant experience. An Associate's degree plus 8 years of relevant experience may be considered for individuals with in-depth experience that is clearly related to the position.
Now Skills:
Skills
With a broad range of positions available, tools, platforms, and methodologies used will vary from one team to another. Use of industry norms is common, including, but not limited to: Docker, AWS, GitLab, open source (see code.nsa.gov for examples of NSA contribution), databases (both relational and non-relational), various languages (Java, C, C++, Python, etc.). Candidates with experience in COBOL or IBM mainframe are preferred. The ideal candidate will have specialized skills or interest in one or more of the following skills/technologies:
- Strong background in advanced mathematics (i.e., number theory, abstract algebra, linear algebra, probability theory and discrete mathematics)
- Solid grasp of data structure, algorithms, operating systems and computer architecture.
- Proficiency in languages like C/C++, Python and Java
- Knowledge of both symmetric and asymmetric cryptography, including hash functions, encryption, digital signatures and key exchange
- Familiarity with protocols like TLS/SSL and network security principles for secure communications
- Understanding of hardware security modules (HSMs) and other secure computing (cloud) platforms
- Familiarity with Security Information and Event Management (SIEM), intrusion detection systems (IDS) and vulnerability assessment tools
Now Pay:
Pay
Pay: Salary offers are based on candidates' education level and years of experience relevant to the position and also take into account information provided by the hiring manager/organization regarding the work level for the position. Salary Range: $105,262 - $192,764 (Full Performance, Senior). Salary range varies by location, work level, and relevant experience to the position.
Now Benefits:
Benefits
Benefits: NSA offers a comprehensive benefits package. Training will be provided based on the selectee's needs and experience.
Now Schedule:
Schedule
Work Schedule: This is a full-time position, Monday - Friday, with basic 8hr/day work requirement between 6:00 a.m. and 6:00 p.m. (flexible). DCIPS Trial Period: If selected for this position, you will be required to serve a two-year DCIPS trial period, unless you are a veterans' preference-eligible employee, in which case you are required to serve a one-year trial period. This trial period runs concurrently with your commitment to the position, if applicable. Before finalizing your appointment at the conclusion of your trial period, NSA will determine whether your continued employment advances the
for prose. We need to decide sections: From posting: - Responsibilities: description: "NSA is seeking experienced Software Engineers to advance high-impact systems and teams. Tools and technologies used evolve quickly, with systems and responsibilities spanning the full spectrum. Common tools and areas of interest include: COBOL, C/C++, Java, cloud computing, Angular, React, Python, PIG Analytics, Pyspark, agile development, continuous integration/continuous delivery (CI/CD), containers and Docker, Kubernetes, Amazon Web Services (AWS), Linux (VMWare), ElasticSearch, Rust, micro services, Ansible, clusters, digital forensics, incident response, quantum and more. Beyond technical skills, we need strong critical thinkers, collaborators, independent self-starters, continuous learners and flexible contributors. We look forward to hearing from you about what excites you and where you think you can make the most impact." That's responsibilities. - Job Summary: maybe could be part of About the role? The instruction says use headings like About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. So we could have About the role (job summary). Then Responsibilities (the above). Then Qualifications (minimum qualifications). Then Skills (the later skills section). Then Pay, Benefits, Schedule. We need to extract Qualifications: The qualifications listed are the minimum acceptable... includes degree must be in CS or Software Engineering, related fields if contain concentration of courses in foundational CS areas: list algorithms; computer architecture (not network architecture); programming methodologies and languages; data structures; logic and computation; advanced mathematics (e.g., calculus, discrete mathematics). Relevant experience must be in software development process (requirements analysis, design, implementation, testing, integration, deployment/installation, maintenance) and programming. Then FULL PERFORMANCE entry criteria: Bachelor's +3 years, Master's +1 year, Doctoral +0, Associate's +5 years (if in-depth). SENIOR entry: Bachelor's +6, Master's +4, Doctoral +2, Associate's +8 (if in-depth). That's qualifications. We also have "Minimum qualifications for this position require a degree that demonstrates a concentration of computer science (CS) courses in foundational CS areas." Already covered. We need to ensure we don't duplicate. Pay: "Pay: Salary offers are based on candidates' education level and years of experience relevant to the position and also take into account information provided by the hiring manager/organization regarding the work level for the position. Salary Range: $105,262 - $192,764 (Full Performance, Senior) Salary range varies by location, work level, and relevant experience to the position." We should include that as Pay section. Benefits: "Benefits: NSA offers a comprehensive benefits package." That's it. Also maybe training will be provided based on selectee's needs and experience. That's more like benefits? Could be part of Benefits. Schedule: "Work Schedule: This is a full-time position, Monday - Friday, with basic 8hr/day work requirement between 6:00 a.m. and 6:00 p.m. (flexible)." Also DCIPS Trial Period details: two-year trial period unless veterans' preference eligible then one-year. That's schedule? Might be considered part of work schedule or additional info. The instruction: include Schedule section only if posting actually states them. It does state work schedule and trial period. So we can include schedule details. We also have "Training will be provided based on the selectee's needs and experience." Could be part of Benefits or maybe separate but we can include in Benefits. Skills section: later: "Skills With a broad range of positions available, tools, platforms, and methodologies used will vary from one team to another. Use of industry norms is common, including, but not limited to: Docker, AWS, GitLab, open source (see code.nsa.gov for examples of NSA contribution), databases (both relational and non-relational), various languages (Java, C, C++, Python, etc.). Candidates with experience in COBOL or IBM mainframe are preferred. The ideal candidate will have specialized skills or interest in one or more of the following skills/technologies: - Strong background in advanced mathematics (i.e., number theory, abstract algebra, linear algebra, probability theory and discrete mathematics) - Solid grasp of data structure, algorithms, operating systems and computer architecture. - Proficiency in languages like C/C++, Python and Java - Knowledge of both symmetric and asymmetric cryptography, including hash functions, encryption, digital signatures and key exchange - Familiarity with protocols like TLS/SSL and network security principles for secure communications - Understanding of hardware security modules (HSMs) and other secure computing (cloud) platforms - Familiarity with Security Information and Event Management (SIEM), intrusion detection systems (IDS) and vulnerability assessment tools - Knowledgeable" (cut off). We'll keep as list. We need to avoid duplication: The responsibilities already listed many tools; skills section also lists some. Keep both. Now produce HTML. Structure:
About the role
Job Summary ...
Responsibilities
NSA is seeking experienced Software Engineers ...
Qualifications
The qualifications listed are the minimum acceptable ...
- Degree must be in Computer Science (CS) or Software Engineering. Related fields (e.g., Engineering, Mathematics) may be considered relevant if the programs contain, at minimum, a concentration of courses in the following foundational CS areas:
- algorithms
- computer architecture (not network architecture)
- programming methodologies and languages
- data structures
- logic and computation
- advanced mathematics (for example, calculus, discrete mathematics)
- Relevant experience must be in the software development process (i.e., requirements analysis, software design, implementation, testing, integration, deployment/installation, and maintenance) and programming.
- FULL PERFORMANCE Entry is with a Bachelor's degree plus 3 years of relevant experience or a Master's degree plus 1 year of relevant experience or a Doctoral degree and no experience. An Associate's degree plus 5 years of relevant experience may be considered for individuals with in-depth experience that is clearly related to the position.
- SENIOR Entry is with a Bachelor's degree plus 6 years of relevant experience or a Master's degree plus 4 years of relevant experience or a Doctoral degree plus 2 years of relevant experience. An Associate's degree plus 8 years of relevant experience may be considered for individuals with in-depth experience that is clearly related to the position.
- with
- items; sublist inside
- . Could also just make a flat list but better to nest.
We'll produce:
Qualifications
- Degree must be in Computer Science (CS) or Software Engineering. Related fields (e.g., Engineering, Mathematics) may be considered relevant if the programs contain, at minimum, a concentration of courses in the following foundational CS areas:
- algorithms
- computer architecture (not network architecture)
- programming methodologies and languages
- data structures
- logic and computation
- advanced mathematics (for example, calculus, discrete mathematics)
- Relevant experience must be in the software development process (i.e., requirements analysis, software design, implementation, testing, integration, deployment/installation, and maintenance) and programming.
- FULL PERFORMANCE Entry is with a Bachelor's degree plus 3 years of relevant experience or a Master's degree plus 1 year of relevant experience or a Doctoral degree and no experience. An Associate's degree plus 5 years of relevant experience may be considered for individuals with in-depth experience that is clearly related to the position.
- SENIOR Entry is with a Bachelor's degree plus 6 years of relevant experience or a Master's degree plus 4 years of relevant experience or a Doctoral degree plus 2 years of relevant experience. An Associate's degree plus 8 years of relevant experience may be considered for individuals with in-depth experience that is clearly related to the position.
Skills
With a broad range of positions available, tools, platforms, and methodologies used will vary from one team to another. Use of industry norms is common, including, but not limited to: Docker, AWS, GitLab, open source (see code.nsa.gov for examples of NSA contribution), databases (both relational and non-relational), various languages (Java, C, C++, Python, etc.). Candidates with experience in COBOL or IBM mainframe are preferred. The ideal candidate will have specialized skills or interest in one or more of the following skills/technologies:
- Strong background in advanced mathematics (i.e., number theory, abstract algebra, linear algebra, probability theory and discrete mathematics)
- Solid grasp of data structure, algorithms, operating systems and computer architecture.
- Proficiency in languages like C/C++, Python and Java
- Knowledge of both symmetric and asymmetric cryptography, including hash functions, encryption, digital signatures and key exchange
- Familiarity with protocols like TLS/SSL and network security principles for secure communications
- Understanding of hardware security modules (HSMs) and other secure computing (cloud) platforms
- Familiarity with Security Information and Event Management (SIEM), intrusion detection systems (IDS) and vulnerability assessment tools
Pay
Pay: Salary offers are based on candidates' education level and years of experience relevant to the position and also take into account information provided by the hiring manager/organization regarding the work level for the position. Salary Range: $105,262 - $192,764 (Full Performance, Senior). Salary range varies by location, work level, and relevant experience to the position.
Now Benefits:Benefits
Benefits: NSA offers a comprehensive benefits package. Training will be provided based on the selectee's needs and experience.
Now Schedule:Schedule
Work Schedule: This is a full-time position, Monday - Friday, with basic 8hr/day work requirement between 6:00 a.m. and 6:00 p.m. (flexible). DCIPS Trial Period: If selected for this position, you will be required to serve a two-year DCIPS trial period, unless you are a veterans' preference-eligible employee, in which case you are required to serve a one-year trial period. This trial period runs concurrently with your commitment to the position, if applicable. Before finalizing your appointment at the conclusion of your trial period, NSA will determine whether your continued employment advances the
- Degree must be in Computer Science (CS) or Software Engineering. Related fields (e.g., Engineering, Mathematics) may be considered relevant if the programs contain, at minimum, a concentration of courses in the following foundational CS areas: