Is my grammar correct for this context-free language?
In dealing with CFGs, it's often useful to work from the inside out. Clearly
$$
S\rightarrow aSa
$$
will generate all strings of the form $a^nSa^n$, for $n\ge 0$. Then all you have to do is allow the possibility that $S$ will also eventually generate $bb$, which we can do by the production $S\rightarrow bb$, giving the grammar
$$
S\rightarrow aSa\mid bb
$$
or, if you wanted to be explicit about the $bb$ central part, you could write
$$\begin{align}
S&amp;\rightarrow aSa \mid T\\
T&amp;\rightarrow bb
\end{align}$$
The problem with your grammar is that it can't guarantee that there will be the same number of $a$s on each end of a generated string.