yacine

software engineer

Switching from IAM to ML is like switching from plumber to plumber

Posted at — Feb 20, 2023 (edit cycles: 1)
im begging u bro subscribe to my substack bro please bro

Transactional high throughput synchronous pipes are probably a little different than high throughput asynchrous pipes. But hey, they're both pipes!

spook Nothing but honest hard work..

What's this IAM thing that every company seems to have?

I had my first run with IAM in my out-of-college job. My boss wanted me to build a notification service. To build it, I first had to do the IAM thing. Take this JWT in the downstream out of the upstream, authenticate it by running it through some provided library, follow some doc the IAM folks put up.. annnnd.. done! Except wait! When QA went down, that meant my dev service would die. And QA was down all the time! Damn those IAM guys!!

If IAM stops working, the world stops working. And if IAM works the wrong way (the onion elves find security holes), your company makes it to the top of orange reddit the wrong way. IAM engineers operate load bearing dependencies on every request of large software companies, [fig 1], and on a long chain of trust that users rely on.

spook fig 1. What I imagine when I think of "every request ever"

I learned a lot from my time as an IAM engineer. How to handle incidents, moving fast without breaking things, login as a state machine, how to hit go to def, how to build an organization, and how to hoist the world. Thanks to IAM, I really know how distributed transactional systems work.

IAM systems need guarantees on behavior. Building these systems is hard, and you learn a lot from them. I'll probably write more about it in the future! If you're a fledgling engineer, or looking for a swtich, I highly recommend entering the space for a few years.

IAM engineer, now ML engineer

I’m making a switch. Instead of IAM, I’ll be working on bringing ML to users. But upon reflecting, I don’t think my job will look much different. Most of the highest value work available is the low level grunt work, and I'm happy to do said grunt work.

For IAM, understanding the cryptographic primitives was important, even if most of the work ended up just being crud monkeying. Understanding the primitives helps grease the wheels - you can see things more clearly, and you can organize the system better.

spook maybe me starting out with applied cryptography makes sense given my (in)aptitude for statistics"

I wager the same is true with ML. I’ll work hard to understand the underlying primitives, relying on people who’ve built expertise to learn faster. But, I’ll do the grunt work first.

I not going from being a cryptographer to a statistician. I’m going from a synchronous crud pipe laying monkey to an asynchronous pipe laying monkey.