It’s time for me to interrupt the ordinary programming on this little part of the interwebs that I call my blog and not do the usual schtick with numbers, code and c++-bashing and be a bit more philosophical instead.
One of my favorite philosophers!
I think most of us working in tech, especially if we have been doing it for a while, know quite well what we like, what we think is “good engineering” or dare I say it “clean code”! We have found our bunch of people, our “tribe”, where we tackle similar problems, like the same kind of solutions and feel at home! Unfortunatly we also tend like to fling poop over the fences towards the other “tribes” and not really care where or on who it may land. Im unfortunatly not free of sin here, and you are probably not either!
Sidenote, I really dislike that expression “clean code” with passion! It has no other definition than “code that I like!” so it gives as much information as saying that “red is red” or “up is not down!”.
What I want to say is that I do believe that it is healthy and important to, instead of flinging poop over the fence, maybe having a curious look over said fence! You might not always like what you see, you are in no shape of form required to agree with what you see, but I’m convinced that there are things to learn “over there”.
Even if you don’t agree with a big part of something, there might be smaller nuggets of wisdom that you can apply to what you are doing and that can be applied to how you like to do things. You might see something that put you on a path to rethink or reframe how you think about attacking these kind of problems. It might be so simple as you just got to re-evaluate your own arguments for or against something and that they just came out stronger on the other side?
I’m convinced that most articles and presentations that reach the tech-sphere is written or presented by people that believe in what they are presenting! There sure are some snake-oil-salesmen out there, but not the majority. This thing solved their problem, that solution didn’t work out at all, they found that this way of writing a specific type of code saved them from other problems. Again, you might not agree or it might not apply to your own mental image of what good engineering is but just calling all these people “stupid” and throwing it all out the window is the actual stupid thing to do!
I’m not expecting anything I read today to “completely change how I see engineering”, I think that ship has sailed or it might never have even been possible to begin with (maybe in the beginning of my career), but I’m sure that all the cppcon presentation that I have watched (even if I have sigh:ed loudly and moaned) has given me something. The posts on python dependency management give me insights in these problems and proposed solutions in that space (and a feeling of recognition in where I work!). Getting into zig has been really inspiring, articles on the problems of “personal names” and how different they can be around the world might actually come in handy someday, not understanding anything when reading about Haskell… is a thing? ;)
So go out there, read about what the current problems and proposed solutions are in the world of web dev, what are the cool new problems solved by people working on database-engines, maybe there is something to what the c gray-beards are actually saying… or maybe, and this is actually hard to write, there might be some small nuggets of value in the “modern c++"-space as well!
All of them has given me something and I do think it made me a better programmer with a stronger belief in what I find works for me and why I think it works! There are thing I do not like, don’t see the benefit of etc, but I hope that I have come to these conclusions not by just rejecting everything from outside my own “tribe” but by trying to consume knowledge from a lot of different sources, testing out things in my spare time, write about it here!
Not really sure why I wrote this as it is kind of out of character for me, but as a closing thing, stop the poop-throwing and go out there and try to understand others, have a healthy debate (with an emphasis on healthy!) and remember “you can’t win them all!”… and please tell them I sent you!
Next time, maybe it is time for a “link dump” of things I just found interesting, good or things that just got me thinking in one direction or the other?