Popular Posts

Why everything should have a URL

15 min read

By naturally capturing and exposing process and sharing it as widely as is appropriate for the subject matter, URLs render organizational context time and location agnostic allowing knowledge to move more freely within an organization on an asynchronous, discoverable, and opt-in basis.

Why you should work asynchronously

7 min read

Asynchronous work allows for remote work that's enjoyable and that actually works. Async increases inclusivity, produces better outcomes faster, encourages discoverability and permanence of context, creates space for learning, shifts knowledge workers to higher value work, improves work-life balance, empowers distributed teams, and enables parallelization and flow.

Why open source

18 min read

Twenty five microeconomic, macroeconomic, moral, transparency, participatory, and personal motivations why you and your organization should consume, publish, contribute to, and support open source.

Leaders show their work

12 min read

Absent working within systems that naturally capture and expose process, transparency takes effort. Leaders should hold one another accountable for spending the additional cycles to show their work through communicating not only what decision was made, but also how the decision was made, and why.

Manage like an engineer

10 min read

If issues, pull requests, and project boards are the best way to develop software, should they not also be the best way to manage software development?

Cathedral vs Bazaar People Management

5 min read

The cathedral and the bazaar are two contrasting styles of people management, inspired by the open source movement. The cathedral style is more hierarchical, controlled, and standardized, while the bazaar style is more decentralized, autonomous, and collaborative.

Remote work requires communicating more, less frequently

3 min read

Remote work requires communicating more, less frequently, because asynchronous communication involves less frequent, but richer communication, meaning there is less time talking about the work and more time doing it, allowing the system to optimize for throughput and flow.

Recent Posts

How to run LanguageTool on macOS

6 min read

How to set up a free and open-source grammar, style, and spell checker that can be run locally on your machine without sending data to a third-party services like Grammarly, preserving the privacy of what you type.

Cathedral vs Bazaar People Management

5 min read

The cathedral and the bazaar are two contrasting styles of people management, inspired by the open source movement. The cathedral style is more hierarchical, controlled, and standardized, while the bazaar style is more decentralized, autonomous, and collaborative.

Older Posts

How to communicate like a GitHub engineer

1 min read

Learn more about how we use GitHub to build GitHub, how we turned our guiding communications principles into prescriptive practices to manage our internal communications signal-to-noise ratio, and how you can contribute to the ongoing conversation.

Remote work requires communicating more, less frequently

3 min read

Remote work requires communicating more, less frequently, because asynchronous communication involves less frequent, but richer communication, meaning there is less time talking about the work and more time doing it, allowing the system to optimize for throughput and flow.

Pull requests are a form of documentation

3 min read

When authoring a pull request, use the body as an opportunity to document the proposed change, especially the "why", and cross link any related issues or other PRs to create a trail of breadcrumbs for future contributors.

Practice inclusive scheduling

2 min read

When working as a distributed team, be mindful of cultural differences, time zones, encouraging breaks between meetings, and connecting as humans.

Intro to GitHub for non-technical roles

10 min read

GitHub isn't just for software developers. If you're in a non-technical role, you can use GitHub to follow along, collaborate with your team, track your work, and share information. This brief guide includes everything you need to know to get started confidently with GitHub.

Manage like an engineer

10 min read

If issues, pull requests, and project boards are the best way to develop software, should they not also be the best way to manage software development?

Helpful 404s for Jekyll (and GitHub Pages)

3 min read

How to implement 404 - not found pages for Jekyll and GitHub pages that automatically suggest similar URLs to the one requested based on your site's sitemap.xml.

Why you should work asynchronously

7 min read

Asynchronous work allows for remote work that's enjoyable and that actually works. Async increases inclusivity, produces better outcomes faster, encourages discoverability and permanence of context, creates space for learning, shifts knowledge workers to higher value work, improves work-life balance, empowers distributed teams, and enables parallelization and flow.

The seven things a corporate Chief of Staff does

14 min read

Chiefs of Staff manage the office of the CXO, improve organization effectiveness, solve problems without regard for organizational boundaries, manage the CXO's portfolio of responsibilities, shape organizational strategy and culture, serve as trusted counsel and advisor to the CXO, and manage the CXO and the organization's relationships and overall brand.

Leaders show their work

12 min read

Absent working within systems that naturally capture and expose process, transparency takes effort. Leaders should hold one another accountable for spending the additional cycles to show their work through communicating not only what decision was made, but also how the decision was made, and why.

Advice for managing open source communities at scale

2 min read

As open source projects grow, maintainers' most pressing challenges often shift from the technical to the administrative as they transition from managing code to managing a community of contributors.

Nine things a (technical) program manager does

10 min read

Technical Program Managers are responsible for communication, coordination, and facilitation, capturing and tracking the work that needs to be done, identifying, analyzing, and mitigating program risk, reporting up and across, managing relationships, resolving conflict, driving consensus, boundaryless engagement, and doing what needs to be done.

What to read before starting (or interviewing) at GitHub

1 min read

If you're starting (or preparing for an interview) at GitHub, here are a few of my favorite posts to help you understand how GitHub works, its culture and communication patterns, and what it's like to be a GitHubber.

How I over-engineered my home network for privacy and security

15 min read

How I used a UniFi Dream Machine, VLANs to segment IoT, Pi-Hole to block ads, cloudflared for DNS over HTTPS, and Cloudflare Gateway to block malware/phishing to (over) optimize my home network for privacy and security.

Budget for the hidden "internet tax"

9 min read

Trust and safety (abuse protection) is a critical part of your product, and it's a cost of doing business on the internet. It's a hidden "internet tax" that you'll need to pay, whether you want to or not.

How I manage GitHub notifications

8 min read

I use web notifications for everything but @mentions, which I have pushed to me via email. I subscribe to lots of repositories to ensure I don't miss anything, but unsubscribe from any thread not immediately relevant to me to keep noise to a minimum. I also have a few tools I've built to customize GitHub notifications for the way I work.

Eight tips for working remotely

10 min read

When embracing remote work, you could have the best tools in the world, but without the necessary social norms, you're setting yourself up for failure. Here are eight cultural "rules" that represent the intangible of successful remote communication, regardless of your industry, your role, or what tools you use.

User blocking vs. user muting

10 min read

Most platforms offer some form of user blocking, user muting, or both. Here's a brief look at why GitHub has taken a bit of a unique approach to blocking that diverges from what you might see on other social networks and some of the special considerations that come as a result.

Go near, go far, meet in the middle

5 min read

When joining an existing team as a Product Manager, you should tackle those tasks you know you need to tackle, build consensus around a shared product vision, and facilitate discovery for how you will get there.

What lawyers can learn from open source

1 min read

How lawyers can adopt the workflows, tools, and philosophies of open source to make their legal practice more remote-friendly

Problems, not solutions

6 min read

When you're developing software, your job is to optimize for low-effort, high-impact initiatives that improve user experience and give you the best value in time and effort. The easiest way to do that is to focus on why you're doing things and who you're doing them for, counterbalanced by the effort required, not the other way around.

Yes, No, Maybe

4 min read

When responding to customer feature requests your answer should be in the form of "we're doing that", "we're not doing that", or "we might do that".

Why you probably shouldn't add a CLA to your open source project

12 min read

Contributor license agreements (a "nice to have" for many corporate-backed open source projects) create a contribution-hostile developer experience, require significant administrative overhead, shift legal blame to the party least equipped to defend against it, and are unnecessary given modern development tools.

How not to prioritize a feature

7 min read

The hardest part of software development is not coming up with features to build, but instead, deciding what features will have the biggest impact.

Seven ways to consistently ship great features

6 min read

Developers that I see consistently shipping great, user-centric features over communicate; write features first, then code; get it in users' hands, not on main; ship the smallest delta possible; appreciate that "Next iteration" doesn't mean "never"; always open issues; and optimize for users.

Your project's README is your project's constitution

5 min read

Your project README doesn't just communicate the "what" and "how", it communicates the "why", and serves as your most effective tool to combat open source scope creep and technical debt.

Bikeshed honeypots

5 min read

A bikeshed honeypot is an obvious flaw that you place in a proposal in hopes that others will fixate on the honeypot, diverting their attention from the aspects you feel more strongly about.

How I Atom (for prose)

5 min read

How I customize the hackable Atom text editor for writing prose and Markdown.

Eight things I wish I knew my first week at GitHub

11 min read

A short list of tips and tricks I offer to new employees when they join GitHub. Specifically, ship something in your first two weeks; spend your first month learning how to learn and how we communicate; about one month in you'll get overwhelmed; the challenge is in deciding what not to do; GitHub wants you to grow and learn; just do it; professional, not formal; and share your past experiences, but be prepared to unlearn things.

The seven habits of highly effective GitHubbers

11 min read

GitHub has a unique work culture. Here are seven traits that I've observed in successful GitHubbers over the years that I think make GitHubbers more effective. Specifically, professional, but not formal; ship early, ship often; if you see something, say something; curiosity and self-improvement; always be willing to help; contribute to the appreciation economy; and honesty, integrity, and authenticity.

How to make a product great

7 min read

When building a product, strive to absorb complexity on behalf of users, build features 80% of users will use, drink your champagne, optimize for the ideal use case, not the most common, let the user make the change, always provide an out, be as lean as possible, iterate, iterate, iterate, push logic to the edges, and be transparent.

Removing a feature is a feature

8 min read

Features aren't what make a product great. Being the best at solving a particular problem does. Every time you remove a feature that doesn't support your product's core use case, you're actually adding an implicit feature that does.

Books for geeks

1 min read

I've read quite a few books over the years about technology, open source, and business. Here are some of my favorite.

Twelve things a product manager does

10 min read

Product managers aren't allowed to have excuses, serve as team captain and user advocate, prioritize and sequence, communicate, coordinate, and facilitate, solve for what the customer's underlying needs, ensure the team ships v0.1 not v1.0, don't confuse urgent or measurable with important, capture every idea in an issue backlog, conduct research and strategic thinking, and keep up with industry trends

Moderating a controversial pull request

5 min read

If you're about to open a controversial (or wide-reaching) issue or pull request, there are a handful of steps you can take to set yourself up for success.

The missed opportunity that is the White House Open Source Policy

6 min read

The White House Open Source Policy is an opportunity to fold the map in half, and bring the innovation of Silicon Valley a bit closer to the Beltway. Limiting the impact of open source to a time- and scope-constrained pilot unduly delays a unique and long-needed opportunity to modernize government.

How to derail any meeting

4 min read

How a WWII field manual can help modern knowledge workers identify those inadvertently sabotaging your organization today.

The six types of pull requests you see on GitHub

3 min read

Whether collaborating on code, data, or prose text, there are lots of different strategies for using pull requests on GitHub. Specifically, just a heads up, sanity check, work in progress (WIP), early feedback, line-by-line review, and pull request to a pull request.

Open source as Yelp for software

8 min read

Open source has become somewhat of a Yelp for software, and with it, has the potential to shift the balance of power from software publishers to software consumers.

Why open source

18 min read

Twenty five microeconomic, macroeconomic, moral, transparency, participatory, and personal motivations why you and your organization should consume, publish, contribute to, and support open source.

Four characteristics of modern collaboration tools

15 min read

Today, open-source-inspired collaboration tools are open, linkable, asynchronous, and naturally capture and expose process. Ask yourself if you're working the way you'd like to work, or just the way everyone else does.

Why everything should have a URL

15 min read

By naturally capturing and exposing process and sharing it as widely as is appropriate for the subject matter, URLs render organizational context time and location agnostic allowing knowledge to move more freely within an organization on an asynchronous, discoverable, and opt-in basis.

The three biggest challenges in government IT

12 min read

Change aversion, lack of technocratic leadership, and heavyweight processes bred by distrust keep government IT 5-10 years behind the private sector

Bringing open source workflows to the enterprise

8 min read

How open source workflows and philosophies can be leveraged by the enterprise to produce more modern software, even if that software ultimately remains closed source.

The Zen of GitHub

3 min read

Whether you call it taste, culture, or zen, there are underlying assumptions that members of an organization rely on to resolve ambiguity in pursuit of the organization's mission.

Merge by committee

7 min read

There is an emerging anti-pattern, whereby organizations review and discuss issues and pull requests in regularly scheduled, closed meetings, a practice that almost certainly sets the project up for failure.

Copyright notices for open source projects

8 min read

What is the appropriate copyright notice for opens source projects? Who is the copyright holder? What year(s) should you put? Do you even need a copyright notice in the first place?

Test your content

4 min read

There's another workflow that version-controlled, collaborative content enables: continuous integration for prose.

Eight lessons learned hacking on GitHub Pages for six months

1 min read

Believe it or not, just over a year ago, GitHub Pages, the documentation hosting service that powers nearly three-quarters of a million sites, was little more than a 100-line shell script. Today, it's a fully independent, feature-rich OAuth application that effortlessly handles well over a quarter million requests per minute. We wanted to take a look back at what we learned from leveling up the service over a six month period.

The difference between 18F and USDS

15 min read

Two parallel efforts at modernizing the way government approaches technology are taking foothold in the Beltway: 18F and the U.S. Digital Service (USDS)

Five best practices in open source: external engagement

14 min read

When it comes to open source, simply publishing code isn't enough. Open source is about fostering communities around shared challenges, and as the maintainer of an open source project, that responsibility falls squarely on your shoulders. Go out of your way to encourage, praise, and support each contributor and each contribution as if the project's success depended on it, because in reality, it does.

Five best practices in open source: internal collaboration

9 min read

The way your organization works internally will necessarily be a mirror image of how your organization works externally, and if that workflow is closed or untrusting, you'll likely have trouble embracing to open source

Explain like I'm five: Jekyll collections

8 min read

Collections extends Jekyll's post and pages publishing functionality, and brings Jekyll's zen-like simplicity to all sorts of other types of content that aren't dated, but have a relationship with one another.

Diff (and collaborate on) Microsoft Word documents using GitHub

5 min read

Word Diff empowers you to be a Markdown person in a Microsoft Word world by automatically converting Word documents to Markdown each time you commit to GitHub, where they can be diffed, versioned, and collaborated on internally.

The fine print nobody reads: what to do so government can use your service

8 min read

Federal-compatible Terms of Service (TOS) agreements are special agreements negotiated between the federal government and vendors who offer free social media, mobile, business and other digital tools. These federal-compatible TOS agreements modify or remove problematic clauses in standard TOS agreements, and allow federal employees to legally use these tools. With nearly 2.75mm federal government employees, learn how to get your foot in the door to an increasingly interested market segment.

Why you should care about HTTPS, even if you have nothing to hide

4 min read

HTTPS ensures not only the privacy of the content you request, but also, protects the fact that you're even requesting it in the first place. HTTPS isn't just for secure transactions like online banking and e-commerce. HTTPS is for any website that adds to the public dialog.

Geeks and suits

7 min read

There are two types of change agents in the open government/data/source community: geeks and suits, but despite being in an industry built almost exclusively on communications, they never talk to each other

The myth of government IT

5 min read

When it comes to innovation in government, there's the law, and then there's the myth that surrounds it, a myth used to place never-ending bureaucratic obstacles in front of those who champion change.

A White House open source policy written by a geek

8 min read

As a geek, as a former government technologist, and as a life-long member of the open source community, here's three things I hope the White House Open Source Policy embodies.

15 rules for communicating at GitHub

16 min read

Asynchronous communication through high-fidelity mediums like issues and chat eliminate the endemic "you had to be there" aspect of most corporate workflows, and reduces the need for a dedicated management class to capture, collect, and shuttle information back and forth between business units.

What is a Government Evangelist?

3 min read

The Government Evangelist role at GitHub is about helping government agencies to ship software better, to fold the map in half, and bring the West coast a bit closer to the East coast.

What's next for federal IT policy, IMHO

3 min read

There's been a lot of great momentum generated from the policy side, giving the geeks the environment they need to do what they do best, but that's just the start.

Disclosed source is not the same as open source

3 min read

Agencies that simply publish code with no intention to foster community involvement, curate community feedback, or accept community contributions find themselves, almost without exception, engaging in an unsuccessful endeavor.

Our code deserves better

5 min read

I've seen multi-million dollar contracts in government, the final deliverable for which, is a CD-ROM, in triplicate. That's not how modern software development works, and our code deserves better.

Open source is (not) insecure

5 min read

The idea that open source software is inherently less secure than its closed source or proprietary counterparts is untrue and stems from fear, uncertainty, and doubt (FUD).

Why isn't all government software open source?

8 min read

Taxpayer funded code is often not open source because government prefers closed platforms, is inexperienced with open source workflows and culture, and creates software as part of a predominantly closed-source supply-chain.

Word versus Markdown: more than mere semantics

5 min read

How we consume content has changed dramatically, over the past 30 years, yet, how we author content remains relatively unchanged. Markdown forces you to write for the web.

Open source, not just software anymore

8 min read

What we've been calling open source, may in fact be something else, especially when we start to use those workflows to collaborate on things beyond code.

Why no one uses your government data

3 min read

The next time you publish a data source, whether in government or out, ask yourself one simple question. How can you optimize the experience for the data consumer?

Jekyll: Where content is truly king

2 min read

By choosing a static architecture over a more complex one for government.github.com, technology became a given, and we were able to iterate on improving the content itself,

Treat Data as Code

5 min read

It's time we start treating data with the same love and respect that geeks treat their code.

Friction

5 min read

Minimizing friction (time to first commit) is essential to building a strong open source community

Everyone Contributes

3 min read

We often think of contributors as developers, but code is just one of the many ways to contribute to an open source project, and it's important to provide avenues of participation for non-technical contributors as well.

Bet on the little guy

3 min read

On the Internet, simple, open format reign supreme over their heavyweight, proprietary counterparts

The technology's the easy part

6 min read

Tools aren't the challenge, culture is. We should make it so ridiculously straightforward for government agencies to distribute information and build collaborative communities around shared problems that it would be criminal for them not to.

The next big thing is already here

2 min read

Countless technologies we take for granted today, began their lives as staples of the open-source development workflow

What is a 'Hacker'?

5 min read

Hackers embody sharing, openness, decentralization — coding to improve the world

Deprecate Management

5 min read

There are many aspects to 'making things' that open source just does better, and does so without traditional management structure.

We've been trained to make paper

5 min read

If the internet is the primary medium by which content is consumed, shouldn't that be the primary medium for which content is prepared?

Open Source is not a verb

4 min read

Open source, at its core, is actually not about code, but about connecting people around a shared vision to encourage collaborative problem solving.

Welcome to the Post-CMS World

8 min read

Jekyll (and other static-sites) lead to simple, flexible, and reliable websites that allow for a renewed focus on what actually matters: the content.

The Demise of the Personal Dashboard

5 min read

When building consumer applications, favor simplicity over complex personalized dashboards which bombard customers with information.

Publishing Government Data That Developers Will Actually Use

6 min read

Despite increasing public support (as well as a number of executive mandates) publishing public data in a machine-readable format is not as simple as pressing the "publish" button. Why? Equally important as exposing the information itself is fostering a vibrant developer ecosystem around it. By making the publishing agency, not the public, responsible for making information immediately useful, government can lower the barriers associated with consuming its data and introduce additional citizen services at little to no cost to the agency.

WordPress as a Collaboration Platform

1 min read

Today countless teams are using WordPress to drive collaboration and facilitate inter-team communication. Ben Balter will showcase some of the creative ways companies and organizations are using WordPress as the central hub of their day-to-day workflow: To organize and collaboratively edit documents and other non-web content, track and communicate their team's progress with one another, and extend WordPress to work with their existing tools and practices.

PHP is Insecure (and Other Enterprise Open-Source F.U.D.)

5 min read

PHP (and the open-source software it powers) often gets a bad rap in many government and enterprise circles, but much of this unfortunate stereotype is the result of carefully crafted fear, uncertainty, and doubt (FUD).

Towards a More Agile Government

47 min read

By requiring that detailed specifications be outlined at the onset of the process, government procurement regulations encourage the less flexible, waterfall development techniques, rather than the more modern, agile development approaches used by the private sector today.

Why Digital Talent Doesn't Want To Work At Your Company

3 min read

It's because you're not providing them the right opportunity. The talent you want would be happy to work in an un-air-conditioned garage in New Mexico if it meant the chance to change the world.

Why WordPress

11 min read

WordPress is different. WordPress is about content. WordPress is about simplicity. Out of the box, it's a clean, lean, and mean semantic publishing platform that makes broadcasting your ideas as effortless as possible.

Enterprise, Open Source, and Why Better is not Enough

5 min read

Firms looking to seek a competitive advantage will begin to look past "it has to be expensive and complicated" and start looking toward open-source software, not as a misfit alternative, but as a viable player in the software space, but before that can happen the open-source community must strive to be the serious competitor they wish to be treated as.

When all you have is a pair of bolt cutters...

5 min read

A workflow management and version control system building on WordPress's existing core competencies. By treating documents as a custom post type, users can leverage the power of WordPress's extensive attachment, revision, taxonomy, and URL rewriting functionalities.