A working dev should be well beyond the understanding of a third-year CS student. This is not "advanced" from the perspective of someone in practice, it is the requirement to get in to the practice.
(I know people get programming jobs without CS degrees, but if you can do that, you can teach yourself how pointers work)
I am in a similar situation having a lot of working experience but only in a specific domain (web), and no formal CS education.
I only used pointers in one specific context, while working for about 3 months on a Go codebase. I was able to get my code working without too much trouble, but pointers were a source of some headscratching for me out of ignorance and tbh I didn't work there long enough to fully learn or internalize it... I vaguely remember adding a * or & here or there to make things work.
I've been interested in some kind of class or learning reference for some of the more "CS" topics that I don't use but would still be nice to learn. I started an OSSU course or two but haven't made much progress since I get bored when they go over some fundamentals that I already feel confident on.
I'm familiar with C/C++ and how pointers work, but that part of my mental knowledge never comes into play when I write python code, whether Django or not. And I've written substantial code in these two environments, they don't really intersect.
I mean, maybe once in a couple years you'd run into some weird problem that requires deep knowledge to solve, but "severely limits" might be a bit of an overstatement. (And might be some form of unwarranted gatekeeping IMHO.)
Everyone has limits/gaps in their knowledge, while C and pointers are part of the standard curriculum for CS degrees, not everyone has to be such cookie cutter devs (as long as they do their job and their employers are happy)
When the OP said they "have no idea how pointers work", I took that to mean they don't know know anything about how memory works. Why does does copying this array, not copy the contents of the array. Why does accessing a random value in a linked list take so much longer than accessing a random value in array. What happens when I reassign a local variable.
Developing an underlying mental model of what's actually happening is so much more effective than treating a programming language like a black box.
As far as "severely limits", there are many jobs where you could spend your entire wiring together libraries and asking more senior developers for help when you run into edge cases. But if you want to be one of those people who gets called in to help, you need a basic understanding of memory indirection. You don't need to understand pointer syntax in any specific language, but you need to have some understanding of what happens when you type x = [1,2,3].
At many tech companies, I doubt you could even make it passed the interview without a basic understanding of what a pointer is.
What sort of problems would you need to be doing in Python that aren't already done by libraries like NumPy which would require that sort of mental model?
The only thing that comes to mind would be memory leaks in long running applications caused by your data structures having some link to a link to a link that prevents temporary data from being garbagecollected.
I expect you're much closer to understanding pointers than you think. If you know the difference between a deep copy and a shallow copy then you understand the principle.
If you struggle with pointers and direct memory manipulation in C, you didn't understand Java nearly as well as you thought you did.
There's a distinction between reference and pointer in C++, but in Java they're basically the same thing with roughly the same semantics, up to and including the ability to be null.
In mathematics first year students who have started specializing already have knowledge that PhDs in other mathematical specializations don't. CS is exactly the same.
You can't teach Joy to someone who has only programmed in JS any more than you can do the reverse. The difference is that we have a lot of people who have learned only algol derivatives and don't understand just how _weird_ the zoo of non-standard languages is.
Right, "advanced" into their studies, they weren't freshman but almost done with their bachelors degree.
And yeah, I believe that most developers can learn pointers and FP, sure, but on the side with pair programming and "mob programming", while still working a full time dev job?
Depends on the company. Where I work, the answer is yes. Work/life balance is heavily stressed, which has been a surprise. However, when I started my career, it was with the expectation that staying up to date with technology would require some personal time. I don't personally know anyone that didn't start a technical career without that expectation.
(I know people get programming jobs without CS degrees, but if you can do that, you can teach yourself how pointers work)