I'm a Linux guy since way back when I stopped getting paid good money to fix windows issues and write code for windows customers. Worse yet, I'm a perl guy when it comes to high level languages and C or C++ would just take too many keystrokes.
I do try to write perl as though it were C, and make it readable, is all I can use as a defense...well, and there's CPAN. I use C or the relaxed version of C++ that arduinos, teensys, ESP xxxx, and so forth use, as those are often single-purpose machines with one goal in life - do something well, and on time (kind of like the linux philosophy without linux, I know).
I use NGINX exclusively, whether on a big box or a raspberry pi, when I need a web server inside the LAN (which is all of them so far). If you have to learn one of the two big ones, it's the easier one, and it's faster.
I use MySQL (yes, I hate Oracle too...) again, it's fast, it's free, and it's good enough. I note there are more or less plug-in replacements for most machines, but maybe not so much for raspberry pies, which is one place I use it.
I use VirtualBox when necessary, if for no other reason than to have a windows around so as to reverse engineer protocols for devices with crappy windows-only code. I still don't like Oracle.
I cobble together hacks from other people's code in their languages of choice, even if they make me throw up in my mouth a little. If Adafruit has a nice python library for something weird on a pi, after all, I can just use Inline::Python in perl and use it.
People new to linux, which at one time was me too - are often messed up by the fact that often you can spend hours googling things, find endless answers that aren't right for the current version or your problem, and then when you find the answer it's a simple one or few word edit in some config file (this is somewhat the case for windows as well, only using the MSDN dox). To help with my own sanity, I plan to backup some of those (usually but not always found in /etc) here too, as an amazing fraction of what has made all the fusor stuff play nice together is actually just configuration setups - I'm at heart a programmer, not a sysadmin, but one does what needs to be done to get 'er done before one's expiration date arrives.
IN general I'm using this board a lot to just backup things that worked for me - it's a nice offsite backup, and the format lends itself well to the "what was the guy thinking" kind of posting that is often even more helpful than the inline comments, which I do attempt to put in my code when they won't be too distracting.
Rule one when looking at my code: search for @@@. I put that somewhere in any comment on code that's either dodgy, surprising, bad practice but I cheated...that kind of thing. If you have a problem...it's likely there.
I deliberately do some bad practices, or at least they would be if "great mind didn't run in the same track" - stuff that would be poison on a team project, like "overuse of global variables". Which if one doesn't know what's valid when, one might write code that clobbers them at bad times and create "funny action at a distance". But hey, it's just me, it saves time (both mine and the computer's) and as the old saying goes "show me your data and I won't need to see your flowcharts" so keeping it all up front isn't always a bad thing, particularly if the names are good (I try, but...).
Why guess when you can know? Measure!