Recently, I (along with my colleague Allie Brock) attended WordCamp US 2019, part of a series of conferences where attendees can learn about a broad range of topics related to the WordPress CMS from expert speakers. The WordCamp we attended was based in St. Louis, Missouri and over 1300 people attended the event, ranging from marketers and content administrators to software engineers and SEO consultants.
With 3 tracks in the conference, each facilitating different lectures, we could pick and choose the lectures we considered to be more relevant to our roles/interests. In this post I’ll share my thoughts on some of the sessions I attended, and what I learned over the three days (and if any of the talks appeal to you, you can watch them on the conference website).
On Friday morning after breakfast we headed into the event where we were presented with our lanyard and guided into the main hall. Here we were given the opportunity to talk to various company representatives about their offerings with regards WordPress-relevant products. These products included search solutions, hosting solutions, Enterprise Resource Planning (ERP) solutions, payment gateway solutions and many more.
We already use some of these solutions on OKdo.com – an enterprise ecommerce platform built using WordPress VIP and WooCommerce – so this was a chance to engage with those companies, asking questions about not only their current status, but also their future roadmaps to help us make informed decisions in the near future. We were also able to talk to companies about software we aren’t currently using and explore potential future avenues.
It goes without saying that this was also an excellent opportunity to get our hands on some free swag being handed out by the various companies – which made us very popular with our colleagues on our return!
This was the first talk I attended. During this talk Mauricio Dinarte compared BDD test suites to onions, in that they contain many layers. Mauricio proceeded to describe each layer, recommending available tools to help with each.
He provided a summary of Gherkin, Behat, Mink, Mink Extensions, WordHat and Behatch contexts, before combining these technologies to form a live demo where he created a BDD test on the spot. Although these are familiar concepts to Box UK, it was a nice refresher, and we picked up some small tips and tricks along the way.
WordPress is an open source project, powered by the open source community, which has been key to its success. Ongoing contribution is vital to the future of WordPress.
When I first became a software engineer, I remember feeling intimidated at the idea of contributing to open source projects. I had the misconception that open source contributors were all highly experienced software developers, who would likely be highly critical of any work I submitted. I’m not sure where this misconception originated, as that has never been my experience in reality. Perhaps it was fuelled by the fact that anonymous/unknown people online (particularly in online forums) can often be rather hostile or antagonistic. I wish I had heard this talk back then.
Jeffrey Paul explained how there are many ways to contribute to open source projects, no matter whether you are a seasoned developer with decades of experience, or not a developer at all. He talked about the different ways in which we can all contribute, including:
It’s great that WordPress are so explicit about the ways in which people from all backgrounds can get involved, and I’m sure this talk inspired many people to start contributing (and if this blog post has, you can find more details on the Make WordPress site).
Continuing the open source theme, during this talk Helen talked about the history of open source, open process, open web and its main drivers – collaboration, empowerment and freedom.
She also talked about the various technical considerations one should make when creating software with the intention of making it open source, such as backwards compatibility, extensibility and security.
As someone who works predominantly with open source technology, this talk was a nice reminder of why open source is such a powerful and liberating model.
During this talk, David provided some examples of things which were possible with “vanilla” CSS. He covered pseudo elements and classes, useful properties such as object-fit and background-origin and, briefly, animation. There was nothing too groundbreaking in this session, but if these concepts are new to you I’d recommend watching the full talk.
This really was a great talk. Steve opened with a summary of Maslow’s Hierarchy of Needs – a five-tier model of human needs, where each tier is dependent on the tier below it. Using this has a basis he formed his own hierarchy of needs relating to DevOps, with Servers at the bottom going through Stability, Compliance and Quality through to Conversions at the top.
The concept Steve conveyed was this: only when the items at the bottom of the pyramid are in place, do you have a firm enough basis to build on the items further up the pyramid. To illustrate this issue, Steve told a fictional story of a failing product for which these foundations were not in place, highlighting the knock-on effects which can occur across multiple product teams.
This talk was not only packed full of useful insights, but also a large amount of humour. It was definitely one of my favourite talks of the conference, and I’d highly recommend it.
I wasn’t sure how applicable this talk would be for me given I am a Software Engineer, not a Project Manager – but I really enjoyed it. Chris shared 10 practical project management tips that she has picked up during her experience as a Project Manager. Some of the tips which most stood out to me were as follows (N.B I’m paraphrasing!):
Although Chris acquired these insights during her time as a Project Manager, they are definitely applicable to a range of roles, including developers and designers.
During this talk Julie talked through concepts such as relational databases and normalised data. She then walked through the WordPress database schema, offering some detailed insights into the most significant tables. Although there wasn’t really anything in this talk which I didn’t already know, this was a great introduction for developers who have used WordPress but aren’t familiar with the underlying database, as knowing the database schema always provides some very valuable context.
For clients who need a strong online presence, SEO (Search Engine Optimisation) is absolutely vital. Pam gave a great overview of optimisations which can be made to web applications to support search engine robots in understanding and ranking them. She proceeded to offer advice specific to WordPress such as desired configuration, and useful plugins. A lot of ground was covered in this talk – I’d highly recommend watching the whole thing if SEO is important to you.
Although Kathy’s background is in security, and the talk title contains the words “the hacking mindset”, it was not constrained to the topic of security. The primary focus of this talk was in fact to explore how the hacking mindset can be used as a basis for general problem-solving and innovation.
Kathy described life and its problems as being “hackable”, and spoke about how by consciously approaching the world with a “hacking” mindset you can free yourself of limitations that you merely perceived were there, thus opening your mind to ideas and solutions you may have missed before.
Kathy hit the nail on the head when she talked about how babies are in many ways more open to exploration than adults, and that as we get older, we sometimes lose that natural sense of “what if”. Holding onto and harnessing that curiosity can be very powerful. This was an inspiring talk and definitely reminded me to make a conscious effort to think outside of the box as much as possible.
In a traditional web app stack, a user makes a request from a browser. That request hits a server, which processes the request using a server-side language such as PHP in order to dynamically build a response, which it then sends back to the browser to display.
In JAMstack sites however, static sites are generated up front (outside of the request-response lifecycle). As a result, when a user requests a page from their browser, a pre-prepared static page can be served without the need of a dynamic server-side language.
Muhammad described how these JAMstack sites work, highlighting some of the benefits which this approach offers including:
He also gave an overview of Gatsby.js as a JAMstack solution. Although this talk didn’t go into much depth, it was a great taster talk and definitely encouraged me to do some further reading into Gatsby.
Everyone knows how much of a big deal Gutenberg is to WordPress – it has very much revolutionised the content creation process. In this talk Shannon gave a nice overview of how Gutenberg is powered by React, showcasing its capabilities and walking us through some code examples.
Analysing and monitoring the performance of applications is by no means easy. The majority of clients want products to be “fast” – but what exactly is “fast”? How do we define fast, and how can we best measure application speed? These are questions which Zack tackled in this talk.
He described the limitations of basing performance tests on the load event, and offered advice on monitoring alternative events. Zack also made the important observation that the best criteria on which to base performance analysis will vary per application – it’s not one size fits all. When architecting our approach to performance analysis, we must first establish the points in the request-to-response lifecycle that are most crucial to user satisfaction, and aim our performance analysis at those.
Zack helpfully suggested a number of tools which are available for monitoring the performance of web applications, and ended with some very practical advice regarding the way in which performance analysis findings are best communicated to clients. Clients tend to think in terms of accessibility, competitor comparison and product comparison rather than low-level data – so the more we can summarise our findings in client-friendly, meaningful terms, the more likely they are to appreciate the information presented.
This was one of my favourite talks of the conference – if you have an interest in this topic, I highly recommend watching the full talk.
It’s no secret that automated testing is a crucial component of any software development workflow. A strong suite of automated tests can help reduce risk and increase confidence when making changes to a system. In this talk, Steve covered the fundamentals of testing WordPress applications.
He began with an introduction to PHPUnit, and built up to demonstrate how best to use it within the context of a WordPress application. Although this talk was rather basic for developers who are familiar with writing unit tests in this context, I’d highly recommend this talk to people who do not have much experience in this area.
In the final talk of the conference, Matt Mullenweg (the co-founder of WordPress) spoke on the past and the future of WordPress. It came as no shock that Gutenburg featured heavily in this section (and rightly so), including a look back at some of its teething problems, as well as a look forward to some new features on the horizon.
Matt also spent a large portion of this talk stressing how integral the WordPress community has been to its growth. He even premiered a short video which was produced by some members of the WordPress community, in which Matt and others express what open source means to them, and how important the WordPress community is to the product. Both the talk and the video were inspiring.
On the Sunday, the conference concluded with a “contributor day”. This gave attendees the opportunity to work together, and contribute towards WordPress. There were stations for each of the many contribution teams (18 in total), and they ranged from coding-based areas such as core/CLI development, to areas such as marketing, design and documentation.
This setup successfully catered for seasoned contributors, as well as people who had never contributed before but wanted to learn how to. It was great fun getting stuck in, and was an excellent event to be a part of.
After the conference, my colleague and I were able to explore St. Louis. We managed to cram in a visit to the Missouri civil war museum, a trip up the famous Arch, and a helicopter ride over the Mississippi river!
St. Louis is packed full of history, and it was great to spend some time sight-seeing and soaking up the culture.
I thoroughly enjoyed this conference. The content was excellent, and the speakers did a great job of conveying a lot of information while keeping their audience engaged. The venue was great, the catering was incredible, and I couldn’t fault the way the event as a whole was organised.
There was certainly one theme which was apparent throughout the conference – WordPress’s community is easily one of its strongest facets. It’s evident that a huge amount of effort goes into including people of mixed backgrounds and abilities in its success. Everyone is encouraged to get involved and contribute, whether it be at a code level or not. Although I was aware that WordPress had a large following prior to the conference, the strength of the community really blew me away.
I’d thoroughly recommend WordCamp to others who have an interest in WordPress, and certainly hope to attend another one in the future.