hackforla / website

Hack for LA's website
https://www.hackforla.org
GNU General Public License v2.0
325 stars 778 forks source link

Skills Issue: Developer: Steven Deng #7740

Open StevenDeng1 opened 2 days ago

StevenDeng1 commented 2 days ago

Prerequisite

We are looking forward to having you on our team. Please make sure to attend the general Hack for LA onboarding to get the process started https://meetup.com/hackforla/events.

Overview

As a developer on the Website team this issue will be your companion and a place to track your progress with the path we have set out for you.

Special Notes

  1. This issue will stay open for as long as you are on the Website team. Use it as a place to indicate that you have completed a level as well as get instructions on how to progress.
  2. Usually we don't want you to have more than one issue assigned to you at a time, this issue is the exception, because it is instructions on how to work on other issues. Do not close this issue until you leave the team (please see to do items associated with leaving professionally).
  3. The action items listed below should mostly be worked on in a sequential order. However, you don't have to wait on one if you can proceed with the others. For instance, you don't have to wait for attending a weekly meeting before setting up your dev environment.
  4. During the general Hack for LA onboarding, you will be directed to fill out a form that will add you to the Website team Google Drive and GitHub teams, and then you will add yourself to the roster. If you have not done that yet, you will not be able to do the action items in section 1.
  5. The template that this issue is made from is a work in progress. We will be updating it, and possibly updating your issue. It works through section 17. But after that it's still a work in progress. If any of the links don't work, please leave a note in the comments on this issue https://github.com/hackforla/website/issues/4944, and we will get you an update.

Action Items

Table of Contents

Sections 1 - Joining the website team 2 - Team Meetings (Options and Requirements) 3 - Development Environment Setup 4 - First GitHub Issue (GFI) 5 - Weekly Updates 6 - 1st Pull Request 7 - Additional reading 1 8 - 2nd good first issue 9 - Pull Request Reviews - GFI 10 - Additional reading 2 11 - Small Issue 12 - Pull Request Reviews - Small 13 - Issue Making - Level 1 (GFI & Small) 14 - Medium Issue 14.1 Issue Making - Level 2 (Medium) 15 - Pull Request Reviews - Medium 16 - Issue Making - Level 2 (GFI) 17 - Merge Team Skills Review FAQ Resources

1 - JOINING THE WEBSITE TEAM.

Table of Contents

2 - TEAM MEETINGS (OPTIONS AND REQUIREMENTS)

Table of Contents

3 - DEVELOPMENT ENVIRONMENT SETUP

Table of Contents

4 - FINDING AND ASSIGNING YOUR FIRST GITHUB ISSUE (GFI)

Table of Contents

5 - GIVING WEEKLY UPDATES ON YOUR DEVELOPMENT ISSUES

Table of Contents

6 - SUBMITTING YOUR FIRST PULL REQUEST

Table of Contents

7 - ADVANCED READING TO READY YOU FOR LARGER MORE COMPLEX ISSUES

Table of Contents

8 - MOVE ON TO 2ND GOOD FIRST ISSUE (AKA, IT GETS EASIER AND DID YOU BRANCH CORRECTLY?)

Table of Contents

9 - GOOD FIRST ISSUE (GFI) PULL REQUEST REVIEWS

Now that you have two merged good first issue PRs, you are eligible to review good first issue PRs, Review Required from other people who are following in the same journey path as you.

See How to review Pull Requests guide will teach you how to review pull requests.

Please review 5 good first issue PRs. Each PR requires at least two reviews, so by reviewing 5 good first issue PRs you are repaying the effort that others did for you (provided 4 reviews for your 2 good first issues) plus 1 extra review to help us all make up the deficit for people who submit a PR but don't get this far.

Table of Contents

10 - UNDERSTAND HOW TO PROGRESS THROUGH ISSUES IN THE PRIORITIZED BACKLOG AND ON ISSUE MAKING AND TEMPERATURE CHECK

Congrats on making it this far. Issues get more complicated from here, either they include more changes, or have several files to change or you have to research something that we are unsure how to do, or there is complicated logic that needs writing or rewriting. Each issue size that you take on will guide you to a more complicated level in sequence, and you can see from the labels and overviews what they are about.

Its important that you try to work on issues that fill in gaps in your knowledge (see the self tests for a reminder about what to look for).

So keep going, the fun stuff is about to start.

Having said that, we are also going to have you take on some issue making (surprise! There is no issue making fairy, only volunteers like you that created issues for the people that come after them). Pay attention to how the issues you have already worked on are constructed and how they change as they go up the ladder. That way when we start you on the issue making portion of the team work, you will know what you are shooting for when its your time to make issues.

Also, we want you on the Merge team. This will ensure you are a competent developer and an awesome collaborative contributor to any team you join in the future.

[THIS WHOLE THING COULD BE MOVED TO A WIKI PAGE THAT EXPLAINS THE VALUE TO THEIR CAREER AND HAVE A TLDR HERE]

Table of Contents

11 - MOVING ON TO A SMALL ISSUE

Table of Contents

12 - PULL REQUEST REVIEWS - SMALL

Now that you have your small PR merged, you are eligible to review small PRs, Review Required from other people who are following in the same journey path as you.

Please review 3 small PRs. Each PR requires at least two reviews, so by reviewing 3 small PRs you are repaying the effort that others did for you (provided 2 reviews for your 1 small issue PR) plus 1 extra review to help us all make up the deficit for people who submit small PRs and then drop off the team.

Table of Contents

13 - GET EXPERIENCE MAKING ISSUES - LEVEL 1 (GFI & Small)

Creating issues from templates will give you experience on how issues

and like the good first and small issues you have already done, they are perscritive enough to do with no prior experience issue making.

Table of Contents

14 - MOVING ON TO A MEDIUM ISSUE

Table of Contents

14.1 MAKE A MEDIUM ISSUE FROM AN ER OR EPIC

Only work on this section if you needed a medium issue and one is not available from the prioritized backlog

Table of Contents

15 - PULL REQUEST REVIEWS - Medium

Now that you have your medium PR merged, you are eligible to review medium PRs, Review Required from other people who are following in the same journey path as you.

Please review 3 medium PRs. Each PR requires at least two reviews, so by reviewing 3 medium PRs you are repaying the effort that others did for you (provided 2 reviews for your 1 medium issue PR) plus 1 extra review to help us all make up the deficit for people who submit medium PRs and then drop off the team.

Table of Contents

16 - ISSUE MAKING - LEVEL 2, GFI

Table of Contents

17 - MERGE TEAM SKILLS REVIEW

We want everyone who joins this team to get onto the merge team so that you can get experience running meetings and office hours, mentoring, creating sufficent workflow for the team, escalations, and ultimately being responsible for final approval and merging of pull requests made by team members on lower sections. At this point we will check to see if you are ready to join the merge team, or what your next steps are to get you closer to ready.

Table of Contents

FAQ section

Are there exceptions to which size issues I work on? - Medium (you can work on one medium issue, but only one at a timeone per person, with some exceptions, see below) - Large (you can work on more than one large issue, but only one at a time) - The reasons for this progression are: - The issues start out as being prescriptive and become less so as you gain more experience by working through increasingly complex issues. - We are trying to teach you the team methodology through the issues themselves. - It ensures you understand what we expect and the quality of contributions. - You can work on back-to-back small issues if it meets the following criteria: - You are learning something new and need to work on an issue of a lesser complexity - Since we have a limited number of these, you must get approval from lead or pm - You can work on a second medium issue if it meets the following criteria: - You are learning something new and need to work on an issue of a lesser complexity - Since we have a limited number of these, you must get approval from lead or pm
What should I do if I have a question about an issue I'm working on, and I haven't gotten a response yet? - First, you should post the question or blocker as a comment on your assigned issue, so it can be easily referred to in the next bullet points. - Then, add the label `Status: Help Wanted` so other developers can see it and potentially help answer your question. In addition, you will still need to post a Slack message or bring it up in meeting so we know you need help; see below for how to do that. - Also, you can post your question on the hfla-site Slack channel and link the issue you're working on, so other developers can see and respond. - Lastly, you can add the issue to the "Development team meeting discussion items" "Questions/In Review" column of the Project Board so that it can be addressed in the next development meeting. Please bring it during the meeting that you need help.
If you need to take some time off from the team - For this Skills Issue, please do the following: - Copy and customize this response, and leave it in a comment on this issue ``` I need to take some time off from the team. I believe I will be back on [Replace with DATE YOU WILL BE BACK] ``` - Apply the label `away on hold`. - Move your Skills Issue to the `Questions / In Review` column. - In the [roster](https://docs.google.com/spreadsheets/d/11u71eT-rZTKvVP8Yj_1rKxf2V45GCaFz4AXA7tS_asM/edit?gid=0#gid=0), find the line with your information on it and fill in your info for the following columns: - Find Column N / "Hiatus". Put `TRUE` in that column. - Find column O / "If on Hiatus, return date (YY-MM-DD)". Fill in your expected return date in YY-MM-DD format. - In addition, if you are assigned to an open issue (other than your Skills Issue), do the following for that issue: - If you have done some work on the issue, please write thorough documentation in a comment in that issue so that the issue can be handed off to another person, who can pick up working where you left off based on your notes. - Apply a `ready for prioritization` label. - Move it to the 'New Issue Approval` column. - Then, unassign yourself from that issue.

Table of Contents

Resources/Instructions

Table of Contents


Skills List - INTAKE

Skills List, self test on Intake, fill out when you join the team, don't update

Front End

Return to section 1 section 10

Skills List - ONGOING

Skills List, update as you do work on this team

Front End

Table of Contents

github-actions[bot] commented 2 days ago

Hi @StevenDeng1.

Please don't forget to add the proper labels to this issue. Currently, the labels for the following are missing:

NOTE: Please ignore this comment if you do not have 'write' access to this directory.

To add a label, take a look at Github's documentation here.

Also, don't forget to remove the "missing labels" afterwards. To remove a label, the process is similar to adding a label, but you select a currently added label to remove it.

After the proper labels are added, the merge team will review the issue and add a "Ready for Prioritization" label once it is ready for prioritization.

Additional Resources:

StevenDeng1 commented 2 days ago

1 - JOINING THE WEBSITE TEAM update

How many hours did it take you to finish this step?

A: 1

return to section 1