Principal Software Engineer, Network Services
after title? The instruction: do NOT put Job ID/requisition numbers as headings — fold minor metadata into a short
or drop it. So we can include a
containing the compensation and work requirements and terms. Also we should not repeat job title as heading. So start with maybe a
for metadata. Then sections: About the role? Not present; we have THE TEAM and THE JOB. Could combine as About the role? But we should use headings exactly as given: e.g., About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. However we are told to use those headings for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). But we should only include a section when posting has real specific content for it. We have content that maps to these: About the role could be THE TEAM + THE JOB description. Responsibilities could be WHAT YOU WILL BE DOING. Requirements/Qualifications could be WHAT YOU NEED TO KNOW (technical skills) and YOU (behavioral skills) maybe combined as Requirements? Or we could separate Qualifications and Skills. Benefits we have BENEFITS & PERKS. Pay we have compensation. Schedule not present, so omit. Also we should not create Pay/Schedule/Benefits unless posting actually states them. We have compensation and benefits, so include Pay and Benefits sections. Schedule not present, omit. We need to decide mapping: Use
for each section heading. Use - for any list of duties/requirements/benefits. Use
for prose.
We need to preserve all substantive information. So we need to include details from each section.
Let's extract:
Metadata: Terms: Direct-Hire/FTE; Compensation: $220-250,000 Annual Base Salary; Work Requirements: US Citizen, GC Holders or Authorized to Work in the U.S.
We can put in a
maybe:
Terms: Direct-Hire/FTE. Compensation: $220-250,000 annual base salary. Work requirements: US Citizen, GC holders or authorized to work in the U.S.
Now sections:
About the role: Could combine THE TEAM and THE JOB narrative. Provide prose.
Responsibilities: WHAT YOU WILL BE DOING (including subparts Tactical Work, Solutions Architecture, Strategic Work, plus additional bullet list items after that). We need to turn into - items. The content includes many sentences; we can break each bullet as list item. Should we preserve the subheadings? Possibly we can keep them as part of list items or as nested? The instruction: Use
- for any list of duties/requirements/benefits. So we can treat each duty as a list item. The subheadings (Tactical Work (45%), Solutions Architecture (35%), Strategic Work (20%)) could be kept as part of list items or as separate headings? But we already have a Responsibilities heading; we could include subheadings as inside list items? Probably okay to keep them as plain text within list items.
We need to include all duties: list them:
- Design and implement network automation platforms, control planes, and orchestration systems that operate at large scale
- Develop custom tooling, APIs, and automation frameworks for network provisioning, configuration management, and lifecycle operations
- Build automation systems for firewall policy management, security rule deployment, and compliance enforcement
- Implement systems to enforce network access policies across global data centers and AWS environments
- Build network telemetry collection, processing, and analytics systems to drive operational insights and automation decisions
- Implement CI/CD pipelines for network infrastructure using GitLab, focusing on testing, validation, and progressive rollout
- Write clean, testable, and well-documented code that serves as an example for the team
- Develop network abstraction layers that enable self-service capabilities for application and platform teams
- Contribute to network platform architectures and patterns that scale across data centers, cloud environments, and edge locations
- Create design documents, system diagrams, and proof-of-concepts for network automation initiatives
- Leverage modern networking paradigms (BGP automation, network as code, intent-based networking) to deliver reusable components
- Define architectural decisions and guide implementation approaches across the team
- Design for observability, reliability, and operational excellence in network systems
- Partner with team leads and network engineering to deliver on platform modernization initiatives
- Share knowledge and best practices with team members across networking and software engineering disciplines
- Provide technical guidance to junior engineers and participate in code reviews
- Evangelize a software-first approach to network operations and infrastructure management
- Build backend systems primarily in Python, Go, or Rust, focusing on maintainable, testable, and observable code for network automation
- Develop CLI tools, APIs, and services that abstract network complexity and improve the operator experience
- Integrate with network vendor APIs (Arista, Juniper, Cisco, Palo Alto, Fortinet, etc.) and open-source network tooling (Nautobot, NAPALM, Netmiko, FRRouting, BIRD)
- Build integrations with our custom in-house network inventory system for IPAM, asset tracking, and network state management
- Use Terraform and Ansible to integrate network infrastructure with broader platform automation
- Leverage Docker and Kubernetes to build and deploy network automation tools and services
- Leverage AI tools (Claude, ChatGPT, etc.) to accelerate development, generate code, and solve complex problems
- Apply software engineering best practices to network automation, including unit testing, integration testing, and continuous deployment
- Work in an Agile environment (SAFe) with scoped work in Jira, delivering on sprint commitments
- Implement network security controls and compliance requirements through automation and policy-as-code
- Participate in architecture discussions around network topology, routing protocols, traffic engineering, and capacity planning
- Support critical network incidents as part of the team rotation, with focus on building systems that minimize operational burden and enable rapid troubleshooting
That's a lot; we can keep as list.
Requirements/Qualifications/Skills: We have WHAT YOU NEED TO KNOW (or TECHNICAL SKILLS) and YOU (BEHAVIORAL SKILLS). We could split into Requirements (technical) and Skills (behavioral). Or combine as Qualifications and Skills. Let's follow headings: Requirements, Qualifications, Skills. We have technical skills list; we can put under Requirements. Behavioral skills under Skills. Qualifications maybe not needed; we could omit if no distinct content. But we have "Proven experience operating networks at large scale..." etc. That's technical. So Requirements: technical list. Skills: behavioral list.
We need to use
- for any list of duties/requirements/benefits. So we will make lists for technical and behavioral.
Benefits: BENEFITS & PERKS with pillars. We'll make a list.
Pay: compensation already in metadata; but we could also have a Pay section with the salary range. Since we already placed compensation in metadata, but instruction: Prefer a few substantive sections over many thin ones. We could combine compensation into Pay section and drop metadata? But we also need to include work requirements and terms. Could put those in a
under a generic "Details" but we don't have heading for that. Maybe we create a
after the heading? The instruction says: do NOT put Job ID/requisition numbers as headings — fold minor metadata into a short
or drop it. So we can keep a short
for metadata (terms, compensation, work requirements). Then we still need a Pay section? The compensation is already there; but we could still have a Pay section that repeats it? That would be duplication. Better to not duplicate; we can put compensation in Pay section and drop metadata? But we also need to include terms and work requirements; those could be placed in a short
after the Pay section or before. Let's think: The instruction says "include a section ONLY when the posting has real, specific content for it". So we need a Pay section if posting states compensation. It does: "$220-250,000 Annual Base Salary". So we should have a Pay section with that content. Similarly Benefits section. Schedule not present, omit.
Thus we will have sections: About the role, Responsibilities, Requirements, Skills, Benefits, Pay. Possibly also Qualifications? We could put technical under Requirements and behavioral under Skills, and skip Qualifications. That's fine.
Now we need to output only HTML fragment, no /, no markdown.
We'll start with a
for metadata? Actually we have Pay section for compensation, but we still need to include terms and work requirements. Those are minor metadata; we can put them in a short
before sections or after. Let's put a
at top:
Terms: Direct-Hire/FTE. Work requirements: US Citizen, GC holders or authorized to work in the U.S.
Then Pay section: Pay
$220-250,000 annual base salary
Then About the role: About the role
... combine THE TEAM and THE JOB paragraphs.
Responsibilities: Responsibilities
... list items.
Requirements: Requirements
technical skills list.
Skills: Skills
behavioral skills list.
Benefits: Benefits
list of pillars.
We must ensure we preserve all substantive information. Let's extract the About the role content.
THE TEAM paragraph: "The Network Services Team is dedicated to building and operating network infrastructure at large scale. This team is responsible for designing, implementing, and maintaining the network platforms that power our global infrastructure. We take a software-first approach to network operations, building custom automation tools and control planes that enable us to deploy, configure, and operate network infrastructure with speed and reliability. We leverage modern backend languages and network automation frameworks to abstract complexity and empower teams across the organization to consume network services with confidence."
THE JOB paragraph: "Are you passionate about building software that operates networks at large scale? We are seeking an exceptional Principal Software Engineer with deep networking expertise to join our Network Services team. In this role, you'll design and implement custom network automation platforms and tooling that power our global network infrastructure. You'll work in a complex, heterogeneous environment spanning routing and switching infrastructure, firewall platforms, and network orchestration across multiple data centers and cloud environments. Your work will focus on building robust, scalable software solutions that abstract network complexity and enable teams to deploy, operate, and scale network services with confidence. This is an outstanding opportunity for someone who has built network control planes, automation frameworks, or platform tooling at scale—and wants to do it again."
We can combine into a couple paragraphs.
Now Responsibilities list: we already enumerated.
Now Requirements (technical) list: extract from WHAT YOU NEED TO KNOW (or TECHNICAL SKILLS). Let's list each bullet:
- Proven experience operating networks at large scale (multi-datacenter, large enterprise, or cloud environments)
- Deep networking expertise including routing
for prose. We need to preserve all substantive information. So we need to include details from each section. Let's extract: Metadata: Terms: Direct-Hire/FTE; Compensation: $220-250,000 Annual Base Salary; Work Requirements: US Citizen, GC Holders or Authorized to Work in the U.S. We can put in a
maybe:
Terms: Direct-Hire/FTE. Compensation: $220-250,000 annual base salary. Work requirements: US Citizen, GC holders or authorized to work in the U.S.
Now sections: About the role: Could combine THE TEAM and THE JOB narrative. Provide prose. Responsibilities: WHAT YOU WILL BE DOING (including subparts Tactical Work, Solutions Architecture, Strategic Work, plus additional bullet list items after that). We need to turn into- items. The content includes many sentences; we can break each bullet as list item. Should we preserve the subheadings? Possibly we can keep them as part of list items or as nested? The instruction: Use
- for any list of duties/requirements/benefits. So we can treat each duty as a list item. The subheadings (Tactical Work (45%), Solutions Architecture (35%), Strategic Work (20%)) could be kept as part of list items or as separate headings? But we already have a Responsibilities heading; we could include subheadings as inside list items? Probably okay to keep them as plain text within list items.
We need to include all duties: list them:
- Design and implement network automation platforms, control planes, and orchestration systems that operate at large scale
- Develop custom tooling, APIs, and automation frameworks for network provisioning, configuration management, and lifecycle operations
- Build automation systems for firewall policy management, security rule deployment, and compliance enforcement
- Implement systems to enforce network access policies across global data centers and AWS environments
- Build network telemetry collection, processing, and analytics systems to drive operational insights and automation decisions
- Implement CI/CD pipelines for network infrastructure using GitLab, focusing on testing, validation, and progressive rollout
- Write clean, testable, and well-documented code that serves as an example for the team
- Develop network abstraction layers that enable self-service capabilities for application and platform teams
- Contribute to network platform architectures and patterns that scale across data centers, cloud environments, and edge locations
- Create design documents, system diagrams, and proof-of-concepts for network automation initiatives
- Leverage modern networking paradigms (BGP automation, network as code, intent-based networking) to deliver reusable components
- Define architectural decisions and guide implementation approaches across the team
- Design for observability, reliability, and operational excellence in network systems
- Partner with team leads and network engineering to deliver on platform modernization initiatives
- Share knowledge and best practices with team members across networking and software engineering disciplines
- Provide technical guidance to junior engineers and participate in code reviews
- Evangelize a software-first approach to network operations and infrastructure management
- Build backend systems primarily in Python, Go, or Rust, focusing on maintainable, testable, and observable code for network automation
- Develop CLI tools, APIs, and services that abstract network complexity and improve the operator experience
- Integrate with network vendor APIs (Arista, Juniper, Cisco, Palo Alto, Fortinet, etc.) and open-source network tooling (Nautobot, NAPALM, Netmiko, FRRouting, BIRD)
- Build integrations with our custom in-house network inventory system for IPAM, asset tracking, and network state management
- Use Terraform and Ansible to integrate network infrastructure with broader platform automation
- Leverage Docker and Kubernetes to build and deploy network automation tools and services
- Leverage AI tools (Claude, ChatGPT, etc.) to accelerate development, generate code, and solve complex problems
- Apply software engineering best practices to network automation, including unit testing, integration testing, and continuous deployment
- Work in an Agile environment (SAFe) with scoped work in Jira, delivering on sprint commitments
- Implement network security controls and compliance requirements through automation and policy-as-code
- Participate in architecture discussions around network topology, routing protocols, traffic engineering, and capacity planning
- Support critical network incidents as part of the team rotation, with focus on building systems that minimize operational burden and enable rapid troubleshooting
That's a lot; we can keep as list.
Requirements/Qualifications/Skills: We have WHAT YOU NEED TO KNOW (or TECHNICAL SKILLS) and YOU (BEHAVIORAL SKILLS). We could split into Requirements (technical) and Skills (behavioral). Or combine as Qualifications and Skills. Let's follow headings: Requirements, Qualifications, Skills. We have technical skills list; we can put under Requirements. Behavioral skills under Skills. Qualifications maybe not needed; we could omit if no distinct content. But we have "Proven experience operating networks at large scale..." etc. That's technical. So Requirements: technical list. Skills: behavioral list.
We need to use
- for any list of duties/requirements/benefits. So we will make lists for technical and behavioral.
Benefits: BENEFITS & PERKS with pillars. We'll make a list.
Pay: compensation already in metadata; but we could also have a Pay section with the salary range. Since we already placed compensation in metadata, but instruction: Prefer a few substantive sections over many thin ones. We could combine compensation into Pay section and drop metadata? But we also need to include work requirements and terms. Could put those in a
under a generic "Details" but we don't have heading for that. Maybe we create a
after the heading? The instruction says: do NOT put Job ID/requisition numbers as headings — fold minor metadata into a short
or drop it. So we can keep a short
for metadata (terms, compensation, work requirements). Then we still need a Pay section? The compensation is already there; but we could still have a Pay section that repeats it? That would be duplication. Better to not duplicate; we can put compensation in Pay section and drop metadata? But we also need to include terms and work requirements; those could be placed in a short
after the Pay section or before. Let's think: The instruction says "include a section ONLY when the posting has real, specific content for it". So we need a Pay section if posting states compensation. It does: "$220-250,000 Annual Base Salary". So we should have a Pay section with that content. Similarly Benefits section. Schedule not present, omit. Thus we will have sections: About the role, Responsibilities, Requirements, Skills, Benefits, Pay. Possibly also Qualifications? We could put technical under Requirements and behavioral under Skills, and skip Qualifications. That's fine. Now we need to output only HTML fragment, no /, no markdown. We'll start with a
for metadata? Actually we have Pay section for compensation, but we still need to include terms and work requirements. Those are minor metadata; we can put them in a short
before sections or after. Let's put a
at top:
Terms: Direct-Hire/FTE. Work requirements: US Citizen, GC holders or authorized to work in the U.S.
Then Pay section:Pay
$220-250,000 annual base salary
Then About the role:About the role
... combine THE TEAM and THE JOB paragraphs.
Responsibilities:Responsibilities
- ... list items.
Requirements:
Requirements
- technical skills list.
Skills:
Skills
- behavioral skills list.
Benefits:
Benefits
- list of pillars.
We must ensure we preserve all substantive information. Let's extract the About the role content.
THE TEAM paragraph: "The Network Services Team is dedicated to building and operating network infrastructure at large scale. This team is responsible for designing, implementing, and maintaining the network platforms that power our global infrastructure. We take a software-first approach to network operations, building custom automation tools and control planes that enable us to deploy, configure, and operate network infrastructure with speed and reliability. We leverage modern backend languages and network automation frameworks to abstract complexity and empower teams across the organization to consume network services with confidence."
THE JOB paragraph: "Are you passionate about building software that operates networks at large scale? We are seeking an exceptional Principal Software Engineer with deep networking expertise to join our Network Services team. In this role, you'll design and implement custom network automation platforms and tooling that power our global network infrastructure. You'll work in a complex, heterogeneous environment spanning routing and switching infrastructure, firewall platforms, and network orchestration across multiple data centers and cloud environments. Your work will focus on building robust, scalable software solutions that abstract network complexity and enable teams to deploy, operate, and scale network services with confidence. This is an outstanding opportunity for someone who has built network control planes, automation frameworks, or platform tooling at scale—and wants to do it again."
We can combine into a couple paragraphs.
Now Responsibilities list: we already enumerated.
Now Requirements (technical) list: extract from WHAT YOU NEED TO KNOW (or TECHNICAL SKILLS). Let's list each bullet:
- Proven experience operating networks at large scale (multi-datacenter, large enterprise, or cloud environments)
- Deep networking expertise including routing
- for any list of duties/requirements/benefits. So we will make lists for technical and behavioral.
Benefits: BENEFITS & PERKS with pillars. We'll make a list.
Pay: compensation already in metadata; but we could also have a Pay section with the salary range. Since we already placed compensation in metadata, but instruction: Prefer a few substantive sections over many thin ones. We could combine compensation into Pay section and drop metadata? But we also need to include work requirements and terms. Could put those in a
- for any list of duties/requirements/benefits. So we can treat each duty as a list item. The subheadings (Tactical Work (45%), Solutions Architecture (35%), Strategic Work (20%)) could be kept as part of list items or as separate headings? But we already have a Responsibilities heading; we could include subheadings as inside list items? Probably okay to keep them as plain text within list items.
We need to include all duties: list them:
- Design and implement network automation platforms, control planes, and orchestration systems that operate at large scale
- Develop custom tooling, APIs, and automation frameworks for network provisioning, configuration management, and lifecycle operations
- Build automation systems for firewall policy management, security rule deployment, and compliance enforcement
- Implement systems to enforce network access policies across global data centers and AWS environments
- Build network telemetry collection, processing, and analytics systems to drive operational insights and automation decisions
- Implement CI/CD pipelines for network infrastructure using GitLab, focusing on testing, validation, and progressive rollout
- Write clean, testable, and well-documented code that serves as an example for the team
- Develop network abstraction layers that enable self-service capabilities for application and platform teams
- Contribute to network platform architectures and patterns that scale across data centers, cloud environments, and edge locations
- Create design documents, system diagrams, and proof-of-concepts for network automation initiatives
- Leverage modern networking paradigms (BGP automation, network as code, intent-based networking) to deliver reusable components
- Define architectural decisions and guide implementation approaches across the team
- Design for observability, reliability, and operational excellence in network systems
- Partner with team leads and network engineering to deliver on platform modernization initiatives
- Share knowledge and best practices with team members across networking and software engineering disciplines
- Provide technical guidance to junior engineers and participate in code reviews
- Evangelize a software-first approach to network operations and infrastructure management
- Build backend systems primarily in Python, Go, or Rust, focusing on maintainable, testable, and observable code for network automation
- Develop CLI tools, APIs, and services that abstract network complexity and improve the operator experience
- Integrate with network vendor APIs (Arista, Juniper, Cisco, Palo Alto, Fortinet, etc.) and open-source network tooling (Nautobot, NAPALM, Netmiko, FRRouting, BIRD)
- Build integrations with our custom in-house network inventory system for IPAM, asset tracking, and network state management
- Use Terraform and Ansible to integrate network infrastructure with broader platform automation
- Leverage Docker and Kubernetes to build and deploy network automation tools and services
- Leverage AI tools (Claude, ChatGPT, etc.) to accelerate development, generate code, and solve complex problems
- Apply software engineering best practices to network automation, including unit testing, integration testing, and continuous deployment
- Work in an Agile environment (SAFe) with scoped work in Jira, delivering on sprint commitments
- Implement network security controls and compliance requirements through automation and policy-as-code
- Participate in architecture discussions around network topology, routing protocols, traffic engineering, and capacity planning
- Support critical network incidents as part of the team rotation, with focus on building systems that minimize operational burden and enable rapid troubleshooting
That's a lot; we can keep as list.
Requirements/Qualifications/Skills: We have WHAT YOU NEED TO KNOW (or TECHNICAL SKILLS) and YOU (BEHAVIORAL SKILLS). We could split into Requirements (technical) and Skills (behavioral). Or combine as Qualifications and Skills. Let's follow headings: Requirements, Qualifications, Skills. We have technical skills list; we can put under Requirements. Behavioral skills under Skills. Qualifications maybe not needed; we could omit if no distinct content. But we have "Proven experience operating networks at large scale..." etc. That's technical. So Requirements: technical list. Skills: behavioral list.
We need to use