Ltd. Pressing No. 182 · Est. 2014

NAJEENNEPALI

NAJEENNEPALI

DevOps / Platform Engineer

“I Don’t Intend To, But Most of the Time I Break Stuff”
a platform engineer’s LP

“I’m lost in the crowd, I’m standing in the line, I’m feeling so doubt, I can’t smile no more.”
(Track 1 — Basically Me)

Based: Kathmandu, Nepal Experience: 13 Years Running

ASide A

A1

Who am I?

I’m Najeen Nepali.

I’ve been doing some version of this for almost 13 years. The title changed, the tools changed, the scale changed, and thankfully, so did I.

I started somewhere around support and networking, moved into systems, and eventually found myself building and running infrastructure, automating things that shouldn’t have to be done twice, and figuring out why production decided to have a bad day.

I’m not particularly interested in technology for the sake of technology. I like figuring things out.

I’ll try something, learn it, get comfortable, get bored, and eventually try something else. Sometimes that turns into Kubernetes. Sometimes Terraform. Sometimes a ridiculous shell script that somehow survives production.

I guess that’s how I’ve learned most of what I know.

I break things. I fix them. I learn something. Then I try to make sure I don’t have to fix the same thing again.


A2

Work

I make complicated things look boring.

“Tears don’t fall.” Still hits, every single time.

Platform / DevOps Engineer @ Diagonal Technologies
Behind the scenes: Kubernetes, bare metal, cloud infrastructure, GitOps, CI/CD, automation, observability, production incidents, and a rather unhealthy relationship with Grafana. I’ve helped run systems that handle real users, real traffic, and real consequences when something goes wrong.

The interesting part isn’t the tools. It’s figuring out what happens when everything goes wrong at once: fixing it, watching the same problem come back once or twice, and making damn sure it doesn’t happen again. There’s a lot more to that story.
2019—NOW
System Administrator / Assistant System Administrator @ WorldLink Communications
This is where it all started: from technical support to getting hands-on with servers, networks, automation, and production systems. I saw the ups and downs, the late nights, the outages, the “why is this thing doing that?” moments, and slowly learned that keeping things running is as much about staying calm as it is about knowing what you’re doing.

A lot of what I know today started here.
2014—2022

Full tour history (available on request.)


A3

Projects

Selected releases. Full discography on request.

“Dear God, the only thing I ask of you is to hold me when I’m not around.” That’s the release-day prayer.
“It just takes some time, little girl.” That’s the hotfix an hour later.

182-01LP

Multi-tenant ERP / SaaS Platform

The one nobody wants to hear about at parties.

Read the full storyShow less

A multi-tenant SaaS platform serving B2B, B2C, and internal operations. The application itself wasn’t the interesting part: running many instances of it without turning every new tenant into another infrastructure project was.

Creating a tenant meant touching a surprisingly long list of things: namespaces, secrets, databases, deployments, storage, monitoring, error tracking, translations, Git configuration, and a handful of other pieces that nobody remembers until something is missing.

So I started turning that whole process into a repeatable, orchestrated workflow. Infrastructure and application configuration became visible and traceable, deployments became easier to follow, and spinning up a new instance became something the platform could handle instead of something an engineer had to remember step by step.

The bigger goal was simple: make a growing platform manageable without needing someone who remembers how it was built.

And, of course, keep it fast. Because apparently “it’s an ERP” is not an acceptable excuse for making people wait.

182-02EP

Live Streaming

My first real taste of “oh, this is actually production.”

Read the full storyShow less

A live-streaming platform with enough traffic to introduce me to traffic spikes, overloaded servers, configuration mistakes, angry alerts, and the beautiful sound of everyone asking why the site is down.

At the time, everything lived on VMs. Multiple services, manual deployments, manual patching, configuration changes, and rollbacks that were much easier to describe than to actually perform. I was still figuring a lot of it out: tuning servers, understanding PHP-FPM and caching, chasing logs across services, and learning that one bad configuration can have a surprisingly large blast radius.

And yes, the site went down on the first day. :D

Not exactly the launch I would recommend.

But that project probably taught me more than anything else at that stage. Every incident made the next release a little better, every failure made me look a little deeper, and every “we should probably fix this” eventually became something I actually fixed.

If I could go back and do that project again with everything I know now? I’d still do it. Just with a much better rollback plan.

182-037″

Travel Platform

My first real attempt at putting a production application on Kubernetes, and another reminder that just because you can run something on Kubernetes doesn’t mean you should.

Read the full storyShow less

The client cared about latency, and the extra overhead wasn’t meeting the numbers we needed. So I moved the latency-sensitive parts back to VMs while keeping some of the platform on Kubernetes, eventually landing on a hybrid setup that made more sense for the actual workload.

It also taught me that deployment isn’t just about getting the new version out. Deploying during peak hours, breaking something, and then explaining what happened is a remarkably effective way to learn why timing and communication matter.

So I worked on making deployments predictable: knowing what was changing, when it was changing, who needed to know, and making sure we weren’t turning peak traffic into a live debugging session.

Along the way came things like image optimisation, caching, and a growing obsession with shaving unnecessary milliseconds wherever I could.

But the bigger question stayed with me:

What belongs on-premise, what belongs in the cloud, and what should live in both?

Not just from a technology perspective, but from the perspective of latency, infrastructure cost, reliability, and operational overhead.

That’s a question I still find interesting enough that I wouldn’t mind turning the whole thing into a thesis someday.

182-04Single

The Weekend Had Other Plans

A compromised app, three time zones, and a security scan I quietly deleted. Non-album, but it happened.

Read the story →

BSide B

B1

Gear

The rig. Signal in, chaos out, hopefully something useful in between.

What I do when it breaks at 2am: no song for this one, just the drill. Slack rings first (kidding, mostly). My brain goes step by step. Logs first. Then df -h. Works every time.

Cloud & Containers

Mostly on-prem, bare metal builds character. Cloud comes in when it makes sense, not just because someone put “cloud-first” in a meeting agenda

On-Prem AWS Azure DigitalOcean Docker Kubernetes
Pipeline

GitLab CI by trade, open to anything else (commitment issues, professionally). ArgoCD ships it; I’m also building a homegrown CD tool for fun, because evidently YAML isn’t enough of a personality yet.

GitLab CI ArgoCD Homegrown CD (WIP)
Platform

Backstage, because if the answer to “where is this thing?” is “ask Najeen,” we’ve already built the wrong platform. GitOps, or it didn’t happen.

Backstage GitOps
Observability

If it’s on fire, there’s probably a dashboard for it. If there isn’t, I’ll build one. If the dashboard is also on fire, there’s always k9s

Grafana Stack ELK Stack Tempo k9s ★
Languages

Enough to script the ops, not enough to call myself a developer.

Bash Python
Credentials

CCNA, 2018: technically still valid; the subnetting knowledge, less so. MSc in IT, joined for fun, still haven’t found anywhere that’ll take it as payment.

CCNA ’18 MSc IT
Infrastructure as Code

If I have to build the same thing twice, I’m probably going to automate the third.

Terraform Packer Ansible
Security

I hope you never have to stand on the side of the road while your phone keeps ringing because something has gone very, very wrong.

Security is mostly about making sure that call never comes, especially when one bad piece of code can turn a small mistake into a very large incident.

I’ve learned that one the hard way.

Vault Kubernetes Security Network Security IAM TLS AWS KMS
Networking

There’s something fascinating about making things talk to each other. OSI and subnetting still make my brain happy; follow the connection far enough and eventually my brain says, “that’s enough networking for today.”

TCP/IP DNS VPN Load Balancing Subnetting OSI AWS VPC

B2

On Repeat

What’s actually running in the background all day.

Track Currently Playing
Why is this manual? Usually followed by automation
What happens if I try this? Sometimes a terrible idea
Production at 2AM Skip if possible
Can this be faster? Almost never satisfied
Learn Something New Repeat indefinitely
Loud Music Volume: unreasonable
Hardcore Metalcore Post-Hardcore Screamo Emo Pop Punk (don’t @ me)

Hidden Track

Frequently asked, mostly by recruiters. Answered in lyrics.

What do you do at an incident?
“Panic!”
Then logs, metrics, traces, coffee, and figuring out what actually happened.
What happens if someone calls you on a weekend?
I had plans to sleep in. Then the phone rang.
“Maybe it’s not my weekend… but it’s gonna be my year.”
🎧 Weightless — All Time Low
What happens when you have to revisit old code?
“Should I go back? Should I go back?”

I do. I regret it. I fix one thing. I discover three more things.
🎧 Asthenia — Blink-182
How do you stay motivated?
“All you gotta do is keep it strong, then move along.”

When the work gets heavy, this one comes on. Volume up. Head down. Keep going.
🎧 Move Along — The All-American Rejects
Who’s actually to blame when something breaks?
I blame the code first.
Then I check the deployment.
Then the config.
Then the env.
And eventually…
“It’s too late, can you forgive me now?”
🎧 Blame It on My Youth — Blink-182
What do you do when production is on fire?
“I’m not okay. I promise.”
🎧 I’m Not Okay (I Promise) — My Chemical Romance
What happens when you realize the problem was your own fault?
“Oh well, whatever, never mind.”
🎧 Smells Like Teen Spirit — Nirvana

B3

Contact

The record’s almost over. If you still want to talk, I’m here.

logo