To be a great coder, you constantly need to learn. After all, new trends in programming emerge quickly and it’s essential to keep track and keep up with them. Is it okay though for coders to look up everything? In schools, you are mostly not allowed to search for the information you need to solve tasks. You need to know it already. Doesn’t the same apply to coding? Reddit seems to disagree.
Use the most powerful academic tools to write better with AI, check for plagiarism and detect AI content!
- Looking up solutions or references while coding isn’t cheating, but a natural part of problem-solving, and even experienced coders use resources to aid them.
- While tutorials can be useful, relying solely on them can hinder your ability to think independently and problem-solve as a coder.
- Making use of online platforms, communities, and documentation can enhance coding skills and keep programmers updated. It’s more about understanding and applying concepts than memorizing every detail.
Cheating is one of the most discussed topics in academia. Teachers try to prevent it and students… Well, mostly try to do it as seamlessly as possible. The International Center for Academic Integrity once conducted a 12-year-long survey which involved 70 000 students and 95% of them admitted to cheating during their school years.
Is this problem the same for all fields though? It’s understandable why cheating in a med school would be troublesome, as these students would someday become doctors who don’t know all the necessary details to treat their patients right. But does the same go for coders and programmers?
One user on Reddit posted a statement that he is cheating when coding. He followed up with the next explanation:
“I’ve been learning coding for months, attending bootcamps and tutorials. However, whenever I try to implement my knowledge in my projects, I find myself constantly researching, which makes me feel like I haven’t truly learned anything. Despite finishing my projects, I still rely heavily on external sources like W3Schools and Google for help. It’s frustrating, and I feel like I’m not retaining the knowledge.”
It seems that the school mentality “either you know everything by heart or you know nothing” has found its way into the OP’s adult life giving him nothing but discouragement. Other Redditors, however, didn’t seem to find the problem with such behaviour at all. So what did they think?
Problem-Solving ≭ Cheating
Schools are primarily results-oriented meaning that getting good grades is what value the most rather than the studying process itself. That’s reflected by all the standardized tests and exams that everyone takes throughout their academic years. In coding, however, you don’t study for an exam. You are trying to find a solution to a particular problem. That may involve looking up different ways to solve it and generally using available resources to come up with the needed answers.
This seemed to be a common viewpoint for many users:
“You are meant to be problem-solving, not studying for an exam. It sounds to me like that is what you are doing too, that is not cheating, this is not school. If you are researching, and not blindly following tutorials then you are fine.”
“Traditional education has too many people believing that using resources is somehow cheating. Even at work, you’re only developing logic at best researching the syntax, the best implementation of an algorithm or data structure. This is all normal. Generally speaking, you’re hired and paid because you can figure out how to solve a problem not for already knowing everything”
“That’s normal. Researching and looking up is a natural part of developing something. Use online sources as a reference for details that you forget or haven’t learned. As long as you’re not using them as a substitute for thinking when faced with a problem that you’re expected to solve on your own.”
“You are only going to retain, long term, those things you do frequently. Everything else you will at some point be doing some level of research. That is programming and not cheating.”
Some even admitted that their lecturers encourage that type of research and teach how to do it properly:
“My lecturers legit tell us if we don’t know something to look back on old code, google it, watch YT videos, Github, w3school etc. One of them was telling us all about chatbot and how to use it and not just copy-paste code from it”
The general idea is, as long as you are using the resources to help you, and not to complete tasks instead of you, that’s what you are supposed to be doing as a coder.
The Tutorial Hell
So, looking up information is not cheating. What about tutorials? Are they okay to use when you are coding? Here, Reddit was a bit more specific, saying that constantly using tutorials is not a good idea if you want to develop as a coder:
“Tutorial hell is where you have developed an understanding of the tools, but lack the ability to decompose problems independently. When faced with new territories you’re like a deer in headlights, you understand the language and the frameworks but you can’t see the path from zero, to the complete project, because you haven’t learnt how to break down that overwhelming goal into manageable chunks, you haven’t learnt to think like a programmer.”
“Depends if this is “I’m not remembering syntax and function names” or if it’s “I’m following along the tutorials and blanking when trying to do anything on my own”. I’d say one of the basic concepts of programming is being able to break a problem down into smaller pieces. From a tutorial, you should be getting familiar with the language/tools and seeing how a problem is broken down into steps that you can accomplish. If you’re just following the steps without understanding why they’re steps then you aren’t learning much that you can take away outside of the tutorials.”
“If, however, you are doing a tutorial where you are supposed to apply what you know and write a program to do X and you google programs that do X, then that’s a problem. It’s okay to search for the key building blocks that you might have forgotten, but the point of the exercise is to have you put those blocks together, and if you skip that part then you aren’t learning what you need to learn.”
As you can see, the problem with using tutorials is that it doesn’t leave much behind in your brain. So, instead of just following a step-by-step explanation, it’s better to break up your coding task into smaller parts and do research on each part separately. It’s also a good idea to not use copy-paste but to write code manually, as this way you will be giving more thought to what you are doing. That way you will not feel like you are cheating.
Those who decide to code after school get confused by the difference in ways of learning. We decided to research how common this problem is. To our surprise, we found a few more discussions on Quora and StackExchange that touched upon the issue of looking up references when coding. Many found themselves doubting their programming skills because of it.
However, in such case programming community agrees that that’s a problem of our mentality that we gained from higher education. The consensus is that all good coders look up information if they need to. Only then it’s possible to do tasks right and to improve your knowledge, as this kind of research will always open something new for you. Someone even said that they would rather “work with someone who looks up things all the time and makes sure everything works as intended than someone over-confident who thinks he knows it all but doesn’t.”
So, if you were afraid to look up bits of code, or even google the basics of your programming language for the 5th time — just do it. You will have a better understanding of coding after it.
Boosting Your Coding Skills Through Online Resources
So, what can you do to actually improve your coding and not just follow the tutorials? There are many resources online that you can use. There are also some other things aside from googling that can help you gain a better understanding of programming:
- Structured Platforms: Websites like Codecademy, LeetCode, and freeCodeCamp offer structured curriculums in various languages, making the learning journey organized and progressive.
- Online Communities: Join forums like Stack Overflow or Reddit’s r/programming to ask questions, share insights, and learn from experienced coders’ real-world challenges.
- Follow Industry Experts: Subscribe to blogs, podcasts, or YouTube channels of renowned tech personalities. They often share valuable tips, updates on industry trends, and best practices.
- Take on Projects: Sites like GitHub offer countless open-source projects. Contributing to these can give practical exposure and a sense of real-world coding challenges.
- Participate in Online Challenges: Platforms like HackerRank or CodeWars offer coding challenges that can test and enhance your problem-solving skills in real time.
Follow us on Reddit for more insights and updates.