Instead write your code to work with a library, and play around with it to see what works, We can see that on a simple equation you can already get some pretty good speed gains, and when you go to harder equations like stiff ODEs the timing difference goes to >1000x due to stepsize restrictions for explicit solvers. And the extra features like adaptive timestepping, interpolations, event handling, etc. help out a lot too. Using these tools requires less code anyways, so it's generally a good idea. So yes, you should keep in mind the methods you learned in a numerical analysis class as the basis for what can be done, but recognize that those methods are generally not used because production ODE solvers do something quite a bit more complicated in order to efficiently be accurate.