From my experience:<p>>> decide what are of programming is in your focus i.e. mobile, embedded, web. Choose desired language. Here from my perspective, there is no language which fits for all solutions. Solution can be created almost in every language, but level of struggling with certain sub-task (functions/actions) might be huge.<p>>> Read a books about software engineering - how to write code effectively. This will teach you how to organize your code, how to write function, how to write readable code, how to write psuedocode.<p>>> Read a books about software architecture - here you can learn how to think about application, functionality, usability.<p>>> Learn basic principles like pointers, memory management, loops etc.<p>In parallel you have to write code regularly. It's much better to have real world problem which you are trying to solve. It's very important choose suitable level of difficulty. So do just small steps.<p>I can say programming task at universities are focused on certain aspect of programming or CS. If you are self-learner you have to keep motivated for a long time, so would be fine to have task where you can see and use results. So wouldn't try to solve university home-works. I don't want to struggle with matrix transpose if I don't it at all. I would rather create something which can help me verify my daily outcomes of current full-time job.<p>Or another (my personal) example... I am working with databases, documents, excel sheets, configuration files etc. I hate repetitive tasks. In case of I have to do the same thing at least a three times per week, I am trying to get everything automated, especially in case if it help me minimize effort, shorten time, reduce errors and typos, validate something, make better decisions.<p>It is also good points for my promotion in current or next jobs. HR and manager than look at me as "able to solve business/work issues through programming" than just "be able to program something".<p>(out-of-topic: it's good to have some hard number how you improved something, HR and managers loves story, numbers and savings, but this is another topic)