01 — Work

Network Automation Platform

Enterprise Automation · Distributed Systems · Integration
Employer
GYTWorkz
Project
Network Automation Platform
Role
Software Engineer · SDE-2
Period
2021 — Present

Working on the boundary between network automation and network orchestration.

Building and maintaining production software where compatibility, reliability, integration, and delivery all have to work together.

02Context

Working on a system where small assumptions can become large problems.

I work at GYTWorkz on a network automation platform that connects automation workflows with a network orchestrator.

My work spans backend engineering, system integration, platform compatibility, production troubleshooting, observability, security, CI/CD, and release engineering.

Over time, the most interesting work has rarely been about adding another feature. It has been about finding what breaks when systems evolve, assumptions change, or distributed behavior does not line up.

03System

A simplified view of the environment.

Mental model
01 / Network automationEngineering systems
WHERE I WORKEDAUTOMATIONNETWORK AUTOMATION PLATFORMINTEGRATIONINTEGRATION LAYERORCHESTRATIONNETWORK ORCHESTRATORINFRASTRUCTURENETWORK INFRASTRUCTURE
Automation · Integration · Orchestration
Conceptual representation · simplified
  1. 01Network automation platform
  2. 02Integration layer
  3. 03Network orchestrator
  4. 04Network infrastructure
04My work

What I worked on.

W.01

Product & integration engineering

Building and evolving the integration layer

Built and maintained production software connecting a network automation platform with a network orchestrator.

  • Feature development
  • Backend engineering
  • Request / response handling
  • Error handling
  • Integration behavior
  • Maintenance & evolution
W.02

Platform compatibility

Keeping integrations working as the underlying platform changed

Worked through changes in the underlying network orchestrator across multiple platform versions while preserving existing behavior.

I had to understand both the old and new behavior and make the transition without unnecessarily breaking existing consumers.

  • Version-aware behavior
  • Backward compatibility
  • Changed upstream behavior
  • Regression prevention
  • Migration support
W.03

Production troubleshooting

Investigating problems that only appeared in production

Investigated production issues that could not be explained from a single component in isolation.

  1. 01 Symptom
  2. 02 Trace the system
  3. 03 Isolate the assumption
  4. 04 Identify the cause
  5. 05 Make the safest fix
  6. 06 Validate
W.04

Reliability & observability

Making complex runtime behavior easier to understand and trust

Distributed runtime reliability

Investigated inconsistent runtime behavior involving state, timing, and lifecycle across distributed execution contexts.

Cross-protocol traceability

Worked on consistent request traceability across different communication paths so a single operation could be followed through the system.

RESTCONFJSON-RPCNETCONF
W.05

Security & delivery

Keeping production software healthy

Worked on dependency security, vulnerability remediation, CI/CD, packaging, build infrastructure, and release engineering.

  • Dependency security
  • Vulnerability remediation
  • CI/CD
  • Packaging
  • Build infrastructure
  • Releases
05Problems I solved

Problems I worked through.

A few examples of the engineering problems behind the work. The system is intentionally abstracted; the problems are real.

Problem01Distributed state

Intermittent resource availability in a distributed runtime

Problem

The same resource could behave differently depending on where a request was handled, creating intermittent availability failures in a distributed environment.

Result

Reduced the chance of stale runtime state producing inconsistent behavior.

Problem02Platform evolution

Supporting new platform behavior without breaking existing behavior

Problem

New versions of the underlying network orchestrator introduced behavioral differences at the integration boundary.

Result

New platform support could be introduced without forcing unnecessary changes on existing consumers.

Problem03Cross-protocol traceability

Following one operation across different communication paths

Problem

A single operation could move through different protocol paths, making it harder to correlate what happened from start to finish.

Result

Made distributed operations easier to follow and investigate.

Problem04Dependency regression

A dependency update changed existing runtime behavior

Problem

A dependency upgrade introduced unexpected behavior in an existing integration path.

Result

Restored expected behavior while keeping the dependency current.

Problem05Multi-architecture build

Building release artifacts for different architectures

Problem

The release pipeline needed to produce artifacts for different CPU architectures while running in an environment based on another architecture.

Result

Enabled the pipeline to generate the required architecture-specific artifacts consistently.

Problem06Security remediation

Fixing vulnerable dependencies without destabilizing production software

Problem

Security findings required dependency upgrades in production software that also had existing compatibility constraints.

Result

Addressed security findings while maintaining expected application behavior.

06Delivery

From code to release.

My work also extended beyond application code into the systems that build, package, validate, and deliver it.

  1. 01 Source
  2. 02 Build
  3. 03 Validate
  4. 04 Package
  5. 05 Release
RPMSHA-256ARM64x86Docker BuildxQEMUGitLab CI
07 — Technical territory
  • Node.js
  • JavaScript / TypeScript
  • Distributed Systems
  • Network Automation
  • Network Orchestration
  • Cisco NSO
  • RESTCONF
  • JSON-RPC
  • NETCONF
  • Docker
  • Kubernetes
  • AWS
  • GitLab CI
  • RPM Packaging
  • CI/CD
  • Release Engineering
08Artifacts

A few things behind the work.

Conceptual representation · simplified

A.01 / EnvironmentConceptual
WHERE I WORKEDAUTOMATIONNETWORK AUTOMATION PLATFORMINTEGRATIONINTEGRATION LAYERORCHESTRATIONNETWORK ORCHESTRATORINFRASTRUCTURENETWORK INFRASTRUCTURE
Network automation environment
A.02 / IntegrationConceptual
PLATFORMAPPLICATIONNETWORKAUTOMATIONINTEGRATION BOUNDARYCONTRACT BETWEEN SYSTEMS
Boundaries · Contracts
A.03 / DeliveryConceptual
SOURCEBUILDVALIDATEPACKAGERELEASE
Source → Release
A.04 / BuildConceptual
SOURCEARM64X86ONE CHANGE · MULTIPLE ARCHITECTURES
Multi-architecture
A.05 / ReleaseConceptual
PACKAGEV.NARTIFACTSHA-256
Versioned artifact · integrity
09 — How I work
  1. 01 Unknown
    Start with the unknown

    I don’t need to know the answer before I start.

  2. 02 Understand
    Understand the system

    I prefer to trace a problem back to its fundamentals.

  3. 03 Solve
    Figure out a way through

    Then turn what I learned into a practical solution.

10What it taught me

The pattern I keep seeing.

The hardest problems are rarely isolated to one piece of code.

They usually appear where assumptions meet — between versions, between systems, or between what the software expects and what the environment actually does.

I enjoy that part of engineering: starting with something that doesn’t make sense and working backward until it does.

11Next

There is always another system to understand.

Still learning. Still building. Still looking for problems that are worth taking apart.