Swing thinking as if you had no arms

I like thinking of this as: we should write code as if there's no syntax. Fundamentally, what this actually looks like in practice is: for the first four years of writing Python, I was very obsessed with being Pythonic and idiomatic. I made sure that my Python was like Python. I would read about decorators, context managers, and the importance of using generators. I would watch all these Python talks and fundamentally think about Python, and not only Python, but the syntax of Python, like the meaning of whitespace.

It’s okay, like this is super useful because I have these tools and techniques to write code that's easier to manage in other ways. But then really quickly, as you transcend these languages, I write other languages like Java, and I've played around with Haskell. I've written a bunch of TypeScript code. I still think of Python as my first language, but when I write Python, I don't think about Python anymore. I'm not thinking, "Oh, if I use a decorator, someone will know that I'm like a Python developer." Or, "If I use generators this way, they'll know that I'm like a Python developer." I'm just getting things done, and the level to which I need to use certain special tools depends on the importance of the task. I don't need to make things complicated, and for the most part, I should just write code that is as dumb as the work I'm doing. If it needs to be smarter work, then maybe I got to write smarter code. But ultimately, I think it's a waste of effort to be thinking about the language itself. I think that's a big thing I've learned in the past couple of years with writing code: I've let go of the syntactic sugar and the cuteness of things, and I've moved towards just utility and these higher-order things around how code is organized and how code is managed. Through my consulting, I've gone even beyond code to think about how projects are managed, how you move people, how you move time, attract talent, judge people's talent, and allocate capital. These are now like you build software without thinking about the code, to the point where it should be really easy.

Previous
Previous

AGI is here

Next
Next

Trying to understand grief