Kind of a random bit of monologue from an IRC channel, but I thought it might be interesting to save and think about sometime in the future.
my very young dev coworker gave me an enourmous compliment today he's all of 25, shithot developer, but also still young and naive anyway, i had written a little script to do something we needed, and he said it was a masterwork and the best bit of code he's seen from our group i was like "what? why?" he said "these are the best comments in code i've ever seen. and the code is neat and clean" i kind of had to struggle to take the compliment i tell this not to say "oh tamara, you're so great" i'm not i'm probably better than mediocre but i'm not great i say this because, in his way, he gave a very depressing, but accurate account of our software what's sort of funny about this, too, is that the majority of the script was repurposed from something he wrote, that i tore out of the rakefile to make a stand-alone script what exactly did i do? wrapped it in a class, connected database records to it, and added some defensiveness to it and the comments i wrote were telling about the things i found while writing that and why i chose to do it the way i did then tonite i was thinking about this code is literature (not literate programming, that's something else) [though related] code is a message, a story it's not really about telling the computer what to do it's about telling *someone else* what the computer is *doing* and i find this further deepens my understanding in the sense of software dev as a craft not just syntax, variables, etc not just algorithms and data but a way of telling other people how to solve problems i've been thinking about this a lot lately it might be because of my elder status/position and it's not just a little of the crap education i'm seeing people give themselves, and places that they go to for help only answering rather mudnane details about sytax errors we learned because we taught ourselves but we also learned because we were fascinated both by the technology itself, and not a little by learning itself i was talking to someone, somewhere, about how people are picking up programming like, it's the "hot new must-have skill for everyone" a life-skill, if you will i don't necessarily disagree with that? and i think there's all sorts of levels, just like, say cooking but imagine if you learned how to cook the way programming is being taught you might be able to survive but i don't think it would be very fun and know it wouldn't be worthy, really, of being called a craft your scrambled eggs don't work, so you send in a message with a photo of the results in your pan to a "eggs cooking mailing list" and wow, you can't *eat* until you get it right part of the problem, maybe a great deal of the problem, is that there aren't places really to learn the craft of it and it is probably different now that it was for us i mean, yeah, i went to uni, you didn't, but i think the learning for each of us was highly self-directed i was writing basic code since 7th grade i think for many people that i've come across that are learning, (maybe espcially php and html) is that they are looking at it sort of desperately as some way of making money? and i think that this slams against my privilege hard because i never went at this as a way to make money i *do* make money at it and i *ask* for money when i do things for someone but it's not like i have to learn to do this so i can make money and that puts me in a position of privilege, surely yet i also see this as, again, a matter of craftsmanship and that acquiring the ability to make money requires a sense of ownership of the skills, knowledge, and tools to solve problems, solve *other* people's problems, by writing software and concomittant with that is the ability to *communicate* *effectively* what you are telling the computer to do, *to someone else* idk i think i've ended up at the beginning or beginned up and the end i *think* this is what has me so excited so *interested* in continuing to learn, to work, and to teach, software development.