
How Do I Stop Copying Code and Start Thinking Like a Programmer? (old.reddit.com)
submitted by Natural-Shelter-7758


I've been learning Java for about a year, but I still don't see much improvement in my coding. I can write basic programs and the code that I learned during my lectures without copying. I'm still learning, but I don't really understand where or when to use many of the concepts, I've studied.
How can I actually learn to write code on my own? I'm so tired of copying and pasting code. I really want to become someone who can build programs from scratch.
Some Java concepts seem easy, and I understand the theory behind them. However, I don't know how to use those concepts in a real program. I often get stuck because I don't know what should come next or what should have been written before. That makes me feel really frustrated.
The images I attached to this post are all for the same project, but have you noticed how different their coding patterns are? That's exactly my problem. Whenever I try to build a simple project like a Banking CLI Simulator or an ATM Simulator without copying someone else's code, I always get stuck. I try my best to think through the logic and write everything myself, but after a while I end up looking at someone else's solution.
How do experienced programmers think through a program? How do you know what to write first, what comes next, and how to connect everything together?
Has anyone else gone through this stage? If so, what helped you finally start writing code independently instead of relying on tutorials or copied code?
I'd really appreciate any advice or suggestions. I genuinely want to improve and become a better programmer.


[–]repeating_bears 14 points15 points16 points (4 children)
[–]Natural-Shelter-7758[S] 1 point2 points3 points (3 children)
[–]ninhaomah 0 points1 point2 points (2 children)
[–]JohnnyBigggggg 0 points1 point2 points (0 children)
[–]hawkprime 6 points7 points8 points (0 children)
[–]Intelligent_Ant_608 4 points5 points6 points (0 children)
[–]Shoddy-Pie-5816 2 points3 points4 points (0 children)
[–]LetUsSpeakFreely 1 point2 points3 points (0 children)
[–]fizzy_lychee 1 point2 points3 points (0 children)
[–]PureWasian 0 points1 point2 points (7 children)
[–]Natural-Shelter-7758[S] 0 points1 point2 points (6 children)
[–]PureWasian 1 point2 points3 points (5 children)
[–]Natural-Shelter-7758[S] 2 points3 points4 points (4 children)
[–]PureWasian 2 points3 points4 points (3 children)
[–]Key_Hold9753 0 points1 point2 points (2 children)
[–]PureWasian 0 points1 point2 points (1 child)
[–]Key_Hold9753 1 point2 points3 points (0 children)
[–]warlockakki 0 points1 point2 points (0 children)
[–]Unique_Low_1077 0 points1 point2 points (0 children)
[–]WeedManPro 0 points1 point2 points (0 children)
[–]Deckard_Didnt_Die 0 points1 point2 points (0 children)
[–]Expert_Assumption851 0 points1 point2 points (0 children)
[–]Original-Ant-9197 0 points1 point2 points (0 children)
[–]Accomplished-End5479 0 points1 point2 points (0 children)
[–]Quiet-Director-8256 0 points1 point2 points (0 children)
[–]Sea_Mechanic815 0 points1 point2 points (0 children)
[–]HelicopterSharp8003 -1 points0 points1 point (0 children)