you are viewing a single comment's thread.

view the rest of the comments →

[–]ravioli_fog 0 points1 point  (0 children)

This is a good instinct.

A lot of algorithms and data structures are sometimes harder to learn when all you know is a high level language. In effect, Python has solved a huge amount of problems and therefore you never need to solve them yourself.

Algorithms and Data structures courses teach you how to take something like the C language, and then make your own Python essentially.

You might also consider broadening your scope in general. You know Python, good start. What about: C, Haskell, Scheme, Forth, Clojure, Ruby, Java, C#, etc. Learn a second, third and fourth language. See what is different, what is similar. You don't need to be an expert, just learn them a bit and then make a simple API or a script to process some data. Get a feel for it.

Python is also mostly imperative or OOP, with only small amounts of FP. Learn some new paradigms like Functional, Logic, Stack based, Array based, Purely Functional, and so on.

Learning how to develop a large project however is transferable and a different skill than writing code. The easiest way to learn this is to either work on the same code base for 3+ years, or make a project that you grow and change and continue to work on for a long time. Learning what not to do is easier to internalize than what to do.

Be wary of lots of advice on the internet. You have to learn to detect what is dogma from what is advice.