Being a WordPress shop, especially in a town like Greenville, NC, we build a lot of websites. And while it can be monotonous, I don't necessarily see it as a bad thing. First off, every site we make is built custom for clients. Each site is a new design, a new layout, and sometimes, new features. But at their core, a lot of the practices are the same from one site to another. This has resulted in us having a sort of lightweight framework that we use when we build our sites. It gives us a solid jumping off point filled with some of our more generic needs that can be easily molded into more dynamic and and site-specific features. But even the parts that stay the same can still get changed.
Sure, some things can't really get any better than they already are. And as a minimalist both in life and in programming, I'm not about to over-engineer the basics just to have more impressive looking code. But there's still plenty of opportunity to improve things, especially considering how fast-paced things are in the world of development.
Over the last few years, PHP has made MAJOR strides towards being a more mature language. New features are being added left and right, and as a server-side language, I don't have to worry about "dumbing down" the code to work on older browsers. I can use the most up-to-date features virtually worry-free.
Now this isn't going to be the case for all of our sites, but often enough, we get sites that allow us to really flex our creative front-end muscles. With web applications, which don't need to worry about SEO and outdated browser support, the sky is the limit. If you think PHP has come a long way over the last few years, JS makes it look stagnant. Moreover, CSS has modern features like flexbox and CSS-grid that make some of those wacky layouts that designers love to throw at us FAR easier to manage.
Yes, I would much rather play with the latest and greatest technologies in the dev realm. But needing to solve modern problems with older solutions puts me into a position where I find things I wasn't aware of. And in the end, providing solutions to problems is why I got into programming to begin with. If I treat restrictions as handcuffs, I'm chaining myself. But if I choose to see them as an opportunity to push myself, I get a lot more out of the experience. As more recent projects have helped me to more thoroughly understand, it's all about perspective.