Why should nurses go beyond WordPress?

Why did I spend four weeks learning new skills for how to put a website up when I could already do that in 10m with WordPress? The journey was more important than the destination.

I started mucking around with websites just before I joined my nursing degree. I figured I might have something I'd want to say and need somewhere to put it, so for almost pennies I bought a domain, some shared hosting and ran the script that installed WordPress. At that point I was just about capable of clicking the right idiot-proof buttons that triggered someone else's hard work, but it meant I started learning little bits about web technologies like html and CSS. It wasn't a pretty site and it only did the things WordPress does out-of-the-box, but it worked and that was enough.

Until it wasn't.

I ended up becoming president of the student nurse society and found they didn't have a website. Social media covers a lot of the things you'd have a site for, but not long-form content, so I started over with the knowledge won from making my own site. It was better for that, but I needed more functionality, like a calendar of upcoming events. This is where the limitations of WordPress start to appear, because the moment you need something extra, you have to install a plugin.

WordPress has an active plugin community, with many coders who extend what WordPress does, often for free. However, every plugin is one more thing to learn, to maintain, to explain to other users. And it increases your security surface area, which has led to tens of thousands of websites being simultaneously compromised by one exploit. So you cannot use this for sensitive health services. Other than the most popular, plugins are also rarely updated with bug and security fixes, or abandoned entirely. Relying on plugins is insecure and long-term support is unlikely. Not good if you're hoping to create web services for patients at some point.

I finally had enough when I found myself installing a plugin to help manage a list of links, resources useful to student nurses I'd collected . These links would need a name, description and the website address, as well as tags to help sensibly organise them. You can put hundreds of links into a long list on what WordPress calls a "page" (one of its two basic content types) but if I ever wanted to change the layout, that would mean re-writing the entire list. Better to create a new "links" model for a database that included all those elements and allow me to query by any of them, with as much flexibility as I needed. There is a plugin for that, it's called Pods and it's great. Except now I'm running two different databases to do the work of one. Clumsy, inefficient and again weakening security.

So, although I'd learnt a lot along the way, breaking things and fixing them again, I had reached the limits of WordPress. To go any further I'd have to learn the PHP coding language and start tinkering with the large and quite opinionated code base of WordPress' guts. Writing my own plugins would let me consolidate others I was using, keep them up to date and hopefully secure. Except while I know I have to start learning a coding language so I don't become a dinosaur, PHP is far from an ideal choice, if I only have time to learn one.

It's current_year(), so you know nurses have an extremely powerful tool in the internet. You don't want to miss out on that. So when you go to provide a web service to patients you will also run into these limits. You'll end up fitting your ideas into the box provided by the code available to you, when you should be writing your code to fit your ideas.

Enter Python! The powerful yet elegant language I believe almost every nurse should be interested in. We'll talk about that in the upcoming part two...