Firstly, thanks for the great comments and suggestions. Its always worth it to ask fellow HN-ers about things and get their opinions.
Secondly, I want to clear some misconceptions that seem to have arisen based on how I worded some things. It was suggested that its foolish to think that once one knows Python, they have learnt all languages. I could not agree more. What I meant was that Python is my language of choice to turn a problem into code. I am not naive enough to suggest that I can solve any problem with Python. Regarding my experience, I first started programming in VB (not even VB.NET, that's how far back my experience goes!), and over the years have deployed applications in C, Java, .NET and Clojure in production. I have familiarized myself quite a bit with functional programming languages like Haskell and Ocaml. I have also worked with SQL and no-SQL databases (25 years is a long time!). I am fully aware of the pros and cons of statically-typed systems, so I don't feel the need to learn yet another statically (or for that matter dynamically) typed language.
And lastly, based on the wonderful suggestions, I feel like I could narrow down my next learning journey into one (or more) of the following. I am stating these just in case they could be of use to someone in the same boat:
- Networks was suggested (thank you!) which really piqued my interest but I am thinking it might be better to get more specific and be intimately familiar with HTTP spec and best practices in API development. Methods to enable an API for any backend functionality seems to be a good skill to possess.
- Documentation - how to easily enable documentation for functionality, and basic tenets of good software documentation. Learn to introduce practices in the team that foster a culture of documentation.
- ML. I have learnt the very preliminary basics of this (using the seminal course by Andrew Ng!) but what I feel might be useful for me is to be a bridge between ML scientists and data engineering (I am a data engineer currently). Basically something related to ML Ops.
Again, thanks for these amazing suggestions. HN never fails me. I am not very active on HN, but hope to help out in future.
P.S: I will also respond to specific comments/questions to clarify. Seems wrong to leave some comments in the current state! :)
Firstly, thanks for the great comments and suggestions. Its always worth it to ask fellow HN-ers about things and get their opinions.
Secondly, I want to clear some misconceptions that seem to have arisen based on how I worded some things. It was suggested that its foolish to think that once one knows Python, they have learnt all languages. I could not agree more. What I meant was that Python is my language of choice to turn a problem into code. I am not naive enough to suggest that I can solve any problem with Python. Regarding my experience, I first started programming in VB (not even VB.NET, that's how far back my experience goes!), and over the years have deployed applications in C, Java, .NET and Clojure in production. I have familiarized myself quite a bit with functional programming languages like Haskell and Ocaml. I have also worked with SQL and no-SQL databases (25 years is a long time!). I am fully aware of the pros and cons of statically-typed systems, so I don't feel the need to learn yet another statically (or for that matter dynamically) typed language.
And lastly, based on the wonderful suggestions, I feel like I could narrow down my next learning journey into one (or more) of the following. I am stating these just in case they could be of use to someone in the same boat:
- Networks was suggested (thank you!) which really piqued my interest but I am thinking it might be better to get more specific and be intimately familiar with HTTP spec and best practices in API development. Methods to enable an API for any backend functionality seems to be a good skill to possess.
- Documentation - how to easily enable documentation for functionality, and basic tenets of good software documentation. Learn to introduce practices in the team that foster a culture of documentation.
- ML. I have learnt the very preliminary basics of this (using the seminal course by Andrew Ng!) but what I feel might be useful for me is to be a bridge between ML scientists and data engineering (I am a data engineer currently). Basically something related to ML Ops.
Again, thanks for these amazing suggestions. HN never fails me. I am not very active on HN, but hope to help out in future.
P.S: I will also respond to specific comments/questions to clarify. Seems wrong to leave some comments in the current state! :)