When it comes to delegating development tasks – for any developer – that can be a real time saver. Everyone has heard of the ‘4 Hour Workweek’ – whenever a new project comes across my desk I realize that about 60-80% of it can be done by someone overseas that I could pay literally less than $20ph for.
The dream exists – get paid from a large client – outsource 80% of it at 1/10 the cost – reap the benefits and retire to some tropical island.
However the reality of outsourcing – especially with something complex like web development is never as easy as it sounds.
The Issue of Security a.k.a What’s the Worst that Can Happen
Now look – call me paranoid – but whenever I hire someone I think of the worst damage they can do if they really wanted. As far as a developer goes – it’s never as imple as just granting them access to the WordPress site and FTP backend for a number of reasons.
- A developer can plant exploit scripts in your site that you would never even know about – and then trigger those remotely (I’ve had this happen to me)
- A developer can make changes and fix things – but then you wouldn’t know what they changed
Security is important – what I want to do is hire a developer for a small job – give them access to where I need them to work – check their code and then keep them locked out of the main site. Here are the techniques I use to do this:
Delgation Tip #1: SiteGround’s 1 Click Staging to the Rescue
SiteGround has a very useful feature called 1 Click Staging. This allows you to stage any of your WordPress installations – basically what it does is create a copy of your site – complete with its own database. This is very useful – and I call these “playpens” – basically I create a copy of the site and grant a developer access to this “copy”.
Also I should note that when I create this staging site I immediately either create a new WordPress user for the developer or change the password for the admin user. This is obviously because if I kept the wordpress login the same that would create a security concern since the developer would be able to use those credentials to access the main site and get up to mischief (again – call me paranoid but I’d rather be safe than sorry).
The great thing about WordPress passwords is that even if I granted the developer access to the phpMyAdmin for the new database – they would not be able to tell what the passwords are due to the way WordPress stores passwords as a hash.
Delegation Tip #2: Custom phpMyAdmin Page
After creating a staging site – giving the developer FTP access is fairly straightforward. When creating a new FTP account in any cPanel – it will give you the option of exactly which folder you want to grant access to. So this part is fairly straightforward.
The database is a bit trickier though – because most hosts give you access to a phpmyadmin that gives you access to all the databases – in certain development playpens you want your developer to be able to view the database for troubleshooting reasons.
So to do this simply create a new phpmyadmin instance and have the user login with the database username and password (which can be found in the wp-config file).
Delegation Tip #3: Isolate code in plugins where possible
To make things even easier I would ask the developer to create the necessary code in a particular plugin – I might even setup a base function for the developer to start from .This way once the developer completes I can just copy/paste the code from the plugin into my live site (which is really staging site 2) – and confirm it works.
While this may seem strange – sometimes develoeprs don’t really want to let you know what they did to fix the issue – perhaps because they want you to be dependent on them. By isolating the code in a plugin you can avoid this issue.
Delegation Tip #4: Take advantage of Freelancer.com Milestones
This really applies to any freelancing online platform – and they pretty much all have the concept of escrowed milestones. The way it works is like this – you do not – under any circumstances want to pay developers hourly. Rather what I do is simple – I create a task and estimate how much time it would take -I have a flat rate of $20ph that I pay developers. Then I simply advertise that task on Freelancer.com (or send it over to one of my previous developers) – I let them know clearly that I will only release milestones once the task is complete.
If a developer decides to skip on it or feels it’s not fair – there’s lots of developers that will take up the offer. And by having separate playpens for different developers and an ability to quickly create play pens it means I can completely separate my development centres – this is important becase sometimes if you hire one developer you can grow overly reliant on that developer if he holds a bunch of IP.
And you can control your budget because yo clearly explain that the mielstone will only get released once the task is compelte (and many times the tasks are very small 1.5 hour tasks – for which I would pay as little as $30). The developers prefer it this way – they know that they have to complete one minor task – and they get paid.
AirTable Bonus Tip: A Filtered Link to All Open Jobs
AirTable allows me to share a link of a filter – so i have a spreadsheet in Asana of all jobs and I filter by jobs that are open – this way once I get a developer in the fold I give them that link and they can go there and take on jobs one by one – this way I don’t have to explain to developers the help I need – on what projects – they simply have a list that they can go to and pick and choose which one they want.
This is great for developers because they might find a job they don’t want to take on for whatever reason – but another job may look right up their alley. It gives them choice in deciding what they do. Everybody wins.
Hopefully this list has given you some ideas on how to outsource to developers for jobs and replace yourself on tasks that you don’t really need to do. Outsourcing something complex like web development presents several challenges so I hope that you can avoid some of the pitfalls I’ve faced by following this WordPress developer delegation guide.
If you have any questions about this post or any other WordPress topic simply head over to my website – I’m a WordPress designer in sydney – and fill out the contact form and I can get back to you. I work with clients such as George Sten Criminal Lawyers and others in the cosmetic industry. Thanks for reading!