-
-
Notifications
You must be signed in to change notification settings - Fork 778
Being a Part of the Hack For LA Dev Team
The goal of this article is to introduce new developers of our team to the process of becoming a) a member of our team and b) a leader of the team. We, the leadership team of the website project, encourage you to take what is written here to heart. Successfully adhering to the outline below, and becoming a leader of our team, will prepare you to become a competent web developer in the working world. This includes the ability to examine massive codebases, decide the future of key projects, act as a mentor to others, and deliver a product with a team of like-minded individuals.
This article is separated into Phase 1 and Phase 2.
- Phase 1: How to be a good team member
- Phase 2: How to train yourself to become a leader
Just as with learning to code, learning to be part of a team is a self-learning process. You can take as long as you need based on your capabilities. The only wrong way to do it is to not try at all. Jump in!
- Complete on-boarding (contributing.md)
- Understand the Website project’s whole code base (Hack for LA’s Site Architecture)
- Familiarize yourself with the project board
- Complete 2 Good First issues (How to read and interpret issue labels)*
- And finally...have an iron grit, the drive to succeed, and the courage to learn from your mistakes.
-
Review pull requests
- Work on at least 10 pull requests reviews until mastery is achieved
- Mastery means leaving thoughtful reviews that leadership agrees with
- Helpful documents: How to Review Pull Request, Google’s How to write code review comments
-
Adequately complete challenging issues
- Self-assign and complete medium and large issues (try your best!)
- Document changes to the codebase in your assigned issue and related pull request
- Leave appropriate comments to improve the readability of your code
- Helpful documents: Commenting
-
Communicate effectively with the team
- Collaborate with others as needed to complete projects
- Update the status of your assigned issue in a timely manner
- Helpful documents: Wiki - How to communicate with the team
-
Perform administrative duties
- Create issues as they come up - How to create Github issues
- Walk new members through our on-boarding process
- Direct meetings as both driver and navigator/observer
-
Mentor others
- Ask current leads for mentorship opportunities
- Reach out to others who need guidance but might be too shy to speak up
- Work together with your mentee to create solutions
- Take a part in reviewing your mentee's issues
The first step to becoming a leader is to: share your intention of becoming a lead with the team! Although the leads are very perceptive individuals, declaring your intent allows us to note your progress and assign you ever more difficult tasks—tasks that will build your character as a leader. There are many qualities to a team lead, but outlined below are what we see as the essential skills. You might find some of these easy and some difficult, but we are all here to help and guide you! Please, never hesitate to reach out to the team when you need help!
-
Produce flawless code reviews
- Seniors must consistently agree with your assessments of other's code
- Reviews must be for highly difficult issues
-
Complete large issues from scratch
- Create the issue, self-assign, then complete it on your own
- Require no supervision from other members of the team
- Complete the issue without a need for additional changes
-
Manage the team
- Follow-up on the In Progress issues of others (even the current leadership needs a nudge sometimes! 😄)
- Lead team meetings with a prepared agenda
- Effectively communicate with members of the website team not involved with development
-
Become a leader in the eyes of others
- Know where major projects stand, who is working on them, and how to help move them forward
- Become a resource for people who are stuck, either to help them, or direct them to help
- Share your knowledge with others and start their path to becoming a competent member of the team and a leader
*additions after the wiki was moved.
Click the arrow below each category to view links (or view original alphabetical list by clicking "Pages" above) :