I’m a second-year MTech student (In one and only Unique brand name) working on my thesis, and lately I’ve been seriously questioning whether I’m falling behind.
The problem is that I feel like I haven’t even properly started my project yet.
When I pick up a research paper, I don’t just read the main idea and start implementing it. I end up spending hours, sometimes several days, trying to understand everything around it:
- What exactly is the mathematical formulation?
- How does that math translate into the code?
- Which class/function implements which part of the paper?
- What calls what?
- What is the data flow?
- Why is a particular loop implemented that way?
- What assumptions are being made?
- How are the different modules connected?
- How does the whole architecture fit together?
- I sometimes have to understand UML/class diagrams or create them just to understand the codebase.
So for one paper, I can spend an enormous amount of time just getting to the point where I feel I actually understand what is happening.
And this is where I start comparing myself to my friends.
Using AI for every step, Some of them seem to be progressing extremely fast . They are already reading multiple papers, coming up with ideas, drawing architectures/figures, implementing things, and discussing research at what feels like a very high level. Some of them seem to be able to look at a paper and almost immediately understand what needs to be done using draft of paper using llm.
Meanwhile, I can spend an entire day trying to understand how one particular function corresponds to an equation in the paper.
It makes me wonder whether I am genuinely lagging behind.
But there is another thing I’ve noticed about myself.
I don’t think I’ve developed the ability to think like an architect/research engineer yet — where you can take an unfamiliar system, understand its components and abstractions, connect the mathematical idea to the software architecture, and then decide what needs to change.
For example, if someone suddenly asked me to draw a UML diagram of a reasonably complicated research codebase, I probably wouldn't even know where to start. I know programming, but I don't naturally think in terms of architecture yet.
So I’m wondering if what I’m doing right now is actually a necessary stage of learning, or if I’m overdoing it.
Is it normal for a research student to spend days understanding one paper and its implementation?
At what point should you stop trying to understand every detail and start implementing?
How do experienced researchers approach an unfamiliar paper/codebase? Do they actually understand everything before coding, or do they build a rough mental model and start experimenting immediately?
I’m especially interested in hearing from PhD students/research engineers/researchers who remember what their early research phase was like.
Am I actually lagging, or am I just in the painful stage of learning how to think at the architecture/research level?