I understand that in order to be good at something, you need to enjoy the process of doing it. Otherwise you'll never willingly put enough time and effort every day in order to do it.
I like coding, but I seem to have trouble with the process of learning new programming languages. I didn't have that problem before back in college. If I'm a part of a learning group, the motivation comes from the competition part; I wan't to the the best one in the class. The reward is the feeling of superiority and being the best. It may be a bad way of thinking, but it motivates me and creates results so I don't mind.
The other big motivator is being a part of a team. If someone is depending on me to learn something and create something with that knowledge, the fear of letting someone down will keep me from procrastinating and allow me to get stuff done.
The problem is now that I finished school I have to learn a bunch of different languages on my own, from home. I can't be a part of a learning group, and since I'm doing this only for me, I constantly procrastinate and things move very slowly, and sometimes nothing gets done at all. It is extremely important that I develop the proper thought process in my head that will enable me to learn by myself because a good programmer needs to constantly learn and learn and learn.
I know that I can learn efficiently, and I know what motivates me. Is there any way to "trick" my brain into being productive like it naturally is in the situations described above without the said motivators being present? What do you guys do when you really don't feel like doing something, but just have to do it anyway?
Any advice is appreciated.