Estimating likelihood functions entails a two-step process.
First, one declares the log-likelihood function. Then one optimizes the log-likelihood functions. That's fine.
Writing the log-likelihood functions in R, we ask for $-1*l$ (where $l$ represents the log - likelihood function) because the optim command in R minimizes a function by default. Minimization of -l is the same as maximization of l, which is what we want.
Now, the observed Fisher Information Matrix is equal to $(-H)^{-1}$. The reason that we do not have to multiply the Hessian by -1 is that the evaluation has been done in terms of -1 times the log-likelihood. This means that the Hessian that is produced by optim is already multiplied by -1.