As a programmer, one of my primary tasks is to represent some domain knowledge. I don't need to be an
expert. It helps, but having a grasp of things is enough. To build this grasp, I use books, references, or you know, a
helpful expert.
I spend a lot of time reading, talking, playing around, trying to understand things enough to be able to synthesize a
good design. After making one, it gets pushed into the feedback loop and sooner or later a next iteration gets the same
treatment.
After, depending on the field, a month, a year, or two, I finally get a good grasp of it. There's always
complexity left, knowledge to process, skills to master, or things to discover.
It's amazing.
All I want to have is pure respect towards the people involved and appreciation to author of references I use and
experts I talk with.
Because of the "meta" nature of programming, I have seen myself forgetting about this basic statement. I have seen
serious iterations of "software will [magically] handle it" and some weird software development messiah complex.
Somehow, I managed to avoid these extremes and I'm thankful for that.
What I didn't manage to avoid is the kind of "cultism" that we have within the programming field itself. X is the
only true way of doing everything. Y is the worst abomination that humankind ever witnessed. You shall never do Z,
because it is wrong, because you shall never do Z.
Of course, these are exaggerated. Yet, how many times did I deny some piece of code or opinion because it didn't
match my usual approach? How many times did I look at 10 or 20 year old code as if it was the worst thing that ever
happened to me? How many times did I discard someone's workflow simply because they mismatched mine? All, a non-zero
amount of times.
I'd rather not. I want to dive into new fields with respect and simple curiosity, and appreciate things as I learn
more. I want to play around with programming languages, paradigms and codebases the same way. And I better not forget.