Version control tools have long been a staple for information workers, especially developers who need a place to store and collaborate on their code base, while maintaining a complete history of changes.
Over the years many such tools have come and gone, or at least fallen out of flavour, but the most widely used system today is GitHub. GitHub has gained popularity for a variety of reasons, most notably that it's cloud-based, easily discoverable, and has pricing plans that even the most frugal of managers will be happy to rubber stamp. Moreover it’s commonly used by machine learning (ML) practitioners, including us at PerceptiLabs, to store ML models, data, and code.
But in addition to being a powerful repository, did you know that GitHub can also be a powerful tool for your job searches and overall career growth?
Building Your Online Profile one Contribution at a Time
Many recruiters and human resource departments now look at a candidate's complete online presence to develop a profile of that person. With online tools like Google providing powerful search capabilities, recruiters want to find out everything they can about a candidate in order to judge their suitability for a given role. So it should come as no surprise that your online profile could play a significant role in your next job search.
When applying for a new role, you want your online profile to consist of more than just an out-of-date LinkedIn profile and some less-than-professional pictures on Facebook. What you really want to impress upon those looking to hire you, is that you're more than just someone looking for a job. You want them to see your passion, expertise and how well-regarded you are, by demonstrating active engagement within a community, showing technical expertise, and displaying a strong grasp of the subject at hand. By doing so, recruiters will be able to better match you with a given role.
This is where a tool like GitHub can be invaluable as it's the perfect place to showcase your skills, become known, and demonstrate your abilities in ways that cannot be crammed into a standard one or two-page resume.
As you gain followers and follow others, respond to issues and questions, etc., you can also start to build your network of peers and your reputation. These connections can be invaluable when it comes to getting an introduction to someone who can help you land that next job or when helping someone else looking for a job. Your reputation in itself can be an asset as recruiters may look to see if you have a large following and any star ratings, and judge how respected you are amongst industry peers.
Identifying and contributing to GitHub repos from companies of interest to you can also be beneficial. It can also help you uncover companies that you may want to apply to, by being able to see their code offerings first hand. And by getting involved with their offerings, you can show that organization that you have a direct interest and knowledge about their technology.
Ready to get started building your online presence with GitHub? Here are a few tips to keep in mind:
- When creating your own repo, be sure to keep it organized. At the root should be an informative readme.md file, while data, code, etc. should be placed in respective sub directories.
- Your readme.md file is a chance to show off your knowledge, your ability to write and convey ideas, and your thought processes. Be sure to start by describing the problem your repo solves, followed by a description of the structure (i.e., what each directory, and file or set of files represents/contains), and provide detailed set up/installation steps. Most importantly, be sure to include your name and contact information.
- Don't forget to point recruiters to your GitHub contributions on your LinkedIn profile, personal website, and in your resume. This of course is also important when applying for a different position within your existing organization.
- Also, aim to enhance your online profile by contributing to other mediums like ML forums, LinkedIn articles/conversations, etc. Any time you can demonstrate your knowledge is time well spent.
GitHub Repos for Machine Learning
There are all sorts of ML repos out there which you can contribute to, but here are a few to get you started:
- tensorflow2-generative-models: demonstrates various generative approaches to ML modeling.
- awesome-datascience: resource to learn about the fundamentals of data science.
- tensorflow model garden: a collection of TensorFlow models.
- https://github.com/scikit-learn/scikit-learn: Python module for ML.
- https://github.com/deepmind/open_spiel: environments and algorithms for research in general reinforcement learning and search/planning in games.
- https://github.com/aws-samples/aws-machine-learning-university-accelerated-tab: courses on ML which developers can contribute to.
- https://github.com/microsoft/AI: Microsoft's Open Source AI based repositories.
- https://github.com/IBM/taxinomitis-docs: IBM's ML projects and information for kids.
- https://github.com/Tencent/PocketFlow: open source framework for compressing and accelerating deep learning models.
PerceptiLabs also has a number of GitHub repos which provide sample projects and data that you can use when trying out our visual modeling tool or when following along with our tutorials. As PerceptiLabs is becoming recognized in the ML community as the GUI and visual API for TensorFlow, our hope is that these repos will become a valuable resource both for learning ML and our visual modeling tool, and a place where users can demonstrate their ML knowledge, while connecting with users.
To contribute to our GitHub repos, we encourage you to first post your own private GitHub repos. Then, if you're interested in showcasing your repo, you can notify us to potentially have us fork your repo. One easy way to get started is by exporting your model from within the PerceptiLabs visual modeling tool directly to GitHub, and then contacting us with details about your repo – just go to https://www.perceptilabs.com/home and click Contact us at the bottom. And of course, you can always fork our repos directly in GitHub.
Above all, have fun with your contributions, engaging with others, and demonstrating your passion for ML.