Programming and coding suffer from a culture that devalues the effort involved in them.
wip stream of consciousness/copies from rants to friends, i will refine later (maybe, maybe not).
I know impostor syndrome is real, hell, I feel it myself but I can’t help but feel that there’s a lot of self-deprecation in the programming community, especially from newbies which causes them to believe jank is the default and alright (myself included when I was starting out). Part of it is funny (haha, load-bearing tomato) but I swear that mindset feels deeply harmful. There’s a difference between someone experienced saying “oh that one was a scuffed solution, but it works” and a beginner to parrot that while not giving themselves the space to grow and really understand where something scuffed is alright or if something robust is needed.
there’s a major culture of self-deprecation around code and programming and that is a part of why AI slop is seen as “okay” in a lot of coding circles. Outsiders hear all the stories about hacky code and other ingenuities before entering the field, kids and juniors grow up in a culture of similar self-deprecation like “bro I don’t even know what the code I wrote last night does” and “coding is an arcane ritual where you sacrifice your firstborn to the machine gods”. The arts and coders are both seen as mostly replaceable by the C-suite and directors who actually hold the power and the means of production in the industry. Art survives because of a cultural value given to “good” art, particularly art that is deeply intentional regardless of the “fidelity” of said art. Code on the other hand, because of its dopey “lmao it sucks” culture does not get that cultural protection for its intentionality
Intentionality towards expressing a statement is art, that’s my super-reductive definition of it and so programming and coding are art
That culture of hackiness and bodging also ends up with a cultural devaluation of institutional knowledge. You may not “understand” or remember the reasons for why you wrote something the way you did last month, but the fact that you did do that means you’re able to tug on those lines to do something now. There exists a process for a system that did not exist before, and future attempts are guided by the successes and pitfalls of that process. Future systems use that code’s understanding for their foundation, and it grows from there, too, that’s institutional knowledge which is only jokingly acknowledged
And with vibe coding, is even less valuable because fundamentally, the ideology of vibe coding is “if it doesn’t work, scrap it all and try again” instead of incremental, thoughtful iteration
The fact that code doesn’t feel thoughtful is a product of the lax culture around it rather than acknowledging the actual thought that does go into iterative problem solving and we should encourage kids to not talk down to themselves like that (while of course, not giving way to arrogance over it). today’s kids are the programmers in tehc tomorrow.
code is the perfect “worker” job: it devalues itself, while still requiring a high level of skill which isolates individuals for being “good”. This creates a dichotomy of “I’m not like those other coders” for the most skilled among the class, and an aspiration for the others to meet that standard while feeling an eternal impostor syndrome while you’re down there at the junior level. Coders end up not valuing their expression the way the other arts do, and it keeps the wheels of capitalism running while crushing whatever class solidarity can be built. a fake meritocracy if you will. it’s telling that in games, it’s often the non-coding roles that are the first to unionize when in reality, we’re all the same to management