Для начала поиграйтесь с алгоритмами, Типа цепочек действий программы - это даст понимание потоков данных в функциях. К примеру напишите алгоритм чисел фибаначи или факториала. Попробуйте эти алгоритмы перенести на язык программирования, тут узнаете тонкости языка. Можно почитать про проектирование интерфейса программ (не визуального, а кода) - чтобы не думать в какой файл впихнуть какую функцию и почитать про различные стили написания кода. А как себя заставить - все просто, придумайте цель. Скажем приложение для телефона, возможно нехватает функции в вашем устройстве, мативация это двигатель. Я много знаю кто читает, смотрит, слушает - и не может написать 5 строк кода. Я сам год писал копипастом, потом уже стал понимать механику. Тут нет тех кто родился с клавиатурой в руках. Вообщем просто начните