10up Open Sources Its Engineering Best Practices

Taylor Lovett, director of Web Engineering at 10up, announced today that the company is open sourcing its engineering best practices. 10up has historically been a leader in contributing to open platforms, most notably being one of the first development agencies to sponsor an employee to work full-time on WordPress core.

The company used GitHub pages to create a website featuring best practices for tools, project structure, version control, PHP, and JavaScript.

10up-best-practices

10up’s best practices were created in an effort to standardize the company’s tools, frameworks, libraries, style, version control, etc., for its employees. “Standardization in engineering is increasingly important with such a large team. Over the past few months we collaborated as a company to document how we engineer and why,” Lovett said. The result is a concise public reference for 10up’s 90+ full time employees and anyone else who is interested.

This collection of best practices and tools makes it easier for new employees to jump on board and be ready for efficient collaboration with others in the company. The in-depth guide covers everything from efficient database queries, data storage, namespacing, and security, to helpful tools for local development, dependency management, and version control.

Although the page’s description emphasizes that the content is not geared to teach anyone to become an engineer, the best practices site is undoubtedly a valuable learning resource. If you’re new to WordPress development, the site will give you an idea of the kinds of tools that a top agency uses in order to work more efficiently.

The team at 10up hopes that the best practices website will also help to influence community members. The site states that company is willing to evolve the best practices through contributions and invites folks from the community to contribute to the site’s repository on GitHub.

Would you like to write for WP Tavern? We are always accepting guest posts from the community and are looking for new contributors. Get in touch with us and let's discuss your ideas.

10 Comments


  1. This is an awesome reference! Thanks for reporting it Sarah, and thanks to my former colleagues at 10up for sharing it :)

    I don’t understand this bit … ” Anything intended to be private should actually be specified as protected. There should be no private fields or properties without well-documented and agreed-upon rationale.”. Does anyone reading this understand the logic behind that?

    Report


    1. Sorry, I spoke to soon. Protected methods and vars are available in classes that inherit the parent class, but not private methods and vars.

      Report


      1. Yep, I get that. I’m just not understanding why that is a reason not to make stuff private. Sometimes I don’t want people messing with stuff, so making it private makes sense then IMO.

        Report


      2. Some things do truly need to be private, and there’s nothing wrong with making them so as long as you document the reasoning behind it. That way, people reading your code can understand even if they don’t agree with you.

        What we’re trying to prevent is classes that are overly-stingy with access to their members, where child classes can’t even display data because they can’t access it, for example. It’s hard to know everything other programmers will want to do ahead of time, and there’s no sense making things difficult for them.

        Report


      3. Not “never”, just “only with a really good reason that your colleagues agree with”. *grin*

        Report


      4. I think I’ve figured it out. By making things private, it prevents others from extending their functionality, which could be bad in some situations. But the purpose of using a private method is to STOP people from extending the functionality, so as long as you know what they’re there for, then that shouldn’t be a problem. So I guess what that text is meaning, is that you should only make things private if you know what the ramifications of doing that are.

        Report


  2. As somebody who generally works on his own, with very little formal training, I love resources like this. Bravo 10up :)

    Report


  3. This is awesome! Great to see companies this big being so transparent. Very helpful for the community.

    Report

Comments are closed.