34 at 34 for V5.34: Modern Perl Features for Perl’s Birthday

Friday, December 17, 2021, marked the thirty-fourth birthday of the Perl programming language, and, coincidentally, this year saw the release of version 5.34. There are plenty of Perl developers out there who haven’t kept up with recent (and not-so-recent) improvements to the language and its ecosystem, so I thought I might list a batch. You may have seen some of these before in May’s post “Perl can do that now!”

The feature Pragma

Perl v5.10 was released in December 2007, and with it came feature, a way of enabling new syntax without breaking backward compatibility. You can enable individual features by name (e.g., use feature qw(say fc); for the say and fc keywords), or by using a feature bundle based on the Perl version that introduced them. For example, the following:

A Discussion With Gutenberg Project Lead Matías Ventura on the Barrier to Entry

Last week, I published an opinion piece on the barrier to entry in the modern WordPress era. The article followed a tweet and post by Chris Wiegman that stated the current learning curve was extremely high, regardless of past experience. Members of the community responded with a flurry of articles, podcasts, and videos.

Because modern WordPress is primarily centered on Gutenberg, I reached out to the project’s lead, Matías Ventura. The goal was to bring some balance to the discussion. Unfortunately, he could not get back to me until a few days after the story was published. However, given his unique insight and perspective on the project, his views should be shared.

In our discussion, we covered the topic of the barrier to entry from multiple viewpoints. Depending on where a specific developer, designer, or user steps onto the ramp, each will have a different experience.

Why Are We Having the Same Discussions?

The block editor shipped with WordPress 5.0 in December 2018. We are closing in on three years, but it often feels like we are having the same discussions. One has to wonder why we have not yet moved beyond that point.

“I think this is a case of the size of the WordPress community, its diversity of perspectives, and the fact that we do still have a lot of work to do to continue to make things accessible,” said Ventura. “I’ve seen people that start with no prior WP knowledge get flying super quickly.”

He recounted one story of a popular block library that launched last year. The creators were designers but did not recognize themselves as developers. However, the APIs allowed them to build an entire plugin that would not have been possible with their previous skillset.

“To me, this was a triumph of the block APIs that are available for builders,” said Ventura. “But this is just one person’s perspective. It doesn’t invalidate PHP developers expressing frustration at the complexities of modern front-end tools.”

Theme Creation and New Onramps

On the theme creation front, we were in agreement. There are new ways (and more on the way) for non-developers to ease into visually building various parts of a website without needing the entire weight of theme development knowledge.

Ventura began his WordPress journey with theme development after first being exposed to Flash in the early 2000s. He recalled downloading a bunch of PHP files and thought he could execute by opening them. It is safe to say that he has learned a lot since then.

“Being able to edit pieces of a theme is a crucial aspect of democratizing access to code,” he said. “I think we are going to be seeing a lot of people get started by diving into how templates work. Or by playing with the Query block, which used to be a hidden piece unless you knew a bit of PHP already.”

He mentioned that, in some ways, this aspect of the block editor allowed solo creators or small teams to build unique projects, pointing to Aino as an example.

“I’m seeing a ton of designers for whom contributing to WordPress was difficult or a gated experience,” he said. “There’s a lot of developer entitlement when we say things used to be easy. They were not easy for a large chunk of the population that might have been excellent contributors if there were more avenues to contribute.”

Patterns may be the first official stepping stone, one avenue among many that WordPress could facilitate in the future. Ventura envisions a possible .ORG-hosted visual theme builder that would allow users to create and publish without ever touching code. We are likely years from seeing such a project come to fruition, but lofty goals can lead to innovative ideas that we have yet to think of.

Building Block Plugins

Block plugins are a different beast than themes. The barrier is undoubtedly higher, but how big is this hurdle for traditional WordPress developers?

“Going from contributing a pattern to building a block is a big leap right now,” said Ventura. “While there are folks that can learn it quickly, it’s still a big barrier for people. I think there are several layers to this: documentation could be an order of magnitude better in both organization and presentation. I hope we can do a lot more there.”

He is also curious about tools for building blocks, such as a blend of BlockBook and CodePen. He mulled over the possibility of blocks used for creating other blocks, a scenario in which developers might only need to write HTML with the tool interpreting features like Rich Text fields. At the very least, he believes we are barely scratching the surface of what the block-building experience could be.

“The biggest challenge is that there’s a tendency in PHP trained folks to neglect a bit the implications on the UX if it means the developer experience is simpler,” he said. “I think this is most visible in the shortcode/forms approach to UX as opposed to direct manipulation, which is hard to codify from a PHP set of APIs.”

WordPress/Gutenberg Contribution and the Bus Factor

Outside of building themes or plugins, the third and arguably the highest level of participating in the WordPress development ecosystem is direct contributions to the block system. Is contributing to core harder today than it was just a few years ago?

“I think this is a good point, but I think it partially misses that contributing to WP internals like WP_Query was also very difficult,” he said. “We just got used to it. We have received more contributions to Gutenberg from people than what I have seen in Trac in my years there.”

Ventura did admit that GitHub could be a factor in the amount of contribution, which many developers tend to favor over Trac.

While building an editor is a difficult task and requires certain levels of expertise, other parts of the system, such as the component library or smaller packages, might offer alternative paths for some people to get involved.

“Apart from this, I do agree that there’s also a higher level of expectations for what software should be capable of doing these days that make contributing meaningfully a harder task than before,” he said.

Historically, other parts of WordPress that relied on the JavaScript model, such as the media library, have not had high levels of contribution.

“I don’t think this is a topic we’ll exhaust any time soon, and it’s important to not become complacent and just say ‘oh things are just hard’ because an important part of the WP project being open source is that users can modify said software, and for that, they need to understand it,” he said. “I think we can introduce a new generation of people to coding if we do things right and work together more.

The secondary aspect of this is whether there is a bus factor for WordPress. If so, what is the number? This is a common question around the most technically challenging pieces of software. If X number of contributors with the requisite knowledge of the most complex pieces of a project were hit by a bus (sorry for the grim imagery), would the development grind to a halt?

It is not something often discussed in WordPress circles because it has never seemed to be an issue. However, if contributing to core carries too high of a barrier to entry, is there a number where the project cannot continue?

“I think, in some ways, it’s more sustainable now,” said Ventura. “We have been a lot more open with contribution permissions on the Gutenberg repo, and it has resulted in a larger amount of folks contributing. I think we might see a split between contributors that are comfortable with the back-end side of WP and those that are more comfortable with the interactive pieces.”

One thing the team did not entirely anticipate was Gutenberg’s use in projects outside of WordPress. This can add to its sustainability factor. He pointed to the WordPress mobile app being an example where others can meaningfully contribute. And other mobile apps are wanting to use it for their tools. At Automattic, where Ventura is employed, they are also working on adopting editor technologies for Tumblr.

“I think a broader topic of discussion, in general, is that contributing meaningfully to WP has become the privilege of those sponsored to work on it full time,” he said. “I think that’s in some ways natural but also a bit of a tragedy.”

Bricks: Laying Down a Foundation in the WordPress Page Builder Market

In a mature and ever-growing market of WordPress page builders, Thomas Ehrig decided to bring a new product to the ecosystem. Joined by Luis Godinho, the initial team launched Bricks in March. Unlike most other builder plugins, the project is bundled as a theme.

As a small, 100% bootstrapped company, the team decided against going the freemium route. Pricing currently starts at $59 for a lifetime license, but that could change as the business model evolves. Potential customers are encouraged to test the product out via the open playground demo site.

A restaurant header with several cooked steaks in the Bricks builder.
Creating a restaurant menu via the Bricks demo site.

“Bricks aims to provide an all-in-one site-building platform that empowers you to create beautiful, fully-fledged, and responsive sites that rank,” said Ehrig. “Without having to buy and rely on dozens of expensive and disjointed plugins.”

One of the problems that the team wanted to avoid was end-users trying to find a Bricks-compatible theme. Instead of offering a default or placeholder, Bricks serves as an all-in-one bundle.

The difference between a theme and a plugin is mostly a semantic one in WordPress. Aside from a few small things, a theme can do anything a plugin can do and vice versa.

“The main advantage I see providing it as a plugin is from a marketing perspective,” said Ehrig. “Elementor has done a fantastic job in this department. As you can see on the many free and premium themes that it comes bundled with. This greatly helped boost its exposure in the early days.”

Aside from a few users trying to install it as a plugin, he said the team has been happy serving Bricks as a theme.

He described the builder as a “theme that aims to tame the plugin madness.” The focus is on customization, design, and performance, but the development process is user-driven. All of this is done in the open via the project’s idea board, forum, and Facebook group. Users can submit feature requests, which others can vote and comment on. The team builds its development roadmap from this foundation.

Voting systems like this often work well in a project’s early history. However, they can become unruly as audiences grow. We will have to check in with Bricks a year or two down the road to see how their feedback system has evolved.

“We don’t build in secret,” said Ehrig. “Our public roadmap makes sure everyone knows at all times what to expect and what’s next. It also keeps us accountable. If you are not only looking for a beautiful builder that is fun to work with, but where you have an actual say about its development, I think you should take Bricks for a spin.”

Bricks is bringing in its third team member to develop predesigned templates. However, they are already looking to grow the team more. Their current need is for a Vue.js and WordPress developer.

Building in an Established Market

Editing a slider panel in the Bricks page builder system.
Slider element in the Bricks builder.

Elementor has become the de facto standard for third-party page builders. Others have made dents, and WordPress is launching several sub-components of its Full Site Editing experience in version 5.8. It is getting crowded, but Ehrig believes there is plenty of seats left at the table.

“The WordPress builder market is well established,” he said. “This actually gave me the confidence to start this project in the first place. It’s been heavily validated, and it’s not going away anytime soon.”

Not wanting to launch a half-baked builder, he said the team forwent a deadline for their version 1.0. They wanted to create an MVP with all the essentials and hit the ground running. Based on the initial feedback in the past couple of months, he said it is clear there is still space in the market.

Personally, I think there is always going to be space. After all, we are talking about tens of millions of WordPress sites that need to be launched, re-built, managed, and constantly optimized. It’s also not a winner-takes-all market, which is nice.

Your users’ trust and loyalty have to be earned every single day. If not, many move on to a different solution. As the web design and development landscape evolves, so has your product.

All those moving pieces ensure that no single player can rest on his/her laurels for long. Meaning there are always going to be opportunities if you take the time to look out and execute on them.

While the builder is somewhat of a competitor against the core platform it is built upon, it works alongside WordPress. Users can convert their block-built pages into Bricks data. This data conversion works the other way around too.

“So there is no lock-in effect,” said Ehrig of the feature, which his team made available from Day 1. “Which I think is really important. If someone decides to move away from Bricks, we don’t want him/her to be tied to our platform.”

The team is also exploring the concept of creating blocks visually within Bricks. The goal is to enable more integration between the two, but they must wait to see how Full Site Editing evolves in the coming months to know what that might look like.

Version 1.2 and Beyond

Bricks template builder screen.
Inserting a Container element from the sidebar.

Last week, the Bricks team launched version 1.2 of its builder. It is touting its new “Container” element, which is essentially a box to put other items in. Users can control its display settings, and it already supports flex layouts, which many designers will welcome. Grid layouts are forthcoming, according to Ehrig.

“After that, I am currently very excited about the upcoming visual WooCommerce builder,” he said. “It’s a very challenging integration to get right. Not just code-wise, but also from a UI/UX perspective.”

Of the several things he thinks the team has gotten right, he mentions data integration with popular plugins like Advanced Custom Fields, Meta Box, Pods, and CMB2. He also said the version-1.0 features like global theme styles, responsive editing modes, and color palettes were things the team nailed down.

“But the one thing we are most proud of is not even a feature and something no one has really any control over,” said Ehrig. “And that’s the community that has formed around Bricks and its cause.”

In two months, its Facebook community has grown to 2,000+ members. “Very active, positive, and helpful,” he said. “You can’t put a price tag on that.”

An Overview Between Java 8 and Java 11

One of the great news introduced in the Java world is related to the version cycle, of which we have a release every six months and a version of Long Term Support every three years. Currently, the LTS version is Java 11, from which many companies are moving towards its use. First, this movement is significant because new frameworks will not support Java 8 and will consider Java 11 as a minimum beyond the point that the next LTS will be in September 2021 with Java 11. The purpose of this article is to talk a little about the basic APIs that happens between Java 8 and Java 11.

The Functions Classes

An important point that will serve as a basis, starting with Java 8, is the new interfaces within the java.util.function package, in this overview, we'll see covert four interfaces:

A Non-Technical Release Lead’s Journey to Becoming a Mentor for WordPress Core Development

In the summer of 2019, I was asked to help out with a WordPress release. A few months before, the Core Team representatives reached out to other teams in an effort to increase the diversity of the release teams, and I started seriously considering it.

At the time, I was already heavily involved in the WordPress ecosystem and was in my second year as the WordPress Community and Partnership Manager at SiteGround, but I had no experience whatsoever on how WordPress gets done from a Core point of view. Still, when Josepha Haden, WordPress.org Executive Director, pinged me, I said yes without hesitation. And it proved one of the most challenging and rewarding experiences of my life. Here is how. 

Josepha Haden and Francesca Marano walking around Vienna
Josepha and I walking around Vienna, WCEU 2016 – Photo by Luca Sartoni

An Accidental Contributor: My Path in Tech

From an early age, I seemed to be predestined to become a developer. My parents are programmers, they started in the sixties, and I got my first personal computer in 1982 when people in Italy didn’t really have an idea of what those were.

I followed after their work ethos and I thought that their job was fascinating, making a machine do what you want, but I was drawn to other career options. In fact, I didn’t really know what I wanted to do when I grew up, but computers and websites kept being a big part of my personal and professional life.

While back-end programming was never something that interested me, I found myself taking a class on web design in 1999, then signed up for a degree in Arts and Multimedia in 2004. I finally found WordPress in 2008 and started making a living off of it in 2010. 

Soon, I realized my true skill was helping clients who were coming to me with a request for a website to better focus on their “why” for the website and think about their business and marketing strategy before they hired me. I wrote books on business planning, productivity, and websites. I also started giving talks at WordCamps and other events to educate freelancers on those topics. 

In 2015, I randomly met some people who were involved in the WordPress community, which led me to start contributing too. I didn’t have development skills so I never thought I could contribute to OSS, but it turns out that was unnecessary. I met people who pointed me to the many different teams that make WordPress and started being active in Polyglots first and Community later.

Francesca Marano speaking at WordCamp London 2016
My first WordCamp Talk: The Rebirth of the Italian Community, at WordCamp London 2016

I kept working on my business, but the more I contributed to WordPress, the more I wanted to find a way to help thousands of people at a time. My outreach efforts of giving talks, helping community organizers, and writing content needed to scale. 

This is where I met SiteGround. In the summer of 2017, they were looking for a Community Manager and despite not being one by trade I decided to apply and got the job. Joining the company allowed me to have sponsored time to contribute to WordPress. It also allowed me to tap into the collective knowledge of my colleagues when I start cooking up new ideas for the project.

So I said yes without hesitation, but the truth is that this yes was almost five years in the making. In addition, I felt that Josepha and SiteGround trusted me to do a good job. In return, I trusted the WordPress community to help me figure out all the things that I needed to learn.

How WordPress Gets Done

The other encouraging factor was that ever since WordPress 5.0, a release was no longer made by one person, as it used to be for years, or a person with a couple of deputies. Now there was a whole team at work, affectionately known as “the squad,” so there are many hands on deck.

A Lot of Communication

During a release cycle, there is a lot of communication. There are blog posts from different Make teams. At each stage of the release, there are blog posts in the News section of WordPress.org. There is constant chatter in the public Slack channel and there is a private one which is the safety net for the new people that initially might feel intimidated by asking questions in a large public channel. 

The Different Roles in the Release Squad

Screenshot of the WordPress 5.3 Development Cycle Page with the names of the squad
WordPress 5.3 had a release squad of 12 people and 654 contributors. WordPress 5.5 threw it out of the park with 805 contributors!

The thing that I love the most about this model for the release is the variety of roles that it includes. There are developers, designers, marketers, technical writers, and project managers. WordPress is not only made of code, and it’s great to see all these different skills coming together to contribute to its release. 

The role of the Release Coordinator (the one I covered for WordPress 5.3 and 5.4) and of the Triage PM (role that was covered by the excellent David Baumwald for 5.3, 5.4, and 5.5) is to try to keep an eye on all the moving parts. And I say try because it’s nearly impossible. This is why there are focus leads for the different parts that are getting worked on.

Matt Mullenweg is the project lead and has been the release lead since WordPress 5.0. He comes up with the high-level roadmap and the focus projects.  But beyond that, he is not involved with the day-to-day life of Core development. In over one year of being involved in Core releases, Matt asked only once to add a feature

I am annoyed when people think that everything that happens in WordPress is because Matt wants it that way. It diminishes the role of all the people who care about the project and take it upon themselves to move things forward, to shepherd issues, to champion tickets, and in general to commit to contribute to make WordPress better for everyone, no matter if they do it for one ticket or work on it full time. 

Component Maintainers and Core Committers

A group of people who are instrumental in shaping a release are the component maintainers. They are responsible to look after a certain component that makes up Core and see how tickets in that area are proceeding. They are the ones who can evaluate if a ticket is ready to be merged.

Once a ticket is deemed ready, Core Committers enter the scene. They do a final review of the ticket. They might request some changes, or make the changes themselves while committing. This is the thing that surprised me the most probably. I really didn’t think that a commit could take hours, but it definitely can. In the releases I coordinated, I definitely observed not a lot of engagement from maintainers and committers, and this is very demotivating for people working on tickets. Not everything can go into a release, even if the patch is ready, because there aren’t enough people to review, give feedback, and ultimately commit. With few resources, you have to make choices and those will not always align with each WordPress user or contributor preferences. 

This is probably one of the biggest challenges WordPress will have to tackle moving forward: How can we reactivate people who can give a big help?

The Release Party

People Dancing at WordCamp Europe Party
Photo by Florian Ziegler

Despite these issues, things get done and when the release is ready, we celebrate with a party. I don’t know who started calling them Release Parties or when they started. What I know is that for 5.3 and 5.4, I hosted quite a few, and they were all a lot of fun. 

On the day of one of the steps of the release (it might be Betas, Release Candidates or General Release) the Core channel gets very active: a lot of people come online to see how the version of WordPress gets released. There are multiple steps and different people involved with different tasks. The release steps are documented in the Core handbook and are followed publicly so everyone can see them all. 

The biggest party is the general release day; there is one specific moment which is incredibly powerful. WordPress has a download counter, so before releasing the new version, the squad takes a screenshot of the previous one, we all say goodbye and welcome the new kid. Despite everything being virtual, this moment is almost tangible and will never cease to move me. We made WordPress, once again.

12 Months as a Core Contributor

While I was writing this article, it occurred to me that I have been a Core contributor for a year now. I still have my full-time role at SiteGround, which at times I found hard to juggle, so I have to give my team credit for their support.

I still can’t write PHP and despise JavaScript deeply, but when I look back, I am incredibly proud of the changes that have happened in the past 12 months. I can not take credit for all of them, but I am happy I was able to be somehow part of them.

Release Schedule

One thing that a lot of contributors asked for was a mid-term schedule of releases, to better fit them around their work and personal calendar. Being the new kid can be hard because you don’t know the whole history and background of why things are done a certain way, but that is also a perk. You are free to restart conversations. After discussing it with the squad and other teams, it was clear to me that it was just a matter of “who is going to bring this up with Matt”. And so I did. A couple of days later a tentative release schedule until WordPress 6.0 was published on the Core blog, and we have been using it ever since.

Bigger Release Squad and Mentorship

The release squad is also getting bigger with every release. Many teams are involved in making it and affected by it. It’s important for all these teams to be represented in the process. In WordPress 5.5, there are several new roles, and in 5.6 there will be even more: Test, Documentation, Support are all vital components of what makes WordPress great, so having their feedback while the software is in active development is important.

And it’s important to have mentors. This is a major improvement that Josepha introduced in WordPress 5.3. The release squad is not only made of focus leads, but there is a growing group of mentors able to help new contributors learn the ropes. The idea is that those people will eventually become mentors and teach new people. This is another great way to have more and more people involved in Core, with different skills and backgrounds. 

And this brings me to the biggest change (and challenge) of all. WordPress 5.6, which is shaping up to be a massive release, will have a squad entirely made of women and people who identify as female. Like a lot of things in WordPress, it all started with a “Thinking out loud” moment and is now a reality. Work on this release will start very soon, and I am excited to be part of it as a mentor.

Women walking in hallway during WordCamp Torino
Fellow female contributors leading the Polyglots team at WordCamp Torino 2018. Picture by Gianni Vascellari

WordPress Needs Your Help

I wish I could say it is all unicorns and rainbows, but it’s not. The number of people actively involved in making this project a reality is still very small compared to the magnitude of its reach.

I am very much a doer, so I wish people took the time and energy they take into critiquing WordPress and turn it into active contribution time. Yes, sometimes it requires being very stubborn about a ticket and it requires to follow up on it relentlessly, but I still think it’s worth it.

Active participation also means leaving constructive feedback in tickets or offering to take notes during dev chat. That is the curse and the beauty of a massive project. There is always something to do!

In the last few years, I have also seen an increase in contribution from different kinds of companies. At SiteGround, for example, we mostly contributed to events and the community for years. We sponsored, and we volunteered, we were organizers and speakers. We worked a lot within the Spanish WordPress community to help it develop and grow, and now it’s one of the largest in the global community. In the last year, we have increased the hours we dedicate to more technical teams. I am still active in Core as a mentor and as the team representative. One of our WordPress engineers, Stanimir Stoyanov, is part of the Security team, and one of our JavaScript Engineers, Kiril Zhelyazkov, is now dedicating a couple of days per week to Gutenberg.

Stanimir Stoyanov from SiteGround on stage at WordCamp Sofia 2019
My colleague and Core and Security contributor, Stanimir Stoyanov

These topics align with our values, so it was a natural progression for us to become more involved.

Finally, I hope to see people get involved in a proposal I published a few days ago in the Core blog about end-to-end tests. Right now there is one, and I’m sure we can do better. Again, developers are not the only ones needed. Users are the rarest contributors and probably the ones the project needs the most to finally have some user testing in place. I am not a developer, and I’m happy that non-developers can make an impact. 

My Personal Concerns and Hopes for the Future of the Project

When I started contributing to Core, I started a note on my computer with some observations. Not having 17 years of experience in the project helps me see things without bias, and not being a developer helps me see the project more as a living, breathing body, instead of components or tickets. Allow me to share my concerns, hopes, and dreams for the future.

Component Maintainers and Core Committers: You Are Needed More Than Ever

At the time of writing this article, the project has about 60 committers and 60 component maintainers, with a lot of people pulling double, triple, and sometimes sextuple duties. But the reality is that in WordPress 5.4 and 5.5 hundreds of commits were made by Sergey Biryukov. I am incredibly grateful for Sergey’s work. At the same time, I feel like we are inadvertently building a bus factor into Core. The majority of the people with Core Commit access did not commit one ticket. Similarly, I reached out to all the component maintainers to hear about their plans for the upcoming releases and only about 50% of the components replied.

How do we make sure that the people who have the power, and thus the responsibility, to help with committing and shepherding tickets are involved? But also, how do we encourage people to step down and declare themselves inactive so new people can step up? 

My career spans over 25 years in different industries, and one thing remains the same: when people see there is someone else filling a role, they will be less motivated and sometimes even intimidated to step up. Scarcity not only drives purchases, it drives new engagement.

The Community Team, for example, maintains a list of deputies and their different statuses. I have been wondering if Core could do something similar so when new people want to step up they can see at a first glance which components are missing maintainers. People who complain about “The Core Developers” will not see them as a blob, but as individuals who at any point in time might be inactive for a period. When you see that there are actually only a few people actively reviewing and committing, you might be more prone to understand why not every ticket can make it to the finish line.

Documentation Is the Highest Form of Generosity

I say this every time I speak about contributing to OSS: documentation is frequently lacking. Oftentimes, what is there is outdated. 

How do we make sure that documentation is not an afterthought but is baked into the development process?

Screenshot of the documentation for translating WordPress into Italian
Handbook from it.wordpress.org – How to translate WordPress to Italian. Photo by Gianni Vascellari

There is a lot of work put into writing dev notes for the changes that affect development, but that is not the only documentation that is needed. Some of the processes described in the Core handbooks are outdated, some are missing because they live in experienced contributors’ minds.

As a big fan of Gutenberg and rich, engaging text, I wish our handbooks would fully leverage the power of the block editor and be more inviting. Right now they are a wall of text and whenever we tell people to look at the handbooks I feel my heart shrinking.

Possible solutions, which I am not sure are technically doable, but a girl can dream: sync with GitHub to solve at least the version control issue. Then recruit, recruit, recruit and work with Documentation, Meta, and Design to provide useful, engaging, readable, easy-to-scan handbooks.

Keep Track of the Moving Parts and Work as One

The other thing that I notice often is how teams, focuses, and components work in silos.

This is absolutely not done to be gatekeepers, it’s just how every team self-organized over the years.

We need to find a way to have a bird’s eye view of what is going into the next release and what are all the moving parts.

People sitting at round tables during a contributor day
People Making WordPress at Contributor Day, WordCamp Europe 2015 – Photo by Florian Ziegler

Trac is very granular and you have a number of ready-made reports, you can filter by milestones and see how many tickets are in each component, but that is just part of the story.

Yes, I am talking about finding a way to manage the project as a whole and not as bits and bobs. 

Enter GitHub. At Some Point. 

This is not happening anytime soon, but I hope it will eventually happen. Move development and project management of WordPress to GitHub, like Gutenberg has been doing. 

I know that for many it will be an incentive to contribute to WordPress in a way that is more familiar. It will lower the bar to entrance, which is always welcome. With some handy tutorials, it will allow non-technical people to contribute to documentation, testing, and project management.

The Future is Bright

Despite all the issues, or maybe because of them, the future of WordPress is bright. 

I have been lurking around multiple teams in these years, and lately I notice more people coming on board, more people being involved in each release, more people stepping up in leadership roles in different teams. I have also noticed an increase in diversity, which is always a welcome change.

Bottom line: WordPress needs all of us to make it happen. I hope to see you on board!

WordPress University Was Always Online

Did anybody listen to Peter Thiel? In 2011, the billionaire co-founder of PayPal, dubbed “contrarian investor” by the New York Times, created the Thiel Fellowship. A collection of 24 youngsters under the age of 20 were awarded $100,000 in exchange for dropping out of college to start tech companies.

Thiel said:

I believe you have a bubble whenever you have something that’s overvalued and intensely believed. In education, you have this clear price escalation without incredible improvement in the product. At the same time you have this incredible intensity of belief that this is what people have to do…It seems very similar in some ways to the housing bubble and the tech bubble.

Thiel had struck a raw cultural nerve. For years, as the world reeled and slowly recovered from a financial crisis, the quality of higher education was rapidly degrading while tuition costs were steadily increasing.

As more colleges make the switch to online only in the response to the pandemic, and the “college experience” becomes a relic of a bygone era, one wonders what the future of the university might look like.

Picture of Peter Thiel and Elon Musk sitting around a computer, founders of PayPal.
Peter Thiel and Elon Musk, founders of PayPal. Typical underachievers.

Does a college education still improve economic outcomes in any significant way?

For people interested in tech careers, the answer is probably no. A college education produces minimal, if any, value. In effect, the university model, with American student loan debt amounting to $1.6 trillion, seems to do more harm than good.

COVID-19 has taught the world many harsh lessons and forced us all to reckon with difficult conclusions. But it has also shown us the promise and potential we might have otherwise passed without comment.

According to the U.S. Bureau of Labor Statistics, the 2019 median salary for a web developer comes to $73,760 per year, or $35.46 per hour, with no former work experience in related occupations required. The bureau lists an associate’s degree as the typical entry-level education, which, at most colleges, amounts to 5-6 semesters—considerably smaller investment than a four year degree.

But with readily available—and free—online courses in WordPress, HTML, CSS, PHP, and JavaScript, and the ubiquity of certification programs and “boot camps,” even an associate’s degree seems like overkill. When anyone, from any background, can launch a $70,000 per year career with no more experience than a few free courses available through any public library, we have either entered an era of unparalleled prosperity—or The Twilight Zone.

Should any web developer decide to pick up full stack development skills, or expand into general software engineering, the median salary jumps up to six figures. And this is before we get to the new frontiers of big data and “the cloud.”

Instead of thinking in monotone sentiments like “learn to code,” let’s imagine a generation raised under the banner of learn how to learn.

“The computer was a tool,” says John Dorner, IT coordinator for a USDA grant program, and WordPress developer. Starting his career as a 4-H program leader and agricultural extension agent for the University of Georgia in the 1980s, Dorner discovered computing as a shortcut to efficiency.

It wasn’t so easy to learn computers in those days. Tasks any high-schooler would consider common today required deep knowledge of how hardware and software worked together. There were no hard drives. Dorner had to employ two floppy disks, one with the operating system and application and one with his data, in order to create a spreadsheet.

“Writing code without the Internet was…interesting,” Dorner recalls. Learning PHP and MySQL from a recliner, balancing a laptop on his lap, and a book on the arm of the chair, Dorner demonstrates that the will to learn can exist outside of the classroom.

During our conversation over Google Meet, we talked about the alternatives available to people young and old, and from virtually any socio-economic background, who are interested in pursuing careers in IT or development.

Before opting for an associate’s degree, there are shorter duration programs available. Boot camps and certification programs provide rigorous course work and leave their students with some experience and a portfolio—and no student debt.

Dorner says:

Most web agencies would hire people if [they’ve] got a certificate, a portfolio, or some way to prove [they] have the skills…That’s more important than a full degree. Now, if you want to work at IBM, they might require a Bachelor’s or Master’s Degree. And there is a lot you can learn in those [full degree] programs. But somebody coming out of [community college or a boot camp] can get a good job and something starting.

In addition to free courses online, Dorner suggests that WordPress can be a powerful accelerant to tackling bigger concepts in web development. The WordPress path to web mastery works in “layers.”

“WordPress is a good starting point,” Dorner says. “[You] can do a lot in WordPress without knowing any code.” Once one has achieved a level of comfort with the WordPress interface, he can start adding custom CSS rules. From there, he can try his hand at child themes. And before long, full themes and plugins.

“The more you hack, the more you learn.”

In addition to learning the WordPress interface, the learner is being exposed to deeper concepts like web servers, open source philosophy, and version control.

What is left for the universities to cover?

Everybody needs to have some general education, Dorner replies. Basic math, science, and some of the humanities help to round out a liberal education. Beyond the general education, there are life skills and experience that must happen oustide of the classroom.

Dorner not only works in IT, but creates jobs as well. During the hiring process, I asked, what’s the most important criteria an applicant must meet?

It’s very important to be a self-directed, lifelong learner. I hired someone [recently]…[She] had the minimum requirements, but she had the initiative to learn something new. She was self-taught, went out and learned the stuff, and was able to solve the problem. That was more important to me than [the credentials].

The pathways into the tech field are now baked into society itself. Every kid who learns how to Google for information is building a working knowledge of SEO. Every kid who touches an iPhone learns the fundamentals of UX. And so forth.

The question for the coming years is whether or not the university model will meet these kids on the journey to careers in tech with something unique to offer them, or if the kids can get there well enough on their own.

WordPress university was always online.

Hidden Functions In Selenium 4

Selenium Makes Automating Browsers Easier and Better

There's no doubt that Selenium is one of the best automation undertakings in the QA testing industry. This article will highlight some of the functions in the pre-release early version of Selenium 4. You can download Selenium 4 Alpha from Maven’s Repository, and the code from this article is available at https://github.com/RexJonesII/blog.

All components in the Selenium Suite have something new, including Selenium IDE, Selenium WebDriver, and Selenium Grid.

Women in Tech Salary Transparency Project: Addressing the Gender Pay Gap

Lizzie Kardon, Head of Content and Engagement at Pagely, was featured in a nationwide segment on NBC’s TODAY show last month. On the show, women talked about the wage gap and the issues faced by women in the workforce. Kardon is a part of a growing movement of women who are supporting other women in negotiating a fairer paycheck.

NBC caught wind of Kardon’s Women in Tech Salary Transparency Project, an open spreadsheet where women share salaries. The next step was bringing her on the show and featuring the work she is doing. “Today I went on national television to represent over 500 women in tech because it’s time to close the pay gap and start paying people what they’re worth,” she wrote in an article about the show and project.

The inspiration for the project came after reading a piece by the New York Times on salary transparency. Kardon wanted to put theory into practice. It was an experiment to see if others would be willing to share.

“I honestly never expected it to turn into what it is today,” said Kardon. “When I started this, the day after that NYT piece went out, it was slow to get traction. After I took the plunge to be the first one to share, others gained the confidence to do the same and it snowballed from there.”

The Salary Transparency Project

Currently, the project is a simple spreadsheet where women in tech can anonymously share their salaries. It has grown since the initial 500 entries when Kardon was on national television. Today, over 1,900 women have transparently shared their job title, wages, location, benefits, and years of experience.

The goal is to provide concrete data for other women to use in salary and raise negotiations.

Kardon expressed a desire to do more with the data than having it sitting around in a spreadsheet. One of the goals is to convert it into an ongoing open-source project. She is looking for partners to kick-start such a project with the development skills to compliment her growth and marketing experience.

She also just kicked off the first issue of a new Substack newsletter, No Gender Gap. The first email went to 209 subscribers. The newsletter is a more immediate-term solution toward larger goals.

“[The newsletter] examines everything from getting fairly compensated for your work and negotiating a higher salary to being inspired by women in leadership and finding progressive companies with the best people practices,” Kardon said. “I have a bachelor’s in mathematics, so I’m also stretching those muscles and providing data insights inside of the newsletter. One of the added benefits for paid subscribers is that they can ask me their specific questions on the data, which I will then analyze and answer.”

After shipping the first issue, No Gender Gap has surpassed 300 subscribers.

“It’s just amazing how many people are in need of this information and support, and I guess I’ve just taken it upon myself to provide that right now,” said Kardon. After her guest spot on nationwide news, she has suddenly become an advocate for working women over a few weeks. “It’s a bit surreal, and I can’t stop now.”

Camaraderie and Being Vocal

For men in tech and elsewhere, there exists a sort of bro culture where men are supportive of other men. This culture is not necessarily anti-woman. However, this camaraderie sets men up for success when it comes to negotiating salaries. Men are often open and push their male colleagues and friends to pursue a better wage.

“More and more we as women are learning how to replicate the positive aspects of that culture, inside of our own cohort,” she said. “The most obvious example is my recent salary transparency project. I think it’s fair to say that efforts like this are a somewhat new movement within the women in tech community. In part, it’s as a response to the ways our male counterparts have already established similar systems of support (and sources to boost self-confidence) in terms of their worth. I suppose that out of necessity we’ve begun to rally around each other in hopes to help close the gender pay gap. There’s strength in numbers, and women have realized it’s time to light that fire.”

The first step toward closing the gender pay gap is talking about it. Kardon said the best help women can provide others is to be vocal about helping one another.

“Talking about salary doesn’t have to be taboo anymore,” she said. “The more we share, the better we position each other to know our worth.”

She stresses that the movement cannot stop with data on salaries. Women must be vocal about their interview experiences and their work environments. They must share both the good and the bad experiences while keeping companies accountable for maintaining inclusive practices.

“For some reason, professional society evolved to support companies more than individuals, in the sense that we are inclined to feel uncomfortable sharing our salary, our benefits, how much stock we get, etc.,” she said. “We get scared that if we share, it might somehow negatively affect our position within the companies we work for. Guess what? That only supports companies because it lets them control the narrative. In order to support ourselves as individuals, and hold companies accountable, we should switch that practice to being open about our experiences.”

Kardon described taking those first steps toward normalizing these conversations as scary.

“In my personal experience, sharing the success of this project within Pagely felt like a little bit of a risk, but my higher-ups have been supportive,” she said. “They’ve published my successes across their social platforms, the Pagely newsletter, etc., which is great and has helped the initiative grow even more. I did feel like I might be stirring some sort of pot at first, but it’s lead to some more open conversations that I hadn’t previously had with employers. I needed to take that risk to continue advocating for working women, and I’m glad I did.”

Roadblocks and Systemic Issues

Kardon explains that some of the roadblocks to higher salaries are often self-inflicted because many women lack the confidence of their male counterparts in negotiations. Part of the solution is knowing what they are worth going in.

“The process many organizations implement today is that you, as the talent, go into an interview and are asked what your ideal salary band is,” she said. “This means you set the bar for how much the company needs to offer you. Let’s say they were planning on allocating $100K to this salary, but you only indicate $80K as your ideal number. Do you know any companies that would come back and say, ‘well, we think you’re worth more’? I don’t think that’s standard practice anywhere. To put it in plain terms, if a woman is more inclined to low ball herself to that $80K number, her male counterpart might have the built-in confidence to go ahead and aim higher at $100K and have his demands met.”

The larger roadblock stemming from this is that starting salaries will determine future earnings with a company. Raises are often based on a percentage of that starting salary rather than value to the company.

“After a handful of years, you gain a lot of skill and knowledge in your current position,” Kardon said. “But, you’re still tied to that initial number which oftentimes ends up low compared to the expertise you’ve developed. In that sense, the only way forward is to find another job. For women, we’re more likely to be undervalued over time because we didn’t understand how much we were worth in that initial salary negotiation.”

Kardon does not want to dismiss systemic issues such as gender discrimination, which are not self-inflicted roadblocks. “I think, luckily, there is a trend towards less of that in tech today — though it still exists, don’t get me wrong,” she said. “The best thing I can offer here, in terms of simple solutions that companies can implement to help address these issues, are organization-wide salary transparency and better people practices.”

One solution is for companies to follow the lead of Buffer with its publicly viewable salary calculator. This helps level the field in salary negotiations for all genders.

Another important aspect is taking care of people’s needs. Pagely, the company Kardon works for, provides three months of paid parental leave for both parents. “Yes, this is great for male parents, but benefits like this also make it possible for birthing (and working) women to get the support they need from their partners,” she said. “There’s nothing more isolating than being scared and alone at home with a newborn when your partner goes back to work two weeks later. People practices like this make sure women don’t bear that responsibility all on their own. It’s a small start, but a wonderful move in the right direction of equality and shared responsibilities in the home.”

However, more can be done. “Other women-led people practices to consider are reimbursement for fertility treatments and lactation consultations, professional female networking, women’s leadership development programs, and so much more,” said Kardon.

The WordPress Ecosystem and Women

While Kardon does not have data specific to WordPress companies, the data she has collected thus far is clear. Women make up to 10%, on average, less than their male counterparts in the tech industry. Most of this data comes from women who are developers and engineers, jobs that are in abundance in the WordPress ecosystem.

“Overall, on a positive note, I think the WordPress community is inherently inclusive,” said Kardon. “At WordCamps, we see a high number of female organizers and speakers, and there are a bunch of female-founded companies in the ecosystem and women being recognized for the work they do in our community.”

“A few examples of some of the most respected people in WordPress, who happen to be female, are Lisa-Sabin Wilson, co-owner of WebDevStudios; Tracy Apps of Tracy Apps Design; Rian Kinney of The Kinney Firm; Helen Hou-Sandí, director of open source initiatives at 10up and WordPress lead developer; Rachel Cherry; Andrea Middleton; Josepha Haden; and of course Sally Strebel, co-founder and COO of Pagely,” she said.

Available Tools and Resources

Kardon describes this movement as new-ish with more resources being created every day. As more women become vocal and begin supporting each other, the more progress our society will make.

The following links are to sites and resources where women, not those just in tech, can help each other and find more information (links provided by Kardon):

Converting Test Cases Into a Successful Project

Find out how to create a successful project.

Too often, there are factors that can lead to a major change. A change that affects a lot of processes and people involved in the software development process. Here, let’s have a look at how changing a test management tool can have an impact on a project that works perfectly well from all points of view.

You may also like: 17 Lessons I Learned for Writing Effective Test Cases

10 Things You Should Expect From a Container Registry

Ten things that should be on your container registry wish list.

Container registry technology is picking up steam with microservices architecture, with current Google trends indicating clear growth in this area. While there is no disagreement that a registry is needed; it is clear you need a robust one to deliver your container images to customers effectively. We should, however, set what our expectations should be when working with a container registry. Here are ten things to look for in a container registry.

You may also enjoy:  Container Registries — A Battle Royale

1. Consumer-Centricity

When you create a container image, you definitely need a registry so your consumers can effectively consume both the first version, as well as subsequent versions. With continuous image updates, customers must be notified of the new versions so they can easily pull these new images in an effective and seamless fashion.

Six More JEPs Proposed for JDK 14

Check out the newest proposals for JDK 14!

A recent Mark Reinhold message announces six new "JEPs proposed to target JDK 14": JEP 345, JEP 361, JEP 363, JEP 364, JEP 365, and JEP 367. Assuming no objections are made by November 7, these JEPs will be targeted to JDK 14 along with previously targeted JEPs JEP 349 ("JFR Event Streaming"), JEP 352 ("Non-Volatile Mapped Byte Buffers"), and JEP 358 (" Helpful NullPointerExceptions"). This post summarizes each of these six JEPs proposed for targeting JDK 14.

JEP 345: NUMA-Aware Memory Allocation for G1

The succinct "Summary" of JEP 345 states, "Improve G1 performance on large machines by implementing NUMA-aware memory allocation." Two important "non-goals" of this JEP indicate that the JEP is only intended to add NUMA (non-uniform memory access) support to the G1 garbage collector and only for Linux. However, the JEP also points out that "the parallel collector, enabled by -XX:+UseParallelGC, has been NUMA-aware for many years."

What’s in OpenShift 4?

OpenShift, arguably the most popular Kubernetes distribution for hybrid cloud, recently has got its fourth major release! The latest release is the result of RedHat’s (now IBM) acquisition of CoreOS and is a merge of two leading Kubernetes distributions, Tectonic and OpenShift. Both platforms had their advantages, large open source communities, and solid arguments in cloud-native space.

  • CoreOS Tectonic: operator framework, quay.io container build, and registry service, stable tiny Linux distribution with ignition bootstrap and transaction-based update engine.
  • OpenShift: wide enterprise adoption, security, and multi-tenancy features.

What Do We Get as An Outcome of Such a Merge?

The short answer is, OpenShift 4 is built on top of Kubernetes 1.13 and comes with three main features:

A Guide to Cucumber Best Practices

In this post, we’ll share some good Cucumber practices, especially when writing scenarios using the Gherkin language, clarifying some BDD concepts and from these practices, how to build better scenarios.

BDD is a development strategy, and even if you do not follow this practice, we find it beneficial to use Cucumber (or a similar tool) since it "forces you" to document your automated tests before implementing them. It’s fundamental that these tests be made clear to a user who does not know the behavior of the described functionality and that they be maintainable to reduce the costs of making changes in the test steps.
This image by Cucumber reflects the idea of combining automated tests, having a living documentation, and at the same time, still having specifications that are executable. All of this is thanks to the approach of using a tool like Cucumber.

Webinar Recording: What’s New in JDK 12

This week, we hosted a webinar covering the most important features for developers from Java 12. The recording is now available for those of you who missed it or want to go back over some of the details. In the following video, you’ll find a list of the resources (links) from the video, and answers to the most relevant questions.

Transitioning Jakarta EE to the “Jakarta” Namespace

As described in Jakarta Going Forward, we need to transition the Jakarta EE specifications to the jakarta.* namespace/base package. After long and intense discussions in the Jakarta EE Specification, we have proposed two possible ways forward to kick-start the discussions on this thread.

In this post, I am highlighting some of the content of the initial post to the mailing list for reference.