Bjarne Stroustrup’s book The C++ Programming Language begins with the quote
Programming is understanding.
Many times I’ve thought I understood something until I tried to implement it in software. Then the process of writing and testing the software exposed my lack of understanding
One thing that can make reproducible research difficult is that you have to deeply understand what you’re doing. Making work reproducible may require automating steps that you do not fully understand, and don’t realize that you don’t understand until you try automating them.
Stated more positively, attempts to make research reproducible can lead to new insights into the research itself.
Related post: Paper doesn’t abort