If you want to be proficient in TikZ, I think the best way is to read the manual. I put it on my phone and started at the start. It's general understanding of how 2D graphics systems tend to work and learning how TikZ does things that made me comfortable.
I don't have a single source for LaTeX. Most of the LaTeX I know (which is quite a bit by this point) comes from places like Stack Exchange, which I get to by doing a search to solve a specific problem. I tend to read lots of answers to get an understanding, rather than just using the first one that works; there are often multiple ways of doing things, some better, some worse, some obsolete, some leading to a whole new area of knowledge.
The main thing is just to do lots of LaTeX, and it helps to do similar things over and over, improving how you do it each time. E.g. I've written so many maths exams that I have things like mark positioning, mark totalling, the question table on the cover, spare blank pages, starting questions on even numbered pages etc. all completely automated - but it didn't start that way at all, I just make it a bit better each time. Improving the same lecture notes and tutorials every semester is another.
Working with and improving someone else's LaTeX code can help a lot, even (or especially) if your reaction is "Wow, that's awful! There must be a better way!".
I do lots of Python stuff, but haven't used Jinja. LaTeX is pretty clunky for many things, and I haven't been able to take much advantage of LuaLaTeX, for compatibility reasons.
The manual for tikz exists but I have never really read it.
[1] Some examples here http://www.texample.net/tikz/examples/
The creators of Penrose have this to say in the very first sentence of their introduction: "Typesetting software like LATEX and MathJax has accelerated the pace of scientific communication, but no equivalent exists for mathematical diagramming."
It seems like it would not be much work to add a way to output as eg tikz (or rather, pgf) to this. It could probably output something more low-level too