The Roles · Who makes it
Network software engineer
Written from published sources
The engineer who writes the operating system a network runs on. It is software engineering shaped by an unusual set of constraints: the code runs unattended for years on equipment nobody can reach, an upgrade is a maintenance window somebody negotiated weeks earlier, and a defect is discovered by a stranger at three in the morning. The architecture of the platform decides how much of that pressure reaches any individual change.
Who it receives from
- Third-line product support
- Reproduced defects with the evidence attached, which is the difference between a fix and an investigation.
- Product management
- Requirements, priorities, and the customers behind them.
- Standards bodies and specifications
- The behaviour the code has to agree with.
Who it serves
- Every engineer running the release
- Software that behaves as documented, including when something fails.
- Support, at every tier
- Fixes, workarounds and the source-level explanation behind them.
- The platform's own architecture
- Changes that respect the constraints the design was built to give.
What the job turns on
The architecture decides how expensive a mistake is, and the architecture was chosen long before the current engineer arrived. On a platform where every process shares one address space, a defect in one feature reaches everything, so caution is the only available safety mechanism. On a platform where a process can be restarted from a state store, the same defect is contained, and engineering effort moves from avoiding faults to recovering from them. Understanding which platform you are writing for is therefore the first thing to learn about the job.