
Whiteboard before the ticket
I sketch the data flow with the dispatch lead first. Half of the bugs I have prevented were spotted by someone who loads trucks for a living.
I'm Noah Lindqvist. For nine years I have built the services behind trucking and port logistics: booking APIs, dock schedulers and the event streams that tell a warehouse a container is twenty minutes out. I like boring deploys, readable Go and Postgres schemas the next engineer can reason about at two in the morning.
Open to senior or staff backend roles from January.

Each of these ran with me on the pager. Peak load is the busiest hour I watched live, not a benchmark.
| Slot booking API · Brightwater Freight | Go, Postgres, Kafka | 4 200 req/s | 4 |
|---|---|---|---|
| Container ETA stream · Brightwater Freight | Kotlin, Flink | 18 000 req/s | 3 |
| Dock door scheduler · Brightwater Freight | Go, Redis | 650 req/s | 4 |
| Carrier payouts ledger · Kestrel Pay | Go, Postgres | 900 req/s | 2 |
| Invoice scan intake · Fennel Labs | Python, SQS | 120 req/s | 1 |
Warehouses notice every minute of downtime. These are the habits I bring to any team so that the exciting part stays in the freight, not in the incident channel.

I sketch the data flow with the dispatch lead first. Half of the bugs I have prevented were spotted by someone who loads trucks for a living.

Short functions, explicit errors, no magic. If a new hire cannot follow a handler on their second day, I rewrite it.

Most of my reviews happen live at one screen. It is slower on Monday and much faster by Friday.
Every alert names the customer impact and the first command to run. Anything else goes to a dashboard.
Why we picked Kafka over a queue lives in the repo, not in a departed colleague's memory.
I replay the week before Christmas against staging, because that is the week freight systems fall over.
Short write-ups with the numbers left in. Filter by the kind of work you are hiring for.
5 case notes
Two trucks kept arriving for the same door. The cause was a race between the mobile app and the yard terminal. I moved slot claims into a single Postgres advisory lock per door and the double bookings stopped the day it shipped.
Warehouses polled our API every thirty seconds for container positions. A Kafka topic with per-site consumers cut API traffic by two thirds and made arrival estimates arrive about a minute earlier.
Carrier payouts lived in a table that was updated in place. I led the move to an append-only ledger with daily reconciliation, which turned a two-week audit into a two-day one.
Juniors were afraid to wake seniors at night. We wrote a one-page escalation guide, ran game days on Thursday afternoons and made asking for help the expected move.
Scanned supplier invoices queued for hours on Mondays. Splitting OCR into small SQS jobs with retries brought the Monday backlog from four hours to twelve minutes.
Three employers, one thread: software that moves goods or money and cannot afford to be clever.
Own the slot booking and dock scheduling services used by forty-one warehouses. Lead a platform group of five and the weekly reliability review.
Built the ledger and reconciliation jobs that pay haulage firms every Friday. First taste of being on call for money that people are waiting for.
Wrote invoice intake and supplier portals for a small accounting software shop. Learned Python, testing and how to read a stack trace calmly.
“Noah is the engineer you want on the incident call. He asks two questions, runs one query and the room calms down.”
“He rewrote our payouts flow and then sat with finance until they trusted the numbers. That second part is rare.”
“I joined as a junior and he paired with me for my whole first month. I still copy his commit messages.”
Gothenburg is home. I travel happily for kickoffs and quarterly planning, and I work fully remote across European time zones.
Go and SQL every day, Kotlin when streaming jobs need it, Python for scripts and data clean-up.
Not right now. I like leading a small platform group while still writing code most days.
Two months from a signed offer, with a proper handover so my current team is not left guessing.
If your backend has to be right before it is fast, I would like to hear about the role and the system you are running today.
A few lines about the product, the stack and the on-call setup are plenty. I reply within two working days.