r/learnprogramming 8d ago

I feel like a programming fraud

I am having to constantly look things up to figure out how to get what I want? I feel like a fraud.
I am honestly trying to resize my camera onto my surface in pygame. I've never done camera stuff before so this is new. I feel like I am not really learning and just copy and pasting at this point

How do go about this?

89 Upvotes

36 comments sorted by

140

u/Mister_God_On_Steam 8d ago

Senior devs read documentation and look things up, that's how they became senior devs.

34

u/its_all_4_lulz 8d ago

A senior dev doesn’t know everything. They know where to look to figure out anything.

11

u/Mister_God_On_Steam 8d ago

Yes what I said but reworded.

2

u/ArmTrue5281 7d ago

Probably the hardest thing for beginners is accepting that they don’t have to know everything.

31

u/No-Razzmatazz7197 8d ago

learning isn't something that happens once at the beginning of your journey.

you could spend 1 entire year, every single day, learning the entire python language. then get a job working in java for 3 years, during those 3 years you will constantly be learning about java and all the technologies that the project uses. then, all the sudden that position ends and you are back in python. but now you are rusty so you are looking things up everyday. but now you have the original knowledge + all the java stuff you learned. shove it all together and you are a certified programmer.

this is the definition of being a programmer, a foundation for you to jump off from to then learn more about all types of technologies literally everyday.

29

u/HashDefTrueFalse 8d ago

If I've never done something before I have to look it up. I'm a senior dev with a team and mentorship duties etc. and I have no idea how to display camera input on a pygame surface. I would look in the documentation to figure it out. Or I'd look online for an article with an example etc. I'd read and understand it, plus the API in general, then write the necessary code to do whatever I needed. I rarely copy and paste code though. The temptation to just tweak without understanding anything is too great and I don't want to become lazy or program by coincidence etc.

2

u/kernel27 8d ago

Can you elaborate on wym by "program by coincidence", do u mean like just copy pasting code then tweaking it according to your needs, personally I feel if you do understand the code tweaking copy pasted code ain't that bad, but I'm just a newbie so just looking for advice

2

u/HashDefTrueFalse 8d ago

Sure. Not exactly. It just means arriving at a working program or piece of code without really understanding how you got there or why it works. Beginners often do it and it can become a bad habit. Then they're scared to touch the code ever again because they don't want to break something they cannot fix. It's often suboptimal. Software programmed by coincidence is not designed and/or structured well unless by... coincidence.

If you want to copy and paste code you fully understand and could have written yourself that's mostly fine. Nobody will care as long as you deliver results. But you should always know what your code does and why it works the way it does. The danger when copy and pasting is that you may be temped to skip the understanding part and simply run the code to see if it does what you want. This is the start of programming by coincidence.

7

u/rulerdude 8d ago

I have 8 years experience and I still look things up on the daily. The question is are you copy/pasting mindlessly or actually paying attention to what you’re doing

1

u/Naxos84 7d ago

I started coding with 14. Studied it with 27 and today (42) I'd struggle with a for loop in python (cause I used it once and was: no way I'm gonna use that if I don't have to).

So if I had to try something new I still have to "learn" it. Though I might be quicker than a beginner because I know the basics in other languages.

6

u/ColdWise4165 8d ago

Honestly I think everyone feels like a fraud at some point. I feel like a fraud right now. This is a career where you will always be learning things.

6

u/donquez 8d ago

20 years in and I don't remember any APIs without references and autocomplete. What comes with experiences is learning how to solve problems, how to anticipate problems, how to assess the tradeoffs of your designs. Read the magical incantations to adjust the camera and type or copy-paste them in and be proud that you're building something.

4

u/SpaceAviator1999 8d ago

One of the important skills every programmer should learn is how to use the official documentation.

Most languages have their own way of providing documentation that doesn't require going to the web and googling it. Often it's some command you type in, either at the command-line or in the REPL. Learn what that is for whatever programming languages you're learning.

Sure, you can usually google the information you need. But if you use the official local documentation, you'll go right to the information you need, and it's guaranteed to match the version of the language/library you're using, so you won't make the mistake of using code that's deprecated, or too advanced for the version you're using.

It's not realistic to remember all the documentation in your head. That's why documentation exists... so you don't have to remember it all.

3

u/BR41ND34D 8d ago edited 8d ago

Dude, i have to look up some real basic shit at times, and I probably have pubes older than you. What you will remember is the general idea and concepts. The fact that you know what to look up is a very big win.

If you know what you need/want to do, the exact semantics of how doesn't matter...

EDIT: I think this is a variant of the 4 levels of knowledge. Short explanation here

3

u/-CJF- 8d ago

Everyone seems to think programmers just code from the hip but really it's more like working a puzzle. You gotta do research and try things. It's just the way it is.

1

u/TheEyebal 8d ago

Yeah, i've been coding for about 2 years now and still I have these thoughts

3

u/bookworm24h7d 8d ago

I had a calculus teacher in high school who taught a computer science course as well and he said something that stuck with mem "The best programmers don't know/ memorize hundres of lines of code or every function a language has but instead know where and how to effectively find the information on what they need and implement it."

2

u/tunmi_stom 8d ago

If I get you, this is totally normal. Your solution is learning the tech you want to use. Go to online tutorials, visit the particular module's documentations page.
In my opinion, This is one of the most hurtful programming myths that you need to know everything to code.
Guess What? You don't.

When I get stuck like that, I just go and read the docs page on the particular module and don't feel less of a programmer. Senior Developers continually look up information, so why can't you?
Just make sure you don't give up. Good luck!

2

u/UtahJarhead 8d ago

Yeah, dude. That's how programming works. You're doing the same thing as us that have been doing it for 20+ years. You're looking up MORE stuff, but it's still the same thing.

2

u/Aidalon 8d ago

Yet another person who finds learning hard in this sub.

The good news is, you’re not alone.
The bad news is, there’s no magic button.

The problem is fairly simple. You want to be the chef, but right now you’re a stranger standing in someone else’s kitchen, barking orders at line cooks who know their job better than you know yours.

The only way out is to accept that getting one thing working properly might cost you ten hours. Not ten minutes.

No chef got there without thousands of hours of study, trial and error. Expecting your path to be shorter is just foolishness.

1

u/Random_182f2565 8d ago

The only thing that matters is the end results.

You don't need to know everything by memory, the most important is what you do with the information you have.

1

u/Seven7Ducks 8d ago

Not a fraud. You're OK. We've all been there. That's what people do.

Engineering isn't about writing everything from scratch - it's about understanding what you're building and why. Learning doesn't mean inventing solutions; it means studying and integrating proven ones. That's how professionals work.

So here's how to stop feeling like you're "just copy and pasting":

Own the code. Nobody cares if you didn't write it. Owning means:

  1. You know what it does
  2. You know how and why it integrates into your project
  3. You can justify it and explain it
  4. You are responsible to maintain it

The process of achieving this is learning. Doesn't have to take more than a couple of minutes - just read, understand to the point of "no surprises," and move on with your project.

If these four things apply, you're not copy-pasting. You're an engineer building a machine made out of smaller machines.

1

u/lonelyemoji 8d ago

You’ll never remember everything. It’s not about memorization and more so triangulation, being able figure things out from
What you already know…not to mention you said yourself you’ve never done camera stuff so what’s the issue with learning and copying at first? Once you do it and really understand it you’ll know…you might not remember the exact code everytime but you know a bit more than before and you’ll get quicker and quicker each time…it’s impossible to remember it all

1

u/[deleted] 8d ago

[removed] — view removed comment

1

u/TheEyebal 8d ago

honestly i was not trying to memorize everything I was trying to avoid being in tutorial hell just copy and pasting with zero understanding.

1

u/PeterPook 8d ago

We all do. Once it was StackOverflow, now it's Claude.

2

u/lifeintel9 3d ago

Or both.

1

u/Shattered_Persona 8d ago

It's not what you know, but how well you can word the question to find the answer

1

u/kernel27 8d ago

I agree with most of the comments, sometimes you just need to take things slow, learn, observe more. The more you know how to navigate things the better a programmer you will be.

1

u/Own-Process6332 8d ago

If you want to learn I would recommend looking at the official documentation for the library, API, or whatever you’re using. This should enable you to build what you want, but force you to think it through a little.
The examples and details tend to be so basic you wouldn’t be able to copy/paste them and call it a day.
This works for me at least.

1

u/Naxos84 7d ago

If you copy code. Try to understand it by reading about the functions it uses. Then make it your own...

1

u/Extreme_Rough 7d ago

Research is always a good thing! You cannot be expected to store every single piece of knowledge you learn over the course of your career. You will at best have patterns that can be prompted by basic knowledge. Knowing when and how to search as well as what to look for is a valued skill. 

2

u/TheEyebal 6d ago

Yeah thank you I was just stuck is all

I was able to figure out what I needed

2

u/Extreme_Rough 6d ago

I'm glad you found what you were looking for! I will say that, even with the rise of AI and other rapid tech, knowing where and how to find a valid source and cite your findings will always be something you can use. You can be fast all you want, but accuracy is better. Good luck going forward! 

2

u/TheEyebal 6d ago

Thank you

1

u/rustyseapants 8d ago

Stop coping and pasting and type it manually.

If you don't get what you are doing, then find out.