I guess programming to me was always an excuse to do math, not necessarily to build products.
I guess programming to me was always an excuse to do math, not necessarily to build products.
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 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.
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.
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.