I really like "Engineering a Compiler", but it's probably not the best first book for implementing a programming language. It's primarily a textbook for backend optimization. It covers just enough front end to feel like a complete book, but you can tell the authors assume you've already taken an undergrad class in compilers before.
It is an excellent second or third book after you have a working compiler and you want to start understanding how industrial-grade compilers make code go fast. It's the best textbook I know on optimization. Most other compiler optimization material lives in academic papers, which can be scattershot and difficult to absorb.
One of my goals with "Crafting Interpreters" was to give people an intuitive feel for PL implementation so that they are better prepared to approach deeper works like "Engineering a Compiler".