Day shift · Aerospace

The decoding line

Aircraft record thousands of signals every flight, packed into files nobody can read. This line decodes them into time series an engineer can search.

A toy version, with the detail sanded off. The blocks are made up and the counts come from the toy.

Landed
0
Waiting
0
Set aside
0
Signals decoded
0
Catalogue cards
0
  1. 01

    Landing bay

    Recorder files arrive from aircraft in bursts, zipped and unreadable.

  2. 02

    Throttle

    Lets a small batch through, oldest first, and only when the decoder is free.

  3. 03

    Seen it?

    A file that has been through before is logged and set aside, never decoded twice.

  4. 04

    Decoder

    Reads raw bits and names them as signals, using the dictionary version the file was written with.

  5. 05

    Lanes

    Signals are split by aircraft group so no lane gets too heavy to search and chart.

  6. 06

    Catalogue

    Every decode files a card saying what each signal is. The newest card wins, so people can find a signal by name.

Why it is built this way

  • The throttle is there because flooding the decoder helps nobody. Small batches finish; huge ones fail late.
  • The repeat check comes before decoding, because decoding is the expensive step.
  • Dictionaries are kept by version, so an old file still decodes correctly after the dictionary changes.
  • Splitting by aircraft group keeps every table a size a person can actually query.

How it feels

I love this work. The challenge is real, I learn something every week, and it is fun in the way hard puzzles are fun.

It is also heavy. There is a lot to remember and a lot of data to look after, and every small mismatch has to be investigated. We are always thinking about compute, and about how each Spark job is shaped.

A win feels great. Then the next project arrives and the pressure comes back with it. Fun and a burden at the same time.

Tea

All workNext: The stockroom sorter