the last few parts of this larger machine
i'm thankful that i used to have a standing meeting in the middle of the day on mondays and i'm thankful that i do not have that meeting anymore, that i did not have any meetings at all today, in fact, and that for future mondays i have put an all day item on my calendar asking people to try to book on another day, which won't always work but, as i said in the description of a PR that was trying to make our continuous integration tests work more reliably (i'm thankful for the adjective we use for unreliable tests, "flaky," which i know is drawn from the idea of a person flaking out or being a flake but also makes me think of pastry and i'm thankful always to think of pastry), even if it doesn't completely guarantee that i won't have a meeting-free monday, if it makes people less likely to schedule a meeting some of the time on mondays it's still a win.
i'm thankful that though i didn't finish writing the code i wanted to finish today, that's okay and i still feel like i've been accomplishing a lot and am happy with some of the obstacles i found my way past. i'm thankful that i didn't work late to try to finish it, which is something i used to do a lot and still do sometimes but am trying to limit. i'm thankful to not feel pressure to rush and do a sub-standard job of things. i'm thankful not to feel bad about it from a "worried that i'm bad at my job or going to get fired" kind of way (since i think people are happy with me and my performance), but instead partially from a "i said it wasn't going to be a problem to get this done in this amount of time and in fact way too optimistically thought i was going to be done last week and now am not done this week and so i am learning that my ability to estimate the size of a set of tasks needs calibration" and really that's not so bad (since i know it happens to everybody sometimes and it's a good thing to learn, if humbling, and will hopefully help me set more realistic aspirations next time, though i also appreciate the fire an ambitious goal gives me) and instead it's mostly in an internal aesthetic "i want the pride and satisfaction of having laid in the last few parts in this larger machine i've been steadily working away at for several weeks and be able to step back and look at it in its wholeness, see the gears turning."
i'm thankful for the concept in programming of a closure and i'm thankful for closure in the emotional sense. i'm thankful that i feel that i am so much better at writing code than i was six months ago and six months before that and that i see how much better i can get off in the horizon; i'm thankful to grow and to keep growing. i'm thankful for how MFA writing workshop prepared me for the experience of code review and i'm thankful that unlike in MFA writing workshop, when i never ever wanted anyone's advice just praise, i actually look forward to the comments i get, even the ones that aren't just praise (though I like those too) and even the ones that lead to lots more work when i think i'm "done", and i'm thankful for how much i learn from the experience of talking through different notions (i'm thankful that a new engineer asked a question about a particular stylistic choice in another engineer's PR and i gave my guess at why he did it that way and why generally one might and he agreed with my explanation) and incorporating the ideas of others with my own ideas and creating a kind of composite. i'm thankful to like refactoring my code much more than editing my prose. i'm thankful, though i have enjoyed writing "my code" in the past, to now be writing as part of a team.
i'm thankful to try to dispel the biggest misconception i think people have about writing code, which is that it's like math and science, and you know i'm sure there are lots of lower-level areas of the discipline where that's more the case, but also i have never in my life liked math and science, hated them in fact, but i love writing code because fundamentally it's writing. i'm thankful for how it's ultimately, at least for the kind of writing i do, it's not about equations and algorithms (even if you're using them), it's about how do you write in such a way that your lines best represent your intended meaning for multiple audiences (both to the robotic interpreter "reading" your code now in order to run it and to the humans reading your code now and later and much later to try to understand it and borrow from it and build on it) and how do you do that with clarity and efficiency (though that's complicated, since what's efficient might not be readable and vice versa) and how do you bridge between your individual stylistic choices and the different choices your teammates might make (i'm thankful for the engineers who are like formalist poets creating elegant (but sometimes opaque) structures of abstraction and i'm thankful for the people who write in a slightly shaggier but more immediately readable free verse and i'm thankful that i can find virtues in both and can stretch myself in either direction) and how do you manage the fact that these little parts you're working on (because a person can only hold so many lines in their mind at one time) are part of ever-scaling networks of other parts, a tower projecting into the sky—how do you name things and organize things in such a way that those formal choices communicate the most meaning now and will continue to do so into the future.
i'm thankful that even when i have a day like today that might feel a bit dispiriting, i feel fulfilled having this kind of writing be such a big part of my life.
Don't miss what's next. Subscribe to thank you notes: