We get asked about custom development development quite a lot. Unfortunately, we don’t have enough manpower to accommodate everyone. Fortunately, we know a couple of companies we can recommend – and we do. Unfortunately, not everyone listens to our recommendations. That can end with catastrophic results.
Let’s start with the basics first. You want to start your own website. At the very least you install some plugins. Follow some tutorials get everything setup and you’re done. However for many a time will come when they need to have something done that just does not come out of the box in ready-made solutions. Here’s where custom code comes to play. Thankfully WordPress its plugins and themes are open source and you can use custom code to fit your particular needs. You can’t code yourself, you turn for help of someone with expertise in this area, obviously.
You wouldn’t redo the whole plumbing system in your house without the proper know-how, would you? Well if you’d attempt that, you’re definitely brave. Not so smart, but brave.
Before you go ahead and hire developers to do the work for you start with asking yourself a few very important questions:
- Is this really necessary and does it solve a real problem you have?
- Will you get back your potential Return On Investment?
- Is there a ready-made solution you could use?
If it’s really necessary and there’s no existing solution, then yea. You need custom code.
Trust is everything
Initial development of some custom code usually does not require access to your production site or server. If you need to have N integration created between PeepSo and EasyDigitalDownloads, your contractor just needs the specs and the 2 plugins to get started. Testing the integration is a different thing, though.
Whoever you choose may need to have (in many cases) access to your website and / or server itself. That means pretty much unlimited access to all of your data. Including but not limited to user information. If it’s not clear, it also includes any and all intellectual property that you might have there. Are you running an online store? You do remember all those API keys you have exchanged with your payment processors, right? They’re usually stored as open text in the configuration of your payment plugins, DB etc. That’s very sensitive data. There’s a workaround, though.
One of the most basic rules ever: A SANITISED STAGING SITE. Don’t provide full access to your production environment to people who don’t have to have it or you don’t trust with your life. A sanitised staging site should have (in my opinion):
- All vital API keys removed.
- All WP user emails changed. A good idea is to run a DB query changing their emails to: @fake-domain-for-staging.com
- Limit the site so that it can’t send out emails – so that users don’t get any notifications. It’s necessary, as some plugins like EDD keep their own user file with their emails and are sending notifications to those emails instead of the WP user email.
- Set the site so it’s not indexed by search engines.
- Set the site behind maintenance mode so that visitors / guests can’t view it.
- Set a different DB login and password. That information is stored in the wp-config file and you need it to be different.
- If you’re paranoid enough you can also change all administrator passwords on the staging site so that they’re different than on production site. Heck, you can do that for all your users.
There are probably more ways to ensure security of your staging site.
Experience, code quality, price and licenses
There are a lot of companies and contractors out there. Every single one of them is fighting for your business. Many people pay attention to the price first. Why wouldn’t you? However, is it really the key or only factor you should consider? Most certainly not. In fact, personally, I’d run away screaming from the cheapest offers. It’ll become very clear why as you read more.
Experience in the area you need help with is key. Why? Because where a given job takes 1h to someone with experience, it’ll take 10h to someone with no experience. They have to learn somehow, do you really want it to be done with your project as the training grounds?
When you hire someone experienced – and at the same time more expensive – you’re not paying them for the one hour it takes them to complete a given job. You’re paying for the years of their experience and expertise. It might take them just 1h, but they’ll do it properly the first time – that’s because they spent years perfecting their craft. This is universal, it applies to nearly any professional out there and is not limited to programmers.
Code quality is one of THE MOST important things there are. So many points and examples that could be given here. Let’s start with the basic things that code quality impacts.
- Extensibility – well-written code should be easy to modify, improve, add-to without the need for a complete rewrite.
- Performance – well-written code runs smoothly with no unnecessary, inadequate or inefficient structures.
- Maintenance – well-written code is easy to maintain. As technology progresses code needs to be updated for example to be compatible with the latest PHP version.
- Security – well-written code is as secure as it can be. It does not leave wiggle room for any tampering.
- Comments – well-written code is commented well enough for future reference and other developers to understand it quickly without the need for reverse-engineering the whole thing.
Granted many people can’t write code well enough to judge the quality of other people’s code – that’s why we hire contractors, right? That’s why those contractors must be experienced and trustworthy.
Two examples on how to operate on time bad vs good. I won’t get into the details of the two examples or even try to explain why the bad example is bad. Just trust me on this, you don’t ever want to see anything like that anywhere near your project.
Price is important, of course. It’s something I already touched on above when talking about experience. You never want to go over your budget. At the same time you should never go for the cheapest option. Not knowing how to code yourself is not an excuse to not do your research about a company or a contractor you want to hire.
You can always ask a potential contractor about their experience, past projects, some references. Contact those past employers and ask them about their experience. If that contractor did a website or an app, ask for links so you can check their work yourself, look at it, experience it.
There are tons of examples where being cheap ends up backfiring and being more expensive in the long run. Consider this. You hire a son of your cousin’s aunt who can do it ‘for cheap’. He takes his sweat time and a job that could’ve been done in hours stretches to weeks. Weeks of going back and forth. Micromanaging, testing and frustration along the way is something you just need to deal with. Once it’s done. It’s slow, but somewhat works. You go to production with it. After a month, a new version of WordPress comes out, that software is incompatible so you’re stuck on an older WP version.
Time goes by, you’re still stuck on old WP version, can’t upgrade other plugins, can’t upgrade server stuff like PHP. Your website becomes a liability. Since you can’t upgrade to latest versions. The son of your cousin’s aunt can’t help you anymore as he has school. You somehow endure, tell yourself, if it works, let it work. A vulnerability is exposed in the old WP you’re using. You can’t upgrade or your custom code won’t work. You get hacked. Project is lost. You’re out of thousands of dollars in sales, even more in liabilities, unhappy clients, bad reviews.
But hey! It’s ok! You have backups. You finally hire a professional. That professional after examining the situation and the code comes back with the obvious: you need to have it all rewritten from scratch. Now you spend thousands of dollars on rewriting the code, migrating badly placed database data, optimising it all, upgrading and securing the whole website.
Instead of paying a professional to do the job right the first time, you end up paying tens of thousands of dollars more. On top of that you have stress, grey hair and insomnia. More often than not, the badly-written custom code is responsible for hacks. This example is just to show that even an outdated WordPress version might be your downfall.
This might be a little segue from custom code but focusing more on web developers. Let me preface by saying that fortunately we don’t see this very often. Sometimes, there are ‘web developers’ who are creating websites, communities for clients using illegal / cracked / nulled versions of software. PeepSo included.
Someone is contacting our support saying: X does not work. We try to do our best, check everything just to discover that it’s an outdated, hacked version of PeepSo. Our hands are literarily tied and our support cant do anything without the client purchasing the license and installing the latest versions of our plugins.
Which brings me to a very important point: buy your own software and licenses. Get a list of necessary software from the developer. Make sure it’s definitely necessary first. Then go ahead and buy those licenses yourself. Especially if a given project is supposed to be a one time deal rather than an ongoing partnership.
Unfortunately, not everyone has the budget that’s necessary to get the job done right. What then? Well, compromises need to be made. However, compromise does not mean get the son of the cousin… Compromise might be time waiting, saving money for a professional.
Perhaps contact some plugin / theme developers with suggestions for features. You don’t always have to start with custom code requests. We do take suggestions, when they make sense and we see that many communities could benefit from a given feature, we try to fast track such requests. For others, there’s longer wait, but we do get them done. Of course we can’t speak for all plugin / theme developers out there.
Developers we recommend
There are a couple of development companies who we can wholeheartedly recommend. They definitely have experience with creating solutions for PeepSo whether by tweaks and code snippets, creating plugins, themes or integrations. For big scale projects we wholeheartedly recommend 9seeds.com – they will take a very good care of you. There’s also WBCOM Designs with a bunch of plugins and a theme for PeepSo. Cminds are another example of people who have experience creating solutions for PeepSo.
The conclusion is pretty simple, in my opinion. Should you REALLY NEED that custom code… Try reaching out to relevant developers with feature requests first, who knows, you might just get lucky. If not, hire someone who you can trust. Someone who is within your budget. Above all else, someone who knows what they’re doing.
If you have feature requests, by all means do contact our support. We do welcome them.
Don’t have the Bundle but you would like to have access to all current and future plugins hassle-free?
Check our offer!