How to find the tangent plane to a given point on a surface?

How can you find the tangent plane to a given point on a surface? (Verbal descriptions preferred)

I'm thinking you can find the "vector versions" of two directional derivatives (maybe the partial derivatives $f_x$ and $f_y$ would be simplest) and then take their cross product, and that gives you a normal vector to the tangent plane. But (1) how would you write said partial derivatives as vectors, and (2) are there other, more convenient ways of finding the plane?

(Saw some very similar questions posted, but they were all about specific problems and I didn't really get the explanations)

Let $f(x,y,z)=f(\vec r)=C$, where $C$ is a constant, define a surface.

Then, for any curve $\vec r=\vec r(s)$ on the surface, we have $f'(s)=0$. By the chain rule we have

$$f'(s)=\nabla f(\vec r)\cdot \vec r'(s)=0$$

Thus, since $\vec r'(s)$ is tangent to the surface, the gradient at any point on the surface is normal to the surface there. Thus, the normal to a tangent plane at $f(x,y,z)=C$ is given by $\nabla f(x,y,z)$.

Let $\Phi$ be a parameterisation for the surface $\Sigma\subset{\Bbb R}^3$. This is a map $\left(\begin{array}{c} v\\ w \end{array}\right) \stackrel{\Phi}\longmapsto \left(\begin{array}{c} x\\ y\\ z \end{array}\right).$

Suppose that the point $a=a^1e_1+a^2e_2$ of ${\Bbb R}^2$ in the domain of $\Phi$ is mapped to $p$ in $\Sigma$.

Then the linearisation of $\Phi$ at $a$ is $$L(v,w)=J\Phi(a)\left((v-a^1)e_1+(w-a^2)e_2\right)+\Phi(a),$$
where $J\Phi(a)$ is the jacobian derivative of $\Phi$ evaluated at $a$. The map $L$ allows you to parameterise a plane which is tangent at $p$ to the surface $\Sigma$.

Note that $L(a)=\Phi(a)$.