You want to be a programmer and you are struggling for it. Don't worry, it is the way how it works but how your struggle returns to you really depends upon the way you learn, the way you practice and the way you think. You want to be a programmer who makes the logic very quickly and write almost half of the code in mind while studying the problem.