Although $f$ is not a surjection (as others have answered) if treated as a function on the natural numbers, here are some tricks to show that $f$ is a surjection if treated as a function on the reals,
$f: \mathbb{R}\times\mathbb{R}\rightarrow \mathbb{R}.$
Consider fixing one of the input coordinates and see what the resulting function does.
For example, let $a=2$, then $f(2, b)= 2b+b^2$. This is a polynomial which has a minimum at $f'(b)=0$, i.e., $0= 2+2b \rightarrow b=-1$. At $b=-1$, $f(2,-1)= -1$. This polynomial has the range $(-1, \infty)$. So we have just shown that the original function $f$ hits $(-1, \infty)$.
Now let $a=-2$, then $f(-2,b)= 2b-b^2$. You can see that this polynomial peeks somewhere above $0$ and its range includes $(-\infty, 0)$.
So, putting the two cases together, we can see that, yes, $f$ is surjective.
Similar tricks of restricting inputs can be used for other functions. Hope this helps.