I don’t mean to suggest that I think they’re geniuses – I know I watch them struggle for hours to fix things at times – but I feel that if I were in their shoes, I would never be even able to do that much. I’ve tried asking them for advice, but almost all of them just try to make me “feel better”, or claim that they do not know what they are really doing as well – that I am “reading too much” into their actions, as it were. I agree that this is perhaps true for some, but there’s no way that they can be so successful without there being some sort of strategy, though they are perhaps unaware of it. So I want to ask you, how does one actually solve problems, in a systematic and clear fashion? How does one solve novel problems without the luxury of being able to read a textbook and learn how to solve them? I legitimately feel so lost and confused, and frustrated with engineering as a discipline – part of me just wants to give up and quit engineering altogether. Should I just accept that it is not my calling, that if I don’t think naturally in a certain way, it is not meant for me?
If you are currently not able to identify the cause for a small effect, start with something really small.
Maybe something like hello world.
What happens when that program runs? Who reads the file? Who compiles it? How does the processor run it? How does the output come back and get printed to the screen? These are the chain of thoughts that you need to go through.
Great programmers are built through only one path that is trial and error.
By trying new things and seeing what happens. After you have been burnt enough number of times because you followed something which other people said was good, maybe clean code or maybe React JS for example, only after that will you become a great developer.
Although I feel like you seem to have a low opinion of yourself, try asking others on what they think how you did in your course and your result will speak for itself.
Becoming a good engineer is a career long achievement I wouldn't expect you to achieve this milestone until you've completed a few professional years.
Also what do you enjoy? Is engineering something you legitly enjoy?
If you haven't any unofficial tutors, start some projects. Exchange about a topic on the net can help too. Still remember that you cannot know everything and everyone had to learn how to solve certain problems. You get better with more experience.
It is just possible that your brain isn't wired for this kind of work, and to my mind there is no shame in that.
You're clearly a decent communicator, so maybe work on that.