So, PHP and MySQL, two slightly suboptimal technologies run a fairly large chunk of the internet in the form of WordPress. You have the idea for a blog or maybe want to knock up a quick corporate web site. What’s your first step?
- Choose a WordPress theme. There are loads out there, some free some paid for. My site of choice for finding themes free or otherwise is Themeforest. A fair number of the themes are free, and you can choose 2 or 3 column, responsive and so on.
Having chosen your host (we use bluehost.com for www.pandaandpolarbear.com and this site), then it’s time to flesh out the functionality of your site with plugins.
- Akismet – a pretty good comment spam filter plugin. It will mark spam for you so you can you through and trash it. Not sure I’ve ever had a spam comment go through.
- Cloudflare – These guys are making the internet better. A DDoS, CDN and free SSL solution. 128 data centres. Who is to argue with that?
- Cookie Consent – Everyone needs this, right?
- XML sitemaps. Does what is says on the can!
- Jetpack – Even more themes, stats, SEO tools, Security stuff.
- Loading Page – while the page is loading, shows a pretty graphic. Given the stats on site abandonment, any distraction is worth it.
- NextScripts: Social Networks Auto-Poster – lets you spam nearly 30 social media channels.
- P3 (Plugin Performance Profiler) – Really useful to see where the CPU time is going and if a plugin is taking the time. In my experience, plugins take about 50% of the page render time.
- W3 Total Cache – caching is good. Most site are not that dynamic so caching is relly good to have.
- WP Smush – optimise graphics for the size you’re rendering them at. This is a cool speedup. When you’ve got four years of art, it’s a big win.
- Yoast SEO – If you’re wordy like me, it’s good to have something reminding you of the good stuff to put in your posts to get the attention of the search engines.
- Amazon Associates Link Builder – nice integration with Amazon associates.
- Finally, Link checker – useful to check for broken links, or destination pages that have gone away.
Don’t forget to sign up to the Google suite, Google analytics, Google webmaster tools, and Google Lighthouse.
That’s a small selection of the plugins we use. There are a whole bunch of Woocommerce related WordPress ones and others related to selling stuff.
I did a site for Dusty Knuckle Pizza, which was working great until they foolishly decided to spend money and get something worse. IMHO.
So that’s that. Your site is now standing on the shoulders of giants.
Remind me, why do people still build web sites manually?
So yet again, I spent time battling a legacy perl code base with no tests, no Jenkins/Bamboo, no deployment pipeline and half an agile process.
Now I get to do battle with recruiters again, something that fills my life with joy and purpose.
I thought I’d put my thoughts down as to what I’m looking for in a job.
First up, contract or permanent? That’s easy. I’ve been contracting for 18 years and I don’t see that changing UNLESS you have a really juicy CTO role on offer. More of that later. I think it’s just largely temperament. I like to have an independent, outside view, trying not to get absorbed in the local cargo cult. So there are two things I do.
Senior Perl developer.
My career can be best described as “careering from one thing to another”. If I’d had any sense, or career direction, or a mentor, I’d have stayed much more firmly in the CTO field. I’ve flirted with many startups over the years, but none have actually stuck. So what am I looking for in a perl gig? Here goes:
- A modern framework. Give me Catalyst preferably, a framework standing on the shoulders of giants. Dancer or Mojolicious would work as well. Template Toolkit is the ideal templater.
- Tests. It should be obvious, but often isn’t. If you write code without tests your code is immediately legacy.
- A sane database schema. One that MySQL Workbench can reverse engineer into a pretty diagram. An ORM. There’s little point these days hard-coding SQL. That’s so passé. Give me DBIx::Class.
- A well-run Agile process. I got my Scrum master certification and now “doing agile” as opposed to “being agile” brings me out in a rash. One purpose of agile is to get better and unless you do that, you’re not agile. Just standups and sprint planning don’t cut it.
- Don’t talk to me about web servers. Not my problem any more.
- I want support infrastructure that’ been there since the beginning. That means Perl::Critic and perltidy. Pretty, clean code please.
- Please let me please talk to REST APIs, none of that SOAP rubbish.
I’ve been a CTO. And interim a few times. Obviously I’d do it all completely differently this time, knowing what I know now.
- Let me grow the team. I’ve had amazing luck in the past picking great teams. Indeed, a team that largely didn’t know perl and then became experts. I’ve also been involved in a firing. We’re still friends.
- Let’s have all the tools we need: Atlassian (or equivalent) stack or integrated equivalent.
- I want to buy in a good Agile coach for a few months to get us on the right track.
- I want to manage upwards well. Demo the important stuff to the other directors and management at the end of every sprint. Respond to the business.
- If you’re good, you can work from home. This is the 21st Century. Being forced to turn up to an office is one of my bugbears. You don’t need my physical presence. Skype and Slack will do the job.
- Give me something exciting to lead. Not sure I could cope with another publisher web site.
- Let me speak at conferences. Yes, I know I’m a straight, white male. It’s a burden. But I AM left handed! I’m a minority! It’s good for the company visibility.
And probably stacks more.
As an aside, any good personal projects worth chipping in to right now?