[proofplan]
We show that every value $w$ sufficiently close to $f(a)$ is attained by $f$ in a neighbourhood of $a$. Write $f(z) - f(a) = (z - a)^k h(z)$ with $h(a) \neq 0$ and $k \geq 1$. On a small circle around $a$, the function $f - f(a)$ is bounded away from zero. For $|w - f(a)|$ smaller than this minimum, [Rouche's theorem](/theorems/357) shows that $f - w$ has the same number of zeros as $f - f(a)$ inside the circle, namely $k \geq 1$. Hence $w \in f(V)$ and $f(a)$ is interior to $f(V)$.
[/proofplan]
[step:Factor $f(z) - f(a)$ and choose a circle on which $f - f(a)$ is bounded away from zero]
Let $V \subseteq U$ be open and $a \in V$ with $w_0 = f(a)$. Since $f$ is non-constant and holomorphic, $f(z) - w_0$ has a zero of finite order $k \geq 1$ at $a$:
\begin{align*}
f(z) - w_0 = (z - a)^k h(z),
\end{align*}
where $h$ is holomorphic on $U$ with $h(a) \neq 0$. Choose $r > 0$ small enough that $\overline{B(a, r)} \subseteq V$ and $h(z) \neq 0$ on $\overline{B(a, r)}$ (possible since zeros of $h$ are isolated and $h(a) \neq 0$). On the circle $|z - a| = r$, $f(z) - w_0 \neq 0$, so by compactness:
\begin{align*}
\delta = \min_{|z - a| = r} |f(z) - w_0| > 0.
\end{align*}
[/step]
[step:Apply Rouche's theorem to show $f - w$ has $k \geq 1$ zeros inside the circle for $|w - w_0| < \delta$]
For any $w$ with $|w - w_0| < \delta$, write
\begin{align*}
f(z) - w = (f(z) - w_0) + (w_0 - w).
\end{align*}
On $|z - a| = r$:
\begin{align*}
|f(z) - w_0| \geq \delta > |w - w_0| = |w_0 - w|.
\end{align*}
By [Rouche's theorem](/theorems/357), the functions $f(z) - w_0$ (dominant) and $f(z) - w = (f(z) - w_0) + (w_0 - w)$ have the same number of zeros in $B(a, r)$, counted with multiplicity. Since $f(z) - w_0 = (z-a)^k h(z)$ with $h \neq 0$ on $\overline{B(a,r)}$, the function $f - w_0$ has exactly $k$ zeros in $B(a, r)$ (all at $z = a$). Therefore $f - w$ has exactly $k \geq 1$ zeros in $B(a, r) \subseteq V$.
[guided]
Rouche's theorem states: if $|f_1(z)| > |f_2(z)|$ on a contour $\gamma$, then $f_1$ and $f_1 + f_2$ have the same number of zeros inside $\gamma$ (counted with multiplicity).
Here $f_1 = f(z) - w_0$ and $f_2 = w_0 - w$ (a constant).
Their sum is $f_1 + f_2 = f(z) - w$.
The hypothesis $|f_1| \geq \delta > |w - w_0| = |f_2|$ on $|z-a| = r$ is satisfied whenever $|w - w_0| < \delta$.
The zero count of $f_1 = (z-a)^k h(z)$ in $B(a, r)$ is exactly $k$.
This is because $h$ has no zeros in $\overline{B(a, r)}$ (by our choice of $r$), so the only zero of $f_1$ is $z = a$ with multiplicity $k$.
Therefore $f - w$ also has exactly $k \geq 1$ zeros in $B(a, r)$, proving that every $w$ near $w_0$ is attained.
[/guided]
[/step]
[step:Conclude that $f(V)$ is open]
Since $f - w$ has at least one zero in $B(a, r) \subseteq V$, the equation $f(z) = w$ has a solution in $V$, meaning $w \in f(V)$. This holds for every $w \in B(w_0, \delta)$, so $B(w_0, \delta) \subseteq f(V)$ and $w_0$ is an interior point of $f(V)$.
Since this argument applies to every point $w_0 \in f(V)$ (choosing $a \in V$ with $f(a) = w_0$), the set $f(V)$ is open.
[/step]