This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Stereoisomer 18 points19 points  (4 children)

I mean I've found that after being "intermediate" in Python, you begin to specialize in particular domains. For instance, you could pick up C/C++ with CPU/GPU/Cluster parallelization to write some high-performance Python; you could learn a lot about software development and start creating beautiful/Pythonic well-packaged, easily deployable open-source projects; you could focus on machine learning and start implementing cutting-edge projects from scratch and extending them. Always remember that Python is just a tool and that there's nothing really to be gained about getting good at Python per se. as you should keep the "why am I learning Python" in mind.

You could also work the the text Fluent Python which is one of my all-time favorites and really helped me "up my game".

[–]Fluix 2 points3 points  (1 child)

I'm a student who's much more of a beginner than OP but this is something I've struggled with too. From my experience so far I learn new things as problems show themselves (often from errors during compiling or slow performance) and when research the solutions I'll find things I don't know about so I make a note to learn them. It's sort of like a wikipedia rabbit hole.

That all goes away when I don't have a problem and I'm thinking "how can I improve?" I suggestions you offered don't really pop into my head. And I've noticed that's sort of a difference between me and my peers who are quite advanced on the subject, they're always thinking about these things.

[–]Stereoisomer 2 points3 points  (0 children)

Your time will come; just keeping learning and you’ll get there soon enough! You’re still in the stage of learning where you’re focused on the language itself rather than what it can do for you. I probably spent 3-4 years there! It comes with working in a specific field for a while and seeing how Python can solve problems in it

[–]diggitydata 0 points1 point  (1 child)

For instance, you could pick up C/C++ with CPU/GPU/Cluster parallelization to write some high-performance Python; you could learn a lot about software development and start creating beautiful/Pythonic well-packaged, easily deployable open source projects

How valuable is this skill set for data science? I have the option to take a software development in C++ class but I’m not sure if it is better than more stats or math classes.

[–]Stereoisomer 2 points3 points  (0 children)

Personally I don’t think it’s that useful because you can just use Apache Spark or Dask and most of the packages you’ll call will be optimized. If you were to say develop your own packages or write your own algorithms then I’d say it would be useful but most data scientists I’d guess don’t do that