Well, i'm not a rocket scientist, but i think you can try to start from defining your playground.
1) What you want to program? What is your inner "engie-kid" tells you?
- Do you want to program microcontrollers?
- Maybe write OS drivers or even own OS, like good God Linus?
- Maybe just some general things like "program to do some calculations because i'm quite lazy and hate Excel"
- Maybe you want to create video games?
- Maybe you are so exited about Web-sites?
For example - my inner engie kid SHOUT LOUDLY as hell that i want to program things that do some stuff in real world. From clock to giant war robot.
2) When you hear yourself you can ask yourself "which language should i use?". Because lets be honest THERE IS NO ONE MAGIC BEST LANGUAGE. Every tool has it's own purpose.
Just try to find out what languages used in field of your interest.
For example. Microcontrollers? C. Maybe C++ (but, please. Don't go C++ madness with bare metal)
Maybe You want create small robot with some kind of raspberryPi. So your device HAVE OS. Well. It still C. It can be C++. But you can also use python.
Maybe it's some tool for automation for some process or you need to process some data in your Linux/Windows/Whatever playground on your PC? It still C. C++. Python. PUT FLAMES DOWN FOLKS! Java or C#.
Maybe it's WEB? Well it's still..
plus PHP and something that i will not say for religious reasons.
3) Start to do basic stuff. Like put "Hello World!" on your screen, or blink a LED on your board. You just need to become fammiliar with basics of your language. Dont worry, programming languages have quite easy rules compare to madness of Grammar and other stuff around any human language.
4) CALM DOWN. Yes, you will not be a rocket-scientist in 2 weeks, so you need to calm down about yourself. You are not the worst monkey on this planet and not a superman.
So main part of this step is to understand that you can do it, but there are 2 problems:
- you try to jump so high that your head will smash ISS. Find smaller project, that say to you "doooo it with mee"
- you just cant figure it out in your head. Try to find parts that are unknown to you. Engineers love to be simple. Maybe this over complicated device have really simple interface? Maybe you horrified about it, but when you will find information about it - you will find out that you need to say "Work, my little slave" and everything will be fine.
And try to figure out how to do it not in programming language. Think like you are the part of whole system. Think more abstract. Like "i need to get this number and put in this calculations".
When you understand what you need to do - it will be much easier to describe your actions in programing language.
And well.. you can sometimes visualize thing in real world. Like use boxes to store rubber ducks that you use like "data" and so on.
5) Don't cry like a Disney princess. You will get mistakes. A LOT. It's scary but it's a good sign that you are progressing.
We always fail. Failure is a opportunity to get a big "AAHHA!" when you find problem.
What difference between expert and beginner? Expert went through a lot of sh...t and failures. Expert will tell you "it's a bad idea" not because he/she is so smart, but because he/she get "Vietnam flashbacks" because they failed as you and now live with this pain and expertise.
Good Luck!