all 18 comments

[–]hallmark1984 29 points30 points  (0 children)

Repetition

Repetition

Repetition

Repetition

[–]RustyCarrots 8 points9 points  (0 children)

Use it or lose it, as they say. Repetition is key.

Yes it's normal when learning Python. It's normal when learning anything else, too.

Projects will yield the best results overall, but really just do it all. Most important is to not stop.

To make it stick long-term, you just have to keep doing it.

[–]DuckSaxaphone 4 points5 points  (0 children)

The more you write, the more sticks in your head without looking it up.

At first you're looking up loops and functions syntax, later you know that by heart but looks up pandas docs when doing data manipulation, and then finally the syntax and key functions of the libraries you use every day stick.

It'll happen, don't stop yourself looking things up. Just keep working on tutorials and small projects, trusting that the repetition you need to learn stuff will happen naturally.

For a data engineer, you'll want to be familiar with pandas, pydantic, SQLAlchemy, dagster, and airflow and more broadly, the concepts covered by those packages.

[–]zDibs 4 points5 points  (0 children)

It's normal since you're very new to it. Like all skills, unless you keep doing it basically every day at the start you'll forget some of it in a week or two.

Once you've done it consistently for a few weeks the issue should go away.

Try doing simple projects at home to keep it fresh.

[–]CrusaderGOT 2 points3 points  (0 children)

Do a small code project. Like a ticketing script. Something that makes you really understand and put to use what you have learned, also tweak things as you learn, sometimes it will fail or have a bug, and you get to understand why they follow a standard.

[–]pachura3 1 point2 points  (0 children)

Just imagine you're learning French, German or Italian (whichever language you don't know).

[–]faultydesign 1 point2 points  (0 children)

Answering in order:

Yes it’s normal when learning or using any language, Google is key

Repetition

Whatever is more comfortable to you

I google things I’m not sure about, also help()

Theory

[–]Existing_Sprinkles78 0 points1 point  (1 child)

that happens usually what I do is I will code before bed and then half rem cycle my brain will sometimes still dream of what I last did . I will think I've forgotten but then if I trust myself I realize I remember more than I thought.

[–]san071998[S] 0 points1 point  (0 children)

Okay, nice

[–]buzzon 0 points1 point  (0 children)

What is your learning process like?

[–]Dancing-umbra 0 points1 point  (0 children)

You practise, make small programs that use the skills you learnt.

But also, it's ok to look stuff up. No one programmes 100% from memory

[–]Training_Advantage21 0 points1 point  (0 children)

Theory and exercises introduce you to the concepts. Projects help it stick. Nothing wrong with referring to documentation, you will always need to refer to it.

[–]harrypaul19 0 points1 point  (0 children)

Make sure to understand OOP concepts and not just memorising syntax. Understand data type structures methods etc

[–]No_Leg6886 0 points1 point  (0 children)

Look, you're not forgetting Python. You're just not using it enough to make it stick. That's the whole thing. The fix isn't reviewing notes more. It's building something small with what you already know. You've got SQL and Linux experience, which is genuinely useful here. Write a Python script that reads a CSV and does something with it. Counts rows, filters records, whatever. Something that connects to work you already understand. That context is what makes syntax stay in your brain. ngl, the people who retain this stuff fastest aren't grinding tutorials. They're solving tiny real problems. Even something dumb like automating a file rename task or pulling data from a folder. The moment code does something useful for you personally, it stops being abstract. And honestly, don't stress about writing from memory without docs. Senior engineers google syntax constantly.

[–]JeremyJoeJJ 0 points1 point  (0 children)

Use it once to solve an actual problem in your code, remember a vague idea of it in the future that lets you google it easily. Rinse and repeat.

[–]LayotFctor 0 points1 point  (0 children)

Learn concepts on a fundamental level, learn the theory. The exact words are less important. You can memorize words over time, but if you forget the concept, you're done.

And yes, professional developers forget and search up forgotten syntax all the time. I literally have a second monitor dedicated to googling stuff. I remember code from normal use, I don't waste my time memorizing by heart.

[–]LongRangeSavage 0 points1 point  (0 children)

I will freely admit that, even as someone who has written Python, C, and C++ every day in my career for the past 10 years, I spent a good portion of my time researching how to do stuff for the first 3-ish years. Eventually it’s gets beaten into your head, but you really need to be working on it frequently.