Random Opinions WordPress

Random Thoughts on… Travel and WordCamps

While looking at the list of WordCamps that I’ve spoken at, it got me thinking about travel and going to WordCamps away from home. Here are some random thoughts on that matter.

  • In General, I think it’s best for local camps (i.e. not specialized events like WordCamp for Publishers or regional camps like WordCamp US) to be majority local.
  • Defining local is hard. Am I local to Montclair? It’s less than an hour for me to get there via train. If yes, does that also mean I am local to Philly? I would say I’m not really local to either of them even though they are all NYC Suburbs.
  • I like to think of things as being in kind of four different classifications:
    • Very Local. This is the place you live or the place you work.
    • Day trippable. These are the places where it’s super realistic to wake up one morning and decide “I’m going to visit X today”. It’s generally things in like a 2 hour not flying radius.
    • Hard Day Trips. These are the places that it is possible to do a not flying day trip to, but it’s not going to be the easiest trip. If flight times work, a flying day trip is completely doable.
    • Overnight trip required. There is no way around, this is real travel
  • For the past few years, I’ve limited myself to speaking in the first 3 categories. Partially to take it easy on travel, and partially since I took 2018 off from speaking entirely.
  • It’s important for people who can be considered “Names” to make space for the next group of contributors and this includes not speaking all the time.
    • Sidenote: I was chatting with another core committer recently and we noted “We are not the future of WordPress”. I don’t intend to go anywhere, but I also recognize that my strength for the project today isn’t to be the loudest voice.
  • I’m not at all convinced that “Names” sell tickets for local WordCamps. I am convinced that developing and nurturing a quality community sells tickets to WordCamps.
  • It’s important to visit other communities to meet people, but that doesn’t mean I need to speak. One of my favorite camps was WordCamp Seattle 2014 as I got to meet a number of people and see some old friends that it had been years since we spent time in person.
  • My first ever camp that I went to with no connection to the local community was super important to my growth as it allowed me to meet a lot of folks, many who became long time friends. WordCamp Phoenix 2011 was a special event.

Overall, I think going forward I’m going to try to travel a bit more, while staying firmly in my local and near local communities.

What are your thoughts on WordCamps and travel? How do you approach your decisions on when to fly to a different city for a camp?

Design Programming tao

Random Thoughts On…Product Engineering

For the past 5.5 years, I've been a part of the product engineering leadership at a couple of organizations. While I'm not sure if these ideas translate to client services, I know that they have all been valuable to me as I work long term building products and brands.

  • It's important to periodically reevaluate your tooling and process. Iterating on the process can be just as important as iterating on features. As a team, you are able to take all that you have learned about how you work and try to improve upon it.  It's important to not do this too often though, otherwise, you are spending your time chasing something shiny rather than building something that solves problems. 
  • Users over business requirements. Users over short-term wins. Users over everything. If you aren't building for people, your motivations are wrong and you need to rethink what you are doing. Always think about users. If you are discussing working on anything and no one has asked how it benefits users, ask that question. 
  • Implementors need to have control over either the schedule or the scope of a project. Giving up both leads to burn out and/or low quality work. Implementors mean everyone actively contributing, and not just the engineers. 
  • Design is more important than you think. Design is not done at a specific point. Designers need to be involved in everything. Yes, even the most underhood back-end project. Design thinking is undervalued. I've yet to see it be overvalued.
  • Share your work and ideas internally early and often. Even when they are half-baked or you don't think they are very good. 
  • It's important to understand that what is a high priority for you, isn't always a high priority for the team. That said, every member of the team should have at least one personal priority accomplished on a regular basis.
  • At least once a quarter, you should do a sprint focused on developer experience, refactoring, and bug features. Keeping the code easy to work with shouldn't be forgotten.
  • Do things that don't scale, but make them scale if you keep doing them.
  • There are a lot of things you can optimize for and deciding what you want to optimize for is a challenge. Sometimes you need to optimize for Time To Launch, others you want to optimize to make it easier to iterate on the UI. Figure out what's important on a project by project basis.
  • Don't forget any of Akin's Laws of Spacecraft Design, especially number 1.
  • At the end of the day the rules for success are 1) keep the site up 2) faster is better than slower 3) experiment with everything else
Random Opinions WordPress

Random Thoughts on…WordPress?

I wasn't sure how to title this one. I went to the WordPress NYC "Help Desk" meet-up on Wednesday and learned a lot about things users of WordPress are struggling with.   So I guess in some ways it is random thoughts on me learning more.

  • The biggest thing people struggle with is themes they bought off Theme Forest. Most of them are hard to configure and include so many damn options that it's easy to screw up a site and get lost trying to fix it.
  • One of the worst parts of these themes is that when there is an issue, I can't just open up the source from everywhere in the world and trouble shoot.  If they used themes from, I could help them.
  • The first question someone asked me about related to Gutenberg. People are paying attention to it. I don't know if this is a good or a bad thing. 
  • I was referred to as a WordPress Celebrity and it was a bit off putting. The people that make and contribute to WordPress are just people. Some of us have the privilege of contributing to WordPress. Others have the privilege of maintaining WordPress. But both come from points of privilege as they require time, energy, and money (for a computer, internet access, etc.),  but ultimately we shouldn't be considered celebrities. That's not to say it isn't nice to be thanked every once in a while, but I don't know anyone who contributes to WordPress for fame. 
  • It's important that we don't assume people know the difference between and Especially with the lines getting more and more blurred due to " Business".
  • Finding the right theme is still #HardAsFuck for most users. I think that no matter how great WordPress the application until people find the right theme for them, we are likely to lose them.

Random Thoughts on Gutenberg

Gutenberg is being developed as the next generation WordPress editor. I made my first contribution earlier today. Nothing big, but something that will hopefully help people test it.  The contribution process was , but for end users, that’s not the important thing. What is important is the actual editor. I’ve seen talk that Gutenberg is in “Open Beta” now, but I think calling this beta software is still premature. I think there is plenty that will change between now and any possible inclusion in WordPress core for Gutenberg. Here are my random thoughts and my first reactions to using Gutenberg.
  • It’s pretty.  And Fast. I never thought of the post editor as being slow, but there is something about Gutenberg that makes it feel fast.
  • There are a lot of rough edges. It’s hard to know what is a bug, what is intentional,  what just hasn’t been done yet, and what hasn’t been thought of.
  • There is an option for “Drop Cap” that doesn’t seem to do anything on the front end yet.
  • I’ve also never intentionally been able to highlight multiple blocks at once, but I’ve sure done it on accident a lot.
  • I can’t seem to delete some blocks without going into the text format.
  • I really like how the plugin is implemented. Being able to test Gutenberg without completely giving up the current editor is awesome and will hopefully help encourage people to test it out.
  • The tab key doesn’t let me actually add a tab, even inside a code block.
  • Existing content can’t really be imported. I hope this is something that is on the roadmap since it sure would be odd to Gutenberg sometimes not work like Gutenberg.
  • I miss a lot of the meta boxes I’m used to seeing on the screen.  Things like Yoast SEO (on some sites) and custom taxonomies are just not shown. If every metabox ever made for WordPress needs to be remade, it sure is going to make developers lives a living hell.
  • Adding images and the image block in general are confusing. For example, despite having “All da” ( which I think is “All Dates” but is cut off) selected, only my 10 most recent images are shown initially.  There are no names/text associated with the
  • I can’t figure out how to add an image to this list.
  • Autoembeds seem to work, but don’t display anything in the UI.
  • The Embed URL block tells me that I can’t embed that content, but the front end of my site tells me differently.
  • The sidebar being empty 3/4 of the time feels really odd.
  • The default state is likely my favorite “Distraction Free Writing” implementation in WordPress yet.  I’m simultaneously able to focus on my content, and yet I have all the tools I need for writing. I don’t have all the tools I need for content creation.
  • I need to take my hands off my keyboard more than usual. Adding a paragraph after a list isn’t easy to do with just a keyboard.
Lots of things are constantly changing with Gutenberg ( my small change was merged within hours of proposing it). I’m going to keep my eye on it. The content for this post was drafted in Gutenberg and I’m going to try to continue to do that going forward.  Go install Gutenberg, so you can generate your own opinons on it.
Random Opinions

Random thoughts on one month of daily publishing

On December 9th I published Random Thoughts on Selecting Speakers for conferences. I didn’t realize it then, but I was on my way to a streak of daily publishing. Here are some random thoughts and stats about the experience:

  • Always Press Publish, which I thought was going to be a throwaway New Years Eve post ended up being my most read post. It started as some tweet advice, and I thought more about it as I went throughout the day before sitting down to write it out.
  • Some days I really struggled to find something to say, but once my streak got going, I felt I needed to keep it going.
  • I don’t think I said the word fuck enough over the last month, so I’m going to say fuck twice in this sentence.
  • I wonder about impact with my writing (shout out to Greg Linch). Seeing comments, retweets, snapchats, and most importantly pingbacks/trackbacks makes it worthwhile. Seeing Jeremy Felt press publish The Powers of Money and Community makes me feel like my writing had some impact on someone I respect a great deal.
  • I want to keep my streak going.  I also want for it to continue to feel natural.
  • Some of the posts are drafts that I’ve sat on for a while that always felt half finished. I still have 116 drafts and that number only got bigger over the last month.
  • Twitter brings in more traffic than anything else. I was impressed to see Facebook bringing in traffic even though I deleted my account before this streak started. I wish it wasn’t so much of a walled garden and I could see how it was being shared and what people had to say.
  • The post status API would likely need to not suck for that to really be possible.
  • After I did my collection of best of random thoughts 2016, I felt like I couldn’t do any more.  There were a few times that I think this format would have worked well and missed it since I boxed myself into the artificial corner.

So the big question is if I should keep the streak going.  I see no reason to end it now, but only time will tell.


Best of Random Thoughts 2016

I like to publish my random thoughts on varius subjects.  I published 8 collections of them this year on a number of different subjects.  Here are my favorite ones from each of those 8.

Thoughts on the PHP 5.6 support timeline

We have to remember that the vast majority of end users and site owners don’t know what PHP is, let alone what version of PHP they are running.  Many have no control over the version of PHP they are running. It’s the hosts responsibility to ensure users are running an up to date server software and software vendors responsibility to ensure they work on the latest and greatest versions.

Thoughts on being an MC for A Day of Rest

It’s much easier to introduce people you know. I was lucky and knew every speaker (might be why I was given the honor of introducing everyone ). I tried to connect for at least a moment with each speaker so I knew how to pronounce names properly (important for everyone, including those that you worked with for multiple years)

Random Thoughts on the WP REST API and WordPress Core

Due to the fact that every WordPress site’s API is going to look a little different, clients for the API are going to have to be a “smart”.  This means they are going to have to consider getting both more data than they expected and less.  This is very different from a lot of other API clients where the response is consistent.

Random Thoughts on Pressnomics

The Jorbin Test seems to have had a mostly positive reception. I hope it helps other developers.

Random Thoughts on Finding Jobs

Know your skills and experience, but don’t let them hold you back.  A lot of times job descriptions will be written in a way that make you not feel qualified.  That might be your impostor syndrome talking.

Random Thoughts on… Teaching yourself to code

  • Fail.  Fail a lot. Failure is a gift.

“I have not failed. I’ve just found 10,000 ways that won’t work.”
― Thomas A. Edison

Some More Random Thoughts on Default Themes

What excites me most about TwentySeventeen is all the pieces that will likely not be a part of the theme, but will be changes that the theme drives in core.

Random Thoughts on Selecting Speakers for conferences

Diversity is incredibly important for a speaker lineup as it helps present to an audience that all types of people are doing great, important things you should know about.  Diversity in this context means physical presentation (gender expression, age, race, disabilities, etc.), experience, reputation in the community, and employer.


Random Thoughts on Selecting Speakers for conferences

I just finished attending my final conference for 2016 where I once again helped with the speaker schedule without having an input on selecting speakers.  Having been on both sides of the speaker selection coin, here are some random thoughts I have on it (including some half-baked ideas).

  • Prompt notification of speakers is incredibly important.  It sucks to be playing the waiting game.
  • Blind first reviews help to reduce bias towards “big names” and other inherent biases.  This is especially important if the review committee knows people proposing talks.
  • I wonder how doing two separate calls for speakers would work.  Essentially do one far out for “Timeless” talks and one much closer to the event for “Time full” talks. That way you give people lots of time to prepare for talks that are more game changers while also allowing some slots to be filled by talks that are about the issues of the day (since a lot can change from when you do an initial call for speakers to when a conference is).
  • I always appreciate when a talk is given to an audience for the first time. If a talk has been presented at a similar event and is available on video, it has significantly less value to me.
  • Diversity is incredibly important for a speaker lineup as it helps present to an audience that all types of people are doing great, important things you should know about.  Diversity in this context means physical presentation (gender expression, age, race, disabilities, etc.), experience, reputation in the community, and employer.
  • You should know who your audience is when you are doing speaker selection.  Use personas and make sure there are a number of talks for every persona you create. Ideally, your selection committee represents these personas.
  • Some slots should be used to invite people that wouldn’t normally apply. This is people from outside the community who wouldn’t normally see your call for speakers.
  • I like seeing at least one “reach” topic that leaves many people scratching their heads, but inspired to maybe understand something new.

Some More Random Thoughts on Default Themes

Last year, on default theme announcement day, I shared some thoughts on default themes. As a CertifiedWordPressThoughtLeader, It’s time to update those thoughts:

  • TwentySeventeen looks amazing.  Really excited to see something completely new.  I think it will eventually look better with a bowtie on it.
  • I still wish there was an open call for ideas to brainstorm. Perhaps something for TwentyEighteen?
  • I really want to see a default theme that demonstrates wp-api. I also recognize that this will raise the barrier to entry for contributing.  It needs to be balanced.  Maybe by Twenty Eighteen everyone will have learned JavaScript Deeply so that it can be a reality?
  • What excites me most about TwentySeventeen is all the pieces that will likely not be a part of the theme, but will be changes that the theme drives in core.
  • If you haven’t been involved in creating a default theme, you should. It’s a lot of fun.  It’s also on GitHub right now, so if that is your flavor, use it.

Random Thoughts on… Teaching yourself to code

Self-education is something that separates good developers from great developers.  Great devs are always searching for new ways to do things, always trying to learn. You need to rely on YOU for your education.  However, teaching yourself isn’t always something that comes natural. Here are some of the things I’ve learned about learning that might help you.

“Drop out of school before your mind rots from exposure to our mediocre educational system. Forget about the Senior Prom and go to the library and educate yourself if you’ve got any guts. Some of you like Pep rallies and plastic robots who tell you what to read.”  – Frank Zappa

  • Reading code is in many ways more valuable than writing it. Read open source code every single day. If you are use a library, read it’s internals. Read the annotated first version of jQuery and then read the annotated version of 1.6.  Then read where it is going tomorrow.
  • Look at the commit messages to understand *why* changes happen. Some are funny, some are novels, but going from *what* to *why* helps you learn.
  • Read technical specs. If you work on the web, you should read and understand *how* the web works.
  • Submit a patch to a large and maintained open source project. There are two ways to get feedback from people that work on these big projects: Hire them, or contribute to an open source project they maintain. One of them is going to be a lot cheaper.
  • Open source half-baked ideas.  Yes, you need to be brave
  • Fail.  Fail a lot. Failure is a gift.

“I have not failed. I’ve just found 10,000 ways that won’t work.”
― Thomas A. Edison

  • Keep on failing.  I have failed more times than I have succeeded, but it just makes success that much more gratifying.
  • Attend meetups and conferences. Chat with people about code. Ask them what they think.
  • Teach.  Submit a talk to a conference where you aren’t 100% sure beforehand that you know the topic area.

“Those who know, do. Those that understand, teach.”
― Aristotle

  • Instead of finding someone to mentor you, find someone you can mentor.

“In learning you will teach, and in teaching you will learn.”
― Phil Collins

  • Once you have moved beyond the basics, experience is the best teacher.  Build something, even if you are going to throw it away.
  • Accept feedback liberally, process it critically. Let others tell you what they think you should do and how to do it, but only listen to it if you think it’s a good idea.
  • Be passionate, have opinions and share your opinions.  A former boss of mine told me that you can’t be a good engineer unless you are opinionated.
  • Make time to look backward and forwards. Hold retrospectives and analyze if you were correct or not.
  • Read things from unrelated fields and find parallels. I like to find lessons for building websites in science fiction and fantasy.

Random Thoughts on Finding Jobs

This is a companion to The Jorbin Test.  It’s also in some ways a continuation to some other notes on job hunting for WordPress develoeprs I’ve written before, but this is much more generalized.

  • Don’t wait till you hate your job and feel like it is affecting to mental health to start looking for a job.  You never know how long a search is going to take, so start having conversations and getting your name out early.  A conversation doesn’t mean you need to quit your job.
  • Along those lines, if you wake up enough days in a row not looking forward to what you are going to do that day, it’s time for a change. Put another way:

    for the past 33 years, I have looked in the mirror every morning and asked myself: “If today were the last day of my life, would I want to do what I am about to do today?” And whenever the answer has been “No” for too many days in a row, I know I need to change something. – Steve Jobs.

  • If you know someone at a company, don’t be afraid to ask them for tips, but don’t expect them to do the work for you. Lots of great places have a route they want applicants to go through and it rarely is the side door.
  • Go to events. Many meetups end with a call for whoever is hiring to stand up give a 30 second blurb about what you are hiring for. Companies that sponsor conferences are often there to recruit.
  • Find a confidant or two who you can chat with during the job hunting process. I have almost always had one confident that’s in technology and one that’s not to advise me.
  • Follow up on all emails and offers quickly.  You don’t want to burn bridges by ignoring people.
  • Know your skills and experience, but don’t let them hold you back.  A lot of times job descriptions will be written in a way that make you not feel qualified.  That might be your impostor syndrome talking.
  • Leverage your network. Let people know you are looking, but try to be specific about what you are looking for. Understand what you want
  • Try to have an idea of what you want most out of your next job. Both in terms of compensation, but also in terms of values and responsibilities.