We are very excited to kick off #100DaysOfOSS, a challenge where no matter where you are on your tech journey you can deepen your knowledge and understanding of the world of open-source software. Whether or not you plan on participating, we want to provide resources for anyone interested in growing their experience through open source. A great way to make progress and to grow is by starting with some goal setting and then exploring the different paths you can take. The first part of this post should help you to set those goals, and the second will go into more detail about the types of paths you can take as part of your open source journey.
Open Source Goal Setting Framework
You’re more likely to succeed in what you do if you if you set goals and you create accountability. I know, that stuff takes time, and if you’re like me, sometimes you just want to jump in and explore without taking the time to set up a plan. That’s totally fine and a valid approach, but if there’s something you’re aiming for like getting a job, a promotion, or growing a certain skillset, taking that time to set some goals will allow you to be more efficient. Here’s a framework I use to help me set goals that I’ve adapted for your open source journey:
Self-Assessment and Skill Evaluation. Reflect on your current skill set, interests, and past experiences in open-source. Where have you done well? Where do you want to improve? If you’ve never contributed to open source, that’s a great place to start: with a fresh page! Consider what your current skillset is and how you can translate that to open source. Are you good at writing, working with data, css, communication? All of these can be a part of your open source journey.
Define Specific and Measurable Goals. Set clear, achievable objectives for the challenge. Do you want to get better at writing? Then maybe your goal is to write a blog post once a month during the challenge. Do you want to improve your understanding of how to use APIs? Make a goal to explore different open source projects that help you make progress on that goal. Do you want to find a job? What skills do you need to deepen or demonstrate as part of that search? For example, if one of your weaknesses is writing tests, you might set a goal to explore three open source testing frameworks and write tests in each of those frameworks.
Break Goals into Milestones. Divide your overarching goals into smaller milestones that can be achieved within a week or two. Setting milestones will help you to see the progress that you’re making and help you maintain motivation.
Research and Plan. Research potential open-source projects or communities that align with your goals. Familiarize yourself with their contribution guidelines, existing issues, an opportunities that align with your goals.
Prioritize and Time Management. Prioritize your goals and create a schedule that divides time for contributions, learning, and community engagement. Remember, the goal of #100DaysOfOSS is to help you grow. You don’t want to burn out. So be realistic about the time that you have to devote to open source projects. And remember, it’s ok and good to schedule days off as part of your schedule.
Set Accountability Measures. Establish ways to track your progress, such as using our journal template, adding a highlight to your OpenSauced profile, and/or using the #100DaysOfOSS hashtag on social media. You can also share your goals in the OpenSauced Discord for added support.
Embrace Flexibility. Stay open to adjusting your goals or setting new ones as you go along with the challenge. You might find there are new opportunities, that you need a break, or that you’re able to spend more time than you initially anticipated.
Regularly Evaluate and Adjust. Continuously evaluating your progress is an important part of the process of learning, self-discovery, and participating in a way that works for you. Adjust your goals and milestones as you need to.
Celebrate Achievements. We love to see people celebrating their successes, no matter how small. We want to be there to cheer you on and for you to use them as motivation to keep pushing forward.
What are some paths I can take?
There are a lot of different ways to approach this challenge or growing as an open source contributor.
Goal 1: General Exploration
Explore open-source projects that interest you and understand their goals and development processes. You might do this by making small contributions, fixing bugs, improving documentation, submitting feature requests, writing about your experience, or creating guides or demos. Take some time to engage with the project's community for guidance and feedback, and consider making contributions to different areas. Make sure you reflect on your experiences, identify areas for further exploration, and adjust your focus as you learn more about what interests you.
Additional Resources
- Practical advice for finding GitHub issues to work on
- Choose Your Own Adventure in Open Source: Paths to Success
Goal 2: Goal to Get a Job
This is a great way to enhance your portfolio, contribute meaningfully to projects, and network with potential employers. As part of this process, make sure you assess your skills, research open-source projects aligned with the job you want to have, make meaningful contributions, and engage with the community, This part of the journey should allow you to polish your portfolio, update your resume, and network with potential employers as you make contributions to different repositories.
Additional Resources
- How to Talk About Your Open Source Experience in a Tech Interview
- How I Got Hired Contributing to open source projects
Goal 3: To Mentor
Identify projects or open source communities that are welcoming new contributors. As part of this process, think about how you can engage newcomers, offer guidance, and provide regular support. Make sure you build in frequent evaluations to identify the impact of your mentorship. And if you’re open to mentorship, feel free to comment at the bottom of this post!
Goal 4: To Maintain and Onboard New Contributors
If you don’t have your own project, select a project you're excited about, learn about the maintenance and onboarding processes. Another great way to help new contributors is to triage and address issues. Take this opportunity to collaborate with core contributors, propose improvements, and share your insights.
Goal 5: To Level Up Your Skill Set
Identify specific skills to focus on, look for issues that will challenge you beyond your current skill level. Look at projects that provide feedback and a community that can support or mentor you. Remember that your skill set isn’t just your technical skills. Communication is a huge part of showcasing your skills. Be sure to work on communicating with maintainers, asking questions, and imagining yourself as part of the team.
Additional Resources
#100DaysOfOSS
is an opportunity to be a part of the open source community, get support from others, and to set and accomplish goals. If you haven’t signed up yet, you can Sign up with OpenSauced to receive a coupon code for 12 months of free access to all OpenSauced's paid features, and for the chance to opt in to receive updates, event invites, and resources to help you succeed or if you want to get started without signing up, you can tweet out your commitment today or share on your platform of choice!
Let’s embrace the challenge together, cheer each other on as part of the community, and spend time finding new opportunities for growth and learning. Don’t forget to share your progress using the hashtag #100DaysOfOSS on whatever platform you’re on and inspire others to join the journey.