George Boole introduced the concept of empty set, or "nothing" as he called it, as the complement to the "universe" in his Mathematical Analysis of Logic (1847). His notations for them were somewhat boring, $0$ and $1$ respectively. Cantor wrote in 1880 "for the absence of points we choose the letter $O$". Frege, the founder of mathematical logic, interpreted "null class" as extension of the concept "not identical with itself" rather than a collection of objects, and used $\{\}$ for it. Peano used $\Lambda$ for both null class and "false" in his axiomatization of arithmetic in 1889, but Zermelo axiomatizing set theory in 1908 went back to Boole's $0$, and so did Hausdorff in his influential book Grundzuge der Mengenlehre (1914). Hausdorff was the first to use "empty set" in its modern purely extensional meaning, before him there was always an air of intensional "null class" to it, and even Zermelo stipulates extensionality as a separate assumption. See Kanamori's The empty set, the singleton, and the ordered pair.
The modern symbol $\emptyset$ or $\varnothing$ was indeed introduced in 1939 by Andre Weil, and gained wide acceptance after its use in the Bourbaki volumes.