On my web development skills, history with WordPress, and leisure

Creativity and adaptability are core soft skills of mine. This year, I shifted some greenfield product development to headless WordPress with a Gatsby.js frontend in order to optimize for Google’s newly revealed Core Web Vitals. Late last year, I did not find an online service that enabled tracking of possessions in a Minimalists’ 90/90 rule inspired way, so I created a custom content management system myself using PHP and MySQL to provide a tool to operationalize commitments to that rule.

I value emotional intelligence, and I am trying to foster this trait in myself. The week of October 23, 2021, I was set to serve as a groomsman for a friend of mine, and when they called me to tell me the sad news that this week the bride tested positive for Covid-19 and they needed to make the wedding immediate family only, I responded with empathy, reminding myself of how I felt when my wife and I needed to shift our wedding plans due to the pandemic.

I think I could do great web development work in the context of a web developer team. I read Deep Work by Cal Newport in 2021, which presented the idea from Extreme Programming about how two developers working together at one computer can produce even higher value at times than those two developers working apart.

My history with WordPress

I began developing with WordPress in April 2020. I have added content for people who already have WP sites, set WP sites up for customers from scratch, and set up hosting for these sites. I have created child themes for customers’ sites, edited their existing themes, and made parent themes using the boilerplate tool for theme development, WP Rig. WP Rig makes code linting, modularization, and minification easy, so I can focus more on developing the presentational aspects of the theme while trusting that those automated processes will go a long way towards optimizing and standardizing the code I write.

In my shift to headless WordPress, I have used WPGraphQL to add a GraphQL API to WP sites, WP Gatsby to optimize WP sites as a data source for Gatsby sites, and JAMstack Deployments to enable deploying WP changes to Gatsby front ends with a button that sends a POST request to the Gatsby Cloud webhook that triggers a site rebuild. This enables something like continuous delivery in the development process, and even makes it easy for a non-technical customer to update the site in this headless architecture. I want to submit a pull request on the JAMstack Deployments plugin which improves its UI by having a status indicator of the cloud build in the WP dashboard. Clicking the deploy button at the moment feels like throwing a paper plane in pitch darkness.

For plugins that empower customer content creation on non-headless WP sites, I have used Advanced Custom Fields to add fields to post types, Custom Post Type UI to manage additional post types (though I have also added post types without the plugin, but rather in code in the theme), WooCommerce to add e-commerce features, ARMember with Stripe for PCI compliant subscription functionality, Popup Maker for popups, Ninja Forms for form construction, Show Current Template for theme development, and more.

For site administration and development I have used Redirection to manage redirects, WP Migrate DB and All-in-One WP Migration for migration, Insert PHP Code Snippet for custom PHP functions, Advanced Captcha for bot protection.

Leisure

Games are my primary source of leisure. This is mostly board and card games, but it includes some sports, video games, and role playing games as well. See an obsessively over-detailed list of my wife and I’s game collection in this WorkFlowy document: bit.ly/jacobs-game-collection. Game play and web development are both interactive, structured systems. These qualities draw me to both.

Self-evaluation of my web development skills

Skill: Proficiency, Passion
10 = pro proficiency / high passion
1 = no proficiency / aversion

In TypeScript / static typing inspired fashion, I should declare my data types before setting my variables.

Design: 7, 8
User-Experience: 6, 9
Front-end coding: 8, 8
PHP coding: 6, 7
JavaScript/React.js: 7, 9
WordPress: 7, 7
Problem Solving: 7, 7
Content Writing: 6, 7
Responsive / media queries: 8, 8
Organization: 9, 9
Project Management: 6, 7
Creativity: 7, 9
Communication w/ Clients: 7, 7