I like to write my own research software from the ground up. From a practical perspective, this can seem a little silly.
After all, there are very affordable software packages that embody thousands of person-years of work. A good game engine like Unity or UnReal can save you lots of time.
But if I want to explore interactive ray tracing, for example, I will lean toward implementing my own GPU ray tracer from scratch. Which means I need to do a lot more work.
Yet from a research perspective, this DIY approach has lots of advantages. You can only learn so much about cars by driving even the best car in the world.
But if you drive a car that you built yourself, you will learn a heck of a lot about cars. Even if your car doesn’t go quite as fast, and even if the ride is sometimes bumpy.