My current GitHub strategy
For the last week and a half I’ve been quite busy on GitHub. As I mentioned in my review of 2018, I’m currently wanting to find a remote developer job.
Following some feedback, I’m trying to do a better job of using GitHub to reflect my skills and showcase the kinds of things I’m capable of building. In doing that, I’m also improving my skills.
These are the main approaches I’m exploring at the moment:
Quantity. Find ways to make it easy to remain very active and prolific. A friend told me that he uploads everything he does, no matter how small or trivial or how bad the code is. This quantity approach will reflect positively in number of repositories and contribution statistics. Projects completed as part of courses or tutorials would also fall in this category - it’s good to let the world know that you completed that course, but you need to find a different way to prove your skill level.
Showcase. Select a couple of comprehensive projects and design them so that you can showcase and flex your development skills. Complete sites and applications would go here. These projects can end up in your pinned repositories.
These can be just intended to serve as elements in your portfolio, but you can get an extra bang for your buck if you build something that real users can actually use. It will take some extra time investment in parts that might not be that related with coding, but it will keep you well rounded. One of those projects might also spin-off and bring a whole set of challenges and opportunities from which you’ll be able to grow.
Libraries/tools. I’d also recommend that you think of one or two projects that would fall in the category of libraries or tools that others might find helpful. In my case, these could end up as npm packages or VS Code extensions. If you manage to build something that people find useful, you’ll get the satisfaction of being able to provide value and you’ll also get some cred among developers with the potential of creating opportunities in the future.
Existing projects. Find projects you like on GitHub and find ways to contribute to them. Focus on ways of contributing that help you develop and showcase the skills you’re most interested in. The best way to go is to choose tools and technologies you’re using already.
Take the time to report bugs if you find them and offer to contribute fixes if you can. Alternatively, browse the list of issues on their GitHub repository and offer to help with issues that remain unattended.
The added benefit of this approach is that you’ll get to interact with other developers, build relationships and get to practice your teamwork and collaboration skills.
On topic. Keep all of the above relevant and fun. What you choose to work on should be supporting the goals you’re pursuing. If you want to become a Node.js master, try to find ways to contribute to that ecosystem. If you want to work at Google, use the technologies they’re using, build things that leverage their APIs and add value to their ecosystem.