Programming is not my profession - this is a hobby. Nonetheless, I have written a few tutorials - some recently. These tutorials were designed for people, who already have a basic understanding of Python and have some experience in programming in general. I was trying to offer something that can bridge the gap between knowing some Python and actually getting something done that works with STEEM.
In this post I wanted to compile broader advice on how to learn Python, or any new language in general. I get very little engagement on my posts, even though I hear people wanted to 'look into this for a long time'. I am trying to explain how you can set yourself up to get off the ground.
The Techlead
First, you should subscribe to the techlead and then first watch this:
the techlead on how to learn to code
And then this:
the techlead on how to learn python
That should have you covered. While it is mostly aimed at programming as a career, I can confirm most of it from my own experience as an amateur.
Projects
To motivate myself to look at a problem for extended periods of time, it helps tremendously, if I have a tangible project at hand. I never wanted to learn Python in the first place, but only wanted to automate specific account operations and then ended up this route.
I suggest you pick a small project to start with; for example a tool to collect certain STEEM data that you can not access otherwise.
Stack
I recommend you start with Python, especially if you just want to learn some basic STEEM functions. I believe it is the easiest to get into without prior experience and it is quite powerful. (Unless you want to focus on frontends and user experience - then you should start with javascript, I guess.)
You will end up picking up bits and pieces of different languages along the way automatically - especially if you work by yourself, that would be hard to avoid.
Design
Sooner or later you might try to get into more complicated procedures, like combining some features; You might need some understanding of system design. This video by some dude named Gaurav Sen helped me a lot:
Designing Instagram: System Design of News Feed
I had to pause at times and look up some expressions, when I first watched this.
I find these videos extremely helpful, especially because he covers a lot of questions that Steemit Inc encountered and made me understand how their design choices compare to services that are not 'limited' by a blockchain.
What is an API and how do you design it?
I recommend you skim through all of his system design videos and rewatch them when needed. The further you progress, the more you will need to understand these concepts.
Help
When asking the internet for help, you might get rude answers. Just be prepared for that, especially if you ask stupid questions. I am still scared to open issues on github. Even I might give you a snarky reply here. It is not the end of the world.
Keep it mind that anti-social skills are very important for a developer.
Congratulations
You now have all the resources to learn Python - Have fun !