Jobs · Engineering · Alabama

Software Engineer, Cloud & Agenic Applications

Capstone Research Corporation · Huntsville, AL · 1 mo ago
EngineeringFull-time
We need to output HTML fragment with sections only when content exists. Use

for headings: About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. We need to include sections only if posting has real specific content. Let's parse posting: - About the role: The description after "We have an immediate opening..." includes description of role. So we can put that in

About the role

with

paragraphs. - Responsibilities: There's a list of key responsibilities (bulleted). So we need

Responsibilities

with
  • items. - Requirements: There's a list of requirements (bulleted). So

    Requirements

    with
      . - Preferred Qualifications: Could map to Qualifications or Skills? The posting has "Preferred Qualifications". Could be Qualifications section. We'll include

      Qualifications

      with preferred qualifications list. - Skills: Not explicitly separate; maybe we can combine with Qualifications. But we could also have Skills section if there are skill mentions. However we have many skill mentions in responsibilities and requirements. The instruction: Prefer a few substantive sections over many thin ones. So we could combine Qualifications and Skills? But they said use headings like Skills if there is content. We have preferred qualifications list includes skills. Could put them under Qualifications. Or we could have Skills section with bullet list of skills (like Python, TypeScript, AWS, etc). However we already have responsibilities and requirements covering many. To avoid thin sections, maybe we just have About the role, Responsibilities, Requirements, Qualifications (preferred). Benefits: posting mentions "Capstone offers 100% Company Provided Medical and Dental Insurance, Matching 401K, and Profit Sharing as part of our top-notch benefits package." That's specific benefits. So we need Benefits section. Pay: posting says "Compensation for this position will be determined, but not limited to, factors such as responsibilities of the job, education, experience, knowledge, skills, abilities, alignment with market data, and internal equity." That's vague, not specific numbers. The instruction: never emit a heading followed by filler/placeholder text (e.g., "commensurate with experience", "not specified", "N/A", "varies", "TBD") and never create Pay/Schedule/Benefits sections unless the posting actually states them. For Pay, they gave a statement about determination but no specific range. Is that considered filler? It's not a specific number, but it's stating that compensation will be determined based on factors. That's still vague. The instruction says avoid filler like "commensurate with experience", "not specified", etc. This is similar to "will be determined". Likely we should not create a Pay section because it's not specific. So omit Pay. Schedule: No mention of schedule (full-time, part-time, remote). Not stated. So omit Schedule. Thus sections: About the role, Responsibilities, Requirements, Qualifications (preferred), Benefits. We need to preserve all substantive information; do not invent or summarize away detail. Must include all details from posting. We need to format responsibilities as list items preserving the text exactly as given (maybe slight punctuation). Ensure we don't lose any. Let's extract responsibilities bullet points: From posting: "Key Responsibilities Build and maintain backend services and APIs in Python (e.g., FastAPI) and/or TypeScript (e.g., Node/Express), following existing patterns and conventions in the codebase. Contribute end to end to internal dashboards and tools - usage/cost analytics and similar applications - implementing features across the API, database, and UI layers. Write and maintain data pipelines that ingest, transform, and load structured data (spreadsheet exports, API responses, log data) into PostgreSQL, including schema design and reasonably efficient queries. Implement and extend agent-based workflows using frameworks such as Pydantic AI or LangChain - defining tools, prompts, and structured outputs under the guidance of senior engineers, rather than designing agent architecture from scratch. Deploy and operate applications in AWS (including AWS GovCloud) using containers, and read and make guided changes to existing Terraform/OpenTofu modules that provision supporting infrastructure such as object storage, managed databases, and container clusters. Write unit and integration tests, and keep test suites and CI checks (lint, build, test) passing as a normal part of shipping code, not an afterthought. Debug production issues using logs, traces, and database queries, and implement fixes with appropriate test coverage. Participate actively in code review - both giving and receiving feedback - as a way of learning the codebase and improving the quality of the team's work. Document your changes (README updates, code comments, short design notes) so teammates can pick up where you left off. Pair with senior engineers and architects to learn NASA-specific constraints - security, compliance, and approved platforms - and ask questions early rather than guessing." We need each as
    • . Requirements bullet points: "Requirements Bachelor's degree in computer science, engineering, or a related technical field, or equivalent practical experience. 3–5 years of professional software engineering experience, with solid fundamentals in at least one of Python or TypeScript/JavaScript. Working knowledge of cloud computing concepts and at least some hands-on experience with a major cloud provider (AWS preferred) - for example, deploying an application, VPC networking, working with a managed database, using object storage, or writing basic infrastructure-as-code. Comfortable working with relational databases (PostgreSQL preferred): writing queries, understanding schema design, and reasoning about basic performance. Experience with, or strong interest in, agentic or LLM application frameworks such as Pydantic AI or LangChain - production experience is not required, but you should be comfortable picking up one of these frameworks quickly and enjoy working with LLM-backed tooling. Experience with Git-based version control, code-review workflows, and automated testing (unit and integration tests). Ability to take a defined task or user story and implement it independently, asking clarifying questions when requirements are ambiguous. Clear written and verbal communication with teammates, including the ability to document your own work. S. citizenship or other status required to support applicable NASA contracts and access requirements." Note: "S. citizenship" maybe "U.S. citizenship". We'll keep as is. Preferred Qualifications bullet points: "Preferred Qualifications 1+ year of hands-on experience with an agentic or LLM application framework such as Pydantic AI, LangChain, or a comparable tool. Experience with Docker and container-based deployment. Exposure to Infrastructure-as-Code (Terraform or OpenTofu) - reading and modifying existing modules. Experience with FastAPI, Express/Node.js, React, or a comparable modern web framework. Familiarity with vector databases, embeddings, or retrieval-augmented generation (RAG) concepts. Experience working with or supporting a federal, aerospace, or other regulated environment. Interest in data engineering: ETL scripting, pandas, or similar tabular data-processing tools. Familiarity with CI/CD pipelines and DevOps practices (linting, build/test gates, automated)." Benefits: "Capstone offers 100% Company Provided Medical and Dental Insurance, Matching 401K, and Profit Sharing as part of our top-notch benefits package." Also earlier: "Capstone Research Corporation is headquartered in Huntsville Alabama." That's about company; could be part of About the role? Actually About the role section should include description of role and maybe company info. We'll include that. About the role paragraph: We have multiple sentences: "Capstone Research Corporation is seeking to expand our team. Capstone Research Corporation is headquartered in Huntsville Alabama. We are a customer-oriented engineering services company providing world class research and development support across the Department of Defense (DoD): Army, Navy, Air Force, Marines, and Missile Defense Agency (MDA). Capstone offers 100% Company Provided Medical and Dental Insurance, Matching 401K, and Profit Sharing as part of our top-notch benefits package. Compensation for this position will be determined, but not limited to, factors such as responsibilities of the job, education, experience, knowledge, skills, abilities, alignment with market data, and internal equity. We have an immediate opening for a hands-on Software Engineer to help build, extend, and operate cloud-based applications and automation tooling that support NASA customers. You will work alongside senior engineers, architects, and NASA stakeholders to turn defined requirements into working software - writing code, building data pipelines, standing up cloud infrastructure, and iterating based on feedback from users and teammates. This is a delivery-focused engineering role, not a strategy or advisory position. You will spend most of your time in the codebase: implementing features, fixing bugs, writing tests, deploying to the cloud, and collaborating on architecture decisions that senior staff have already scoped." We need to avoid duplicating benefits (we already have Benefits section). The About the role paragraph includes benefits sentence; we could keep it but might duplicate. The instruction: Preserve ALL substantive information; do NOT invent or summarize away detail. So we should keep that sentence in About the role, even if also in Benefits section? That would duplicate. Better to keep it only in Benefits section and not repeat in About the role. However About the role currently includes that sentence; if we remove it, we lose that info from About the role but we still have it in Benefits. The instruction says preserve ALL substantive information; we are preserving it in Benefits section, so it's still present. It's okay to not duplicate. So we can omit the benefits sentence from About the role to avoid duplication. Also compensation sentence is vague; we might omit it from About the role as it's not specific and we are not making Pay section. But it's still substantive info about compensation determination. However we are not making Pay section; we could keep it in About the role as a sentence. The instruction: never create Pay/Schedule/Benefits sections unless the posting actually states them. It didn't say we cannot mention compensation in About the role. So we can keep that sentence in About the role. Thus About the role paragraph will include: "Capstone Research Corporation is seeking to expand our team. Capstone Research Corporation is headquartered in Huntsville Alabama. We are a customer-oriented engineering services company providing world class research and development support across the Department of Defense (DoD): Army, Navy, Air Force, Marines, and Missile Defense Agency (MDA). Compensation for this position will be determined, but not limited to, factors such as responsibilities of the job, education, experience, knowledge, skills, abilities, alignment with market data, and internal equity. We have an immediate opening for a hands-on Software Engineer to help build, extend, and operate cloud-based applications and automation tooling that support NASA customers. You will work alongside senior engineers, architects, and NASA stakeholders to turn defined requirements into working software - writing code, building data pipelines, standing up cloud infrastructure, and iterating based on feedback from users and teammates. This is a delivery-focused engineering role, not a strategy or advisory position. You will spend most of your time in the codebase: implementing features, fixing bugs, writing tests, deploying to the cloud, and collaborating on architecture decisions that senior staff have already scoped." We removed the benefits sentence. Now Benefits section: list the three items. We need to output HTML fragment only, no markdown fences. Let's craft:

      About the role

      ...

      Responsibilities

      • ...
      • ...

      Requirements

        ...

      Qualifications

        ...

      Benefits

        maybe just

        or

        • . Since it's a list of benefits, we can use
          • for each. Benefits: "100% Company Provided Medical and Dental Insurance", "Matching 401K", "Profit Sharing". We'll output as list. Make sure to preserve punctuation exactly. Let's write. Check for any stray HTML characters like & etc. Should be fine. Now produce final answer.

Similar jobs