I wonder How can someone become an expert at python. Even though i have worked for two global banks as an intern but now I’m exploring to land a position in HFT to gain more financial/tech experience to become more well rounded person
I've written python for a living everyday for a few years now. No means an expert but IMO there are two core skills:
Cleanliness and design. Learning and using language features that make code easier to build on, test, and deduce about. Basically writing code that's very nice to humans. Here python really shines.
The second part is writing code that's very nice to machines and runs really fast and correctly. Multiprocessing, writing parts of the code in a compiled language for extra speed, using buffers for speed, async, that kind of thing. Easy enough for specific problems, the issue is that these performance tweaks often make code harder for humans to understand.
Now writing a nice looking and well designed program is fairly easy. Making a really fast-but-ugly program is also fairly easy.
The mark of a real expert in my opinion is combining these two abilities: writing code that's both human and machine friendly. As always, practice makes perfect.
To practice you need to practice both, and on real data. Don't just use toy examples, get your hands on some big messy data that takes hours to crunch. Don't just write toy apps, keep writing and adding features until it becomes a huge stinking mess, then learn from that mess and do it again.
One thing that you can do, and that has landed me a couple of prop offers, has been creating your own trade analysis projects.
I was writing spaghetti mathematica code and had a poor linear algebra understanding when I wrote up an implementation of the concepts in Ganapathy Vidyamurthy's book Pairs Trading. It was terrible code that was 1200 lines of procedural, no functions, no objects code, but they could see that I could hack it when it came to the math, could learn on my feet, and had the drive and creativity to work out problems put in front of me without a ton of handholding.
The additional benefit there is that I got to come in and talk about something that I built and knew intimately during the interview. When they asked me about my Kalman filter implementation I could speak knowledgeably because I built it, the differences between other forms of hedging ratios because these were considered in the book that I'd had to pound into my head. It seems a bit scary to put your work in front of these people with advanced degrees from universities that wouldn't even respond to your application, but it transitions the interview from being asked questions at random to talking about something you put six months of effort into, even if it it kind of sucks too.
Besides the other comments, which are accurate, the two books that leveled up my Python personally are "Effective Python" and "Fluent Python", in that order.
> I wonder How can someone become an expert at python.
I think it's the same as becoming an expert at anything. Lots of practice, and lots of feedback from people who are already experts. The latter is unfortunately pretty hard to find unless you already have a job writing Python.
Think about it this way - if you know Python inside and out, to the point that you can comment on internal design of CPython and it's drawbacks, that would make you an expert.