Not Understanding everything

Hello fellow campers! I hope you guys are doing greate!

I don’t know exactly if this is the right place to post this, but here we go:

I’m on my first internship of my life (hooray), working for a professor of mine on a platform of his. I’m 2 weeks and a half in and close to ending my first assignement. I was working on a functionality and I had to perform a very (well, maybe not so much) query, with multiple JOINs. I’m coding in Java/Spring using JPQL and this process took me like, 5 days. It was an enormous challenge for me and just now all tests have passed, so I already made my first pull request (yesterday)!

The thing is, this task was super complicated for me and I was just reviewing it today and while I checked my query and the methods I’ve implemented things were not so clear to me, like, I did this yesterday and today I’m not able to follow my own lines of code! I’ve comments on everything, but this query specifically is really hard to follow!

This got me really bad, because I thought that if I made this work I should be able to tell how it works! Am I the problem? Like, is this normal or expected? Or am I doing something wrong?

Sorry if the post is out of place and sorry if I don’t feel grateful, I’m actually super excited, but this got to me really badly!

Well, thanks for you time and for reading this little rant of mine! God bless

2 Likes

Coding is complicated, you do not learn automatically everything you look at once, it takes time to internalize things

Hello!

You made it work, that is what counts in the end. Talk to your professor about your experience, you might learn that you both share that experience.

You are not alone in this, code is abstract language not following the rules of human language and it takes time to train the interpreter in your mind.

I wouldn’t worry about it too much. We all forget code we wrote yesterday. Many times I look at programs I wrote a while ago and I’m like, “Man, how did I do that?” Don’t worry - you’re not getting dumber since when you last wrote the program - you just have to get used to abstract reasoning and also get comfortable staring at all those symbols, numbers and variables. What’s most important is that you keep working on new projects. Many times as you code you’ll come to a problem you had in the past and suddenly you’ll remember what you did before. It’s all about entering the coding mindset, which takes a while and comes and goes.
That being said, I’m very much a beginner myself and I barely know Javascript and queries, so take everything I say with a giant grain of Himalayan salt.
Just know that you’re not abnormal or strange, and that you’re doing great, actually, with such success so early in your learning journey.
Nicolas, 17

Welcome to the world of coding.

Now, just imagine how bad it gets after a couple of months. Or when reading other people’s code.

Readability can only take you so far, but you will appreciate any extra effort you put into it over time.

Accidental complexity is something you can try to avoid. But if it is a complex problem, the code will be complex (essential complexity) and there isn’t much you can do about that.