Increasing the social rewards of learning will likely help. There are a lot of ways to do that. You could team up with others on a project or get feedback from others on work you're doing. Show off small projects in Sololearn's Code Playground and see how many people like it. I see in your profile that you didn't publish any codes yet so that might be new for you. Connect with developers or people who are trying to learn similar topics to you. You could ask and answer questions with each other. You've already started doing that with Sololearn's discuss feature but there are also groups on discord that focus on areas you want to learn. facebook has some c++ groups that could connect you with other learners. https://www.facebook.com/groups/cppInPracticeQuestions There should be others for other areas you want to learn. github has lots of public projects that are open to new contributors. git and github would be good tools to collaborate if you can get over the learning curve. The learning curve for git was steep for me and I didn't feel confident with it until using it over a month.