besides hacking and scripting nonsense as a teenager, my first real lines of code were during my first year of uni around 10 years ago. none of it was complicated.
#include <stdio.h>
int main( void ) {
printf("Hello, World\n");
return 0;
}
but being able to express logic in a repeatable and composable way gave me neuron activation like i'd never ever experienced before. modern psychologists have a term for this, though in the olden days i'm sure they'd say something like "the boy likes trains, let him work the damn railroad!".
jokes aside - by the time i started writing more complex code, and moreover code that actually makes money, i was finishing university and doing internships and graduating into an enterprise company.
many years, and many hundreds of thousands of lines of code later, i had let that neuron activation fade into the background in favour of... making money.
an alternative (ulterior) motivation (motive)
yes, yes.. ok.. i said the secret part out loud, i know we're not meant to talk about it. programming makes money. i wanted that when i was finishing university, and it became a big motivator, so much so that when i actually started programming professionally as a software engineer out in the wild, FAANG inspired salaries became the self-imposed metaphorical carrot, so to speak. i started to forget why i enjoyed this type of work. glimmers of it have come back when i have worked on very chunky and complicated problems, like building a bidirectional database synchronisation system, or redesigning a slow service to be really, really fast.
as a consequence of this amnesia, i was doing certain things on autopilot:
"when i click this button, this data is transformed into a binary format, broadcasted via modulating a radio wave wiggling 5 billion(ish) times per second to my internet router, sent through a deep sea underwater wire made of glass via pulsing light, eventually reaches a data center somewhere in northern virginia, and is persisted across a set of transistors collectively plugged into a server rack".
that's barely 10% of the full picture, and how amazing is that? but i had stopped appreciating any of it, they had become details to gloss over because i'm busy solving a business problem - we're all here to make money, just put the code in the bag pal. clearly, the aforementioned neuron activation stopped being the focus a long time ago. i stopped loving programming.
the god machine and the horseshoe
if you are/were also at a big tech company over the last year, you'll understand the massive psychological shift that has permeated deep within the minds of everyone involved - along with the induced malaise. very powerful AI is here to stay, and in some ways AGI is here (so long as you are willing generously re-define the term 'general').
i can use claude and be blazing fast, 10x faster than i used to be without AI. and whilst that's great for XYZ company i happen to be working for at a given point in time (pun intended), it has only ever accelerated the aforementioned amnesia. sustained use had pushed me so far that i could feel myself stop caring about how computers work. ironically, it's precisely these sustained levels of interaction with said god machine that have in fact enantiodromically horseshoe'd me back to where i started, psychologically speaking.

usage of state of the art models and harnesses like claude have become ubiquitous tools in my toolbox. but at the same time, i've come to realise that i still love thinking and that better AI is only going to make me feel that even more. despite the rather cobbly terrain that was the software industry over the last year, AI has only made me appreciate my own ability to cogitate more than ever before.
i love being able to imagine how exactly the java virtual machine converts my kotlin code into java bytecode and how the java memory model forces the virtual machine to interact with operating system in a way that guarantees concurrency & memory safety. i love thinking about how the operating system's thread scheduler is pausing and resuming threads to run on the physical cores of my cpu and flushing the cpu cache to memory to resolve contention. i love thinking about programming paradigms, and the beauty of declarative versus imperative expression, or the rigidity of functional versus object oriented program structure. the reason any of this is fun is simply because it's fun to know things and it's fun to be curious.
i love programming (again).