- Pick the language you are the best at. If you're not at least an advanced beginner in a language work on tutorials until you get there.
- Search for an Open Source project in that language - good places to look are https://github.com/stars/bdougie/lists/open-source-friday / or https://summerofcode.withgoogle.com/programs/2022/organizations
- Pick 2 or 3 projects.
- Watch all 2-3 projects for 1-2 weeks. See how people contribute, how they talk to each other. and read all of the documentation.
- Based on that investigation, pick the one that seems most welcoming to you. Only pick one.
- Introduce yourself in the proper channels. Follow the introduction instructions!
- Read all of the open issues. Pick the one that you are most likely to do well. Work on that issue.
- Meanwhile, if you see someone else ask a question that you know the answer to based on reading ALL of the documentation, answer those questions. "I think the answer is this [and add link]. Community, please redirect me if I'm wrong. *** helping in Open Source is more than coding, and this is a great way to ease the burden on the very busy Maintainers. ***
- When you finish the issue, follow the protocol to get a code reviewer. Also, ask the appropriate channel for a Maintainer to double-check that you are following the correct process.
- Repeat steps 7-9 at least 5 times, preferably 10.
- Ask in a public channel, not privately, for an experienced Contributor or Maintainer to review your initial contributions to see what you are doing well and how you can improve.
- Now that you've worked on 10 issues, work on 20, then 30, then 40.
- Recommended: start reviewing others’ pull requests. Make sure you get advice from someone more experienced after your first one.
- Recommended: along the way, keep a weekly list of what you did, and what you learned. here's a guide: https://www.semasoftware.com/blog/how-to-build-an-accomplishment-journal-brag-book
- After at least 25 hours of contribution, but preferably 50, update your resume (that's what #14 is for), and ask on a general or career channel if folks would give advice on your job search. "I've been working on Community AA for the last BB weeks and have done XX issues, YY pull requests, ZZ code reviews. Would someone be willing to share tips on my resume and or organizations you know who might be looking for an Engineer with these skills ”