Hacker News new | ask | show | jobs
by skydhash 4 days ago
> I derive zero enjoyment from Kubernetes configs, or Terraform, or fucking around with log settings, or screwing around with all the knobs for Kafka. That stuff is agonizing.

The click for me was thinking in terms of outcomes and system dynamics. So I make sure to get a good understanding of the final state. Tweaking without a goal is just playing around, or joyless work if you do not enjoy the process.

1 comments

I suppose.

I guess programming to me was always an excuse to do math, not necessarily to build products.

For me it's the exact opposite. I don't like math. I have very little intuition for it. Programming is not math for me even though people try to tell me that it is.

Programming is my way to create something. It's like drawing or woodworking. It is creative and logical. That's why I don't mind or even like sysadmin stuff. But I know a lot of coworkers that don't like ops and in my company you don't have to do that. We have teams for that.

I've never really been a math person, either, which is why I thought I was going to hate discrete math in college. I mean, it wasn't always the easiest thing ever, but it was a lot more intuitive to me than continuous math. And that's all programming is, materialized discrete math.
When I was pretty young, I saw someone (I don’t remember who actually) show me that an odd number squared is always odd [1].

I remember thinking it was the coolest thing ever to be able to know properties for all numbers, without having to test any of them.

[1] most people here already know this, but for posterity, let’s define odd numbers as the expression 2k + 1. Now we square the expression which expands to 4k^2 + 4k + 1. We can factor this to 2(2k^2 + 2k) + 1. We can set the parenthetical expression to u, so we now have 2u + 1, which looks a lot like our original expression, showing it will always be odd.

I like math. I’ve done engineering in college which included a fair share of it and pursue it for fun. Programming is also not math for me.

It’s formal notation where you’re manipulating things encoded as numbers. Just like music sheets are notation for sound encoded as some symbols. Yes, there is math involved (because numbers) but there’s often a more concrete reason for such manipulation.

It’s not so different than drafting a technical drawing.

I love this comment. I never looked at it that way before. I wasn't able to articulate it but "an excuse to do math" is perfect. This resonates with me.
How do you know what you built is good? That was the pivot for me - I defined it for myself as it’s something that makes a positive contribution to my users.
I take it you aren't programming business CRUD apps? I almost never have to do any math. It would be a delight if I did.
I certainly have done my time with writing CRUD apps, but for the last decade or so, I've primarily focused on distributed systems stuff (usually involving Kafka or ZeroMQ or something), which is a bit more architecturey and I occasionally get to do some fun concurrency theory.

But when doing the more boring CRUD stuff I historically have gotten my math kicks out of playing with functional languages. I got into Haskell pretty early because I liked the idea that the type system felt pretty mathy.