If you're plugged into the WordPress world, you'll hear a lot of complaints from experienced WordPress professionals about the quality of their novice colleagues, those who have hung out a shingle to offer help to WordPress users. Established WordPress pros can often be heard grumbling about a lack of PHP expertise and a shallow understanding of how WordPress works.
Some of those complaints are legitimate, but I'm a firm believer that there's a place in the market for all levels of WordPress professional, from the novice who sets up WordPress with a premium theme and a handful of plugins, to the expert who can build a custom theme from scratch, develop bespoke plugins, and deploy a WordPress site that can scale to millions of users.
After all, WordPress users vary in ability too. Many business owners are great at what they do but don't have the first clue how to build and maintain a WordPress site. They need someone to install, configure, and look after their website, and there's no shame in providing those services.
That said, novice WordPress professionals occasionally overreach, and in doing so they cause problems for themselves and for whoever manages a site after them.
Not Using A Child Theme
If you want to modify a theme, create a child theme and make your changes there rather than the original. If you edit the original theme, all of your edits will be overridden when the theme is updated. I've encountered panicked site owners who have updated their theme with catastrophic results because the person they paid to build the site didn't use a child theme.
Not Installing A Caching Plugin
Caching can make a massive difference to the speed at which pages load. I've seen no end of sites with page-loads of ten seconds or more that were slashed with the installation of WP Rocket or W3 Total Cache.
Of course, caching doesn't fix every performance problem, which is why this section is really a stand-in for a wider problem — a lack of performance optimization. Speed matters and a little investment in performance optimization can have an outsize effect on user experience.
If performance optimization isn't part of your WordPress installation and configuration routine, it's time to iterate on your process.
Not Enqueueing JavaScript And CSS Properly
WordPress has a system for managing JavaScript and CSS, and it comes with several popular JavaScript libraries already included. If you simply include jQuery, for example, in your template pages, there's a strong chance it will conflict with the version that WordPress includes itself or that is included as part of a plugin. There's nothing wrong with adding new assets to your WordPress sites, just make sure you know how to do it properly.
Managing Their Own Hosting
You can manage your own hosting, and lots of WordPress professionals offer to host as part of the package, but for the most part, they use reseller accounts with established hosting companies. The rare few will manage their own servers, but unless you are a hosting and Linux expert, you shouldn't consider taking this path. It increases the chances that you'll make a mistake, and it can be extremely time-consuming.
Modifying WordPress Core
This is a cardinal sin. Don't do it. Make a plugin or a theme, by all means, but don't tinker with the code of the core WordPress installation. You might have figured out that you can produce the desired result with a tweak to a PHP file in WordPress Core, but if you make changes, you won't be able to update the site without overwriting them, and you'll create a huge mess for whoever has to manage the site after you (This is the sort of thing that makes established WordPress professionals angry).
Novice WordPress users should remember that their more established peers started somewhere, and they probably made the same mistakes they grumble about now. If you're willing to learn and listen to the advice of people who know better, you'll go a long way as a WordPress professional.