Skip to content

Latest commit

 

History

History
90 lines (66 loc) · 4.82 KB

2017-djangocon-us.md

File metadata and controls

90 lines (66 loc) · 4.82 KB

CfP Info: https://www.papercall.io/djangocon-us-2017

Get a Jumpstart on Collaboration and Code Review in GitHub

Submitted to DjangoCon US 2017 April 10, 2017 09:51 CDT

Profile: kthrnmichel@gmail.com

Talk Format Talk (20 - 25 minutes)

Audience Level Beginner

Tags communication, beginners, tools, leadership, admin, best practices

Created on April 10, 2017 09:51 CDT Updated on August 02, 2017 21:18 CDT

Elevator Pitch Are you interested in collaboration and code review, but want to avoid the time and frustration of learning by trial and error? This talk by the DjangoCon US Website Chair will teach you a best practice GitHub workflow that will jumpstart your collaboration and code review skills.

Description Even though open-source collaborators and code reviewers are needed more than ever, the few git learning resources that focus on these subjects are not beginner friendly. This is a missed opportunity! As the DjangoCon US Website Chair, I review pull requests submitted to the website repo. This has given me the opportunity to develop a beginner-friendly, best practice GitHub workflow. I can jumpstart your collaboration and code review skills by sharing what I’ve learned with you. This talk is for anyone, but one of my goals in giving it is to encourage other women to take leadership roles.

Notes Note: I might expand this talk into a tutorial in the future and the experience might be useful. Also, the talk is geared toward beginners, but would be a good community discussion. I’d also like to come up with a better title.

Working Outline:

My open-source story

My non-traditional route into open-source: I felt like an outsider at first, got started using GitHub through a recipe sharing project called TacoFancy Contributed to DjangoCon website last year, became DjangoCon Website Chair this year. Status Quo

Current open source production process (project authored, committers submit PRs, code is reviewed by a few maintainers) Few maintainers in comparison to number of committers and users; Sindre Sorhus: “Git is too hard. What can we do?” Social norms/psychological contract, Imposter syndrome Ada Initiative approach as food for thought (giving women free private repos for practice, which I don’t think is ideal) Things that surprised me about doing code review

Felt more comfortable than I expected Addictive- left me wanting to do more of it, not less Advice of how to get started making pull requests and doing code review

Start where you feel welcome and supported (can evaluate projects using GitHub Open Source Project checklist, see link) Cherry pick problems or issues that fit your skill level Practice your workflow You can create your own sandbox by making pull requests on your own account or setting up an organization to learn more about options for maintainers Collaborative Development Models

A few Git basics: forks, clones, branches, remotes, etc. “fork and pull” versus “shared repository model” Description of “fork and pull” with example of typical process flow Description of “shared repository model” with example of typical process flow Code Review Process (PR gives link to instructions)

Process is slightly different for “fork and pull” pull request versus “shared repository model” pull request If no change needed locally- merge button (merge options) General process for making a local change, committing, merging and pushing back to GitHub How to keep local code up to date Workflow Examples

Git Flow A Successful Git Branching Model (more advanced) Special Collaboration and Code Review Features (and others tbd)

Documentation (LICENSE, contributing guidelines, issue and pull request templates, etc.) Review request Branch protection Some thoughts on important non-code leadership skills (see 10x results article)

Communication skills People management/mentoring Keeping docs up to date What If?

What if contributors were encouraged to learn code contribution and review at the same time, instead of code review as an end result? A Few Relevant Resources (more tbd) https://opensource.guide/how-to-contribute/#a-checklist-before-you-contribute https://help.github.com/articles/about-collaborative-development-models/ https://help.github.com/enterprise/2.7/user/categories/collaborating-with-issues-and-pull-requests/ https://help.github.com/articles/about-pull-requests/ https://help.github.com/enterprise/2.7/user/articles/checking-out-pull-requests-locally/ https://guides.github.com/introduction/flow http://scottchacon.com/2011/08/31/github-flow.html https://help.github.com/articles/github-flow-in-the-browser/ http://nvie.com/posts/a-successful-git-branching-model https://medium.com/javascript-scene/getting-to-10x-results-what-any-developer-can-learn-from-the-best-54b6c296a5ef

Feedback About Submission You on May 15, 2017 14:03 CDT

Hello, I am accepting this offer to speak at DjangoCon 2017. Thank you,