If you have ever worked with the Magento Ecommerce Platform, you will know it is a powerful, dynamic, and highly functional platform. Due to this, the code that runs this immensely useful and flexible platform is quite complex. Magento programming isn't just something that can be picked up, even by experience programmers, in a day or two, it is a constantly evolving, highly precise and very complicated framework, which needs a lot of understanding, a lot of practice, and a lot of studying.
Working at a hosting provider which specializes in Magento hosting, I have heard the complaints, the woes, the sadness, and the anger of shop owners who have taken to websites such as Upwork, Freelancer, or any number of 'Freelancer' sites, only to be swindled out of thousands, or tens of thousands, of dollars for substandard, unprofessional, highly volatile code. Not every programmer can be a Magento specialist, yet even beginner programmers offer their services for this, which is quite frankly, despicable.
I have been working with Magento 1 for about 2 years and Magento 2 for about a year. Although not yet certified, (I plan on taking the certification test soon) I do understand the intricacies of the Magento framework and especially the "don't ever do this" coding mistakes that will bring Magento 1 or 2 to its knees. The number one driver for severely decreased performance is programmers that do not know how to work with Magento Collections. You can read about this here: Conquer_the_5_Most_Common_Magento_Coding_Issues_to_Optimize_Your_Site
It is an unfortunate fact, most programmers that say they are Magento programmers, are in fact not, they are beginners looking for a quick buck.
I have even seen agencies and extension developers make these types of beginner mistakes, so if you think an agency will solve your problems, ensure you do your research, ensure you know what you are paying for.
This is my professional blog, which hopefully, provides some insight on how to code for Magento, the right way.