When you’re messing around with tech stuff, websites and programming – I think you need to know your limits.
In two ways really. Some stuff is just fun to do so you’d rather do it yourself. Even if it made more sense to pay someone else a few dollars to do it for you. Other stuff is simple beyond your abilities and you’re probably better off just handing it over.
It may not be that simple though. Say you need to install a WordPress website but have never done it before.If there is a decent probability you’re going to be installing other sitesin the future, then it makes sense to learn how to do it yourself. Sure it will take longer, but once you know how, all the future Wordrpess installs will go much quicker. But if it’s extremely unlikely you will ever need to do this again, then there isn’t much point learning how to do it yourself this time. Unless you just like the challenge and geekery of learning something new.
There’s no real wrong answer. Just what makes sense for your situation.
It’s a decision that applies to non-techies just as much. Every small business has a website these days, or at least a Facebook page. Software like WordPress makes it easy for quite non-technical people to manage and publish their own content. The problem is though that software is never simple – WordPress is a bloated monster of an application. Particularly when you add in all the code for themes and plugins too. It’s a maintenance nightmare. Yet non-technical users are expected to understand and apply very regular updates to both plugins, themes and the core application. All with potential for incompatibilities. All with the potential to take a site down completely, leaving a user with no idea how to fix it.
Yet that’s just for well maintained plugins. Then there are all the plugins that haven’t been updated in years. WordPress core updates can break an old plugin. Even a web hosts update to php for example could break an old plugin. I’ve advised businesses in this position to get themselves some cover for this very situation. Either recruit or train someone who can own this function completely. Fine for medium companies – but just not practical for the smaller business. Which is why I recommend they outsource here. They already pay for someone to manage their server (even if they don’t realise it!) by using shared hosting. So why not pay someone to manage critical updates to their websites. There are plenty of choices here, with various WordPress management services, or more general website management. Typically these are on month by month contract. This can be anything from just CMS and plugin updates, through to some more technical changes or even coding work too. My Tech Guy NZ for example do updates services but also a higher level service that includes some site changes. Plus the option of paying more when you want anything more complicated done. It’s basically a peace of mind payment, and to be honest I’m not sure why more web hosting companies are not offering these services as a package or add-on. It’s what small businesses need – most just don’t realise yet that they need it. They will when their sites go down due to incompatible code, or hacked code because their WordPress site hadn’t been updated in over 5 years (it happens… regularly!).
Bringing these thoughts back round to the more technically literate (that’s you guys – even if you don’t think so). A similar thing applies in all sorts of places. Do you use managed web hosting, or just rent a VPS and get stuck into the CLI yourself. If you’ve never done it before then learning could be incredibly useful – but obviously you need to learn on non-critical websites. The VPS uptime itself is likely to be 99.9%+, but that can easily plummet to 50% downtime and terrible performance if you set things up badly. You don’t need to know everything, but you do need to understand good Unix security principles. It can save a lot on hosting costs – you’d be surprised at the power of a $5 pm server compared to overloaded budget shared hosting. Plus of course you have root access to install whatever you want on that machine (within reason).
To look at it another way. Let’s say you’ve got a decent sized programming project. There are going to be various components, interfaces, functions etc to it. Maybe there is a chunk of code that depends on some fairly complex regular expressions. If your regex skills are fairly weak, then you might want to parcel up that chunk of functionality and outsource it. Get someone on Upwork to write that chunk and turn it into a black box function that you don’t even need to understand. OK, it might make maintenance trickier as you might have to outsource again if that element needs adjusting. But weigh up how likely that is to happen versus just getting the project finished a hell of a lot quicker?