Using GitHub as a Game Programmer Portfolio
By Courtney Carlson | April 4, 2017
Using GitHub as a Resume
How did a little version control system become one of the most robust knowledge-sharing and web communities for programmers? Let’s talk a little bit about GitHub and how you can use it to show recruiters and hiring managers your programming skills.
What is GitHub?
GitHub is a self-described web-based Git (version control repository) and Internet hosting service. GitHub was born out of the world of SaSS and collaborative work tools. Used to store versions of programming code for various projects, GitHub allows users to store their builds in a repository, share them with other users, “fork” them (copy and build off of other users’ builds), “pull” them (invite the original developer to consider changes for adoption and implementation), and showcase projects and code in personalized user profile pages. GitHub is a little bit opensource database, a little bit social network, and a little bit productivity tool that stores versions of projects to enable developer experimentation with confidence.
Why is GitHub a Great Resume Tool?
GitHub allows potential employers and recruiters to look at the body or your coding work over time. This helps showcase your level of experience and progress as a programmer. Recruiters and hiring managers like to see diversity in coding languages (especially in games) and a willingness to explore new types of code to work with. For this reason, it is important to keep your GitHub profile up to date and ensure it is reflecting any new projects or languages you have become acquainted with.
Best Practices for Maintaining a GitHub Portfolio
Professionalism: Maintain a professional looking cover page with an overview of languages you are experienced with, SDKs, game engines, education, any certifications, and a work history along with any special projects or roles you played in project development. Keep contact information current, including links to your LinkedIn or personal website. Keep comments clean and appropriate.
Routine Maintenance: Maintain your profile and make a commitment to keep producing original work. By the time you are looking for a new job, you may not remember or have access to important projects you have worked on since your last formal job search. Challenge yourself to revisit your profile every few months with updates at least every 6 months. Keeping work stored on GitHub not only makes it accessible from any location, but it also shows you have some initiative to create original content on your own. Be cautious of contracts and any NDAs that prevent you from showcasing work during your 9-5.
Get Communal: Engage with others on GitHub! By having a large number of friends and followers, it becomes clear that you are a leader in your field or have a degree of respect and credibility for the type of code you develop. Offer thoughtful commentary and input in other projects. Use this social tool as an opportunity to also learn and grow from other developers. Keep up with new trends and applications in design and optimization, this way teams will see you bring something new and potentially project-shaping to the table.
Organization: Keep your repositories and Readmes clean and fluent. All documentation and comments should be well thought out, sensible, and organized. Remember, communication is critical in development, and you may have to work on large teams where many people will be working with and modifying your projects. Keeping repositories clean will not only help you explain projects if you have to refer back to them several projects down the road, but it will also illustrate to your prospective employer or recruiter that you know how to play well with others. Work samples don’t have to be grandiose or complex- sometimes a recruiter is just looking to see how effective you are at creating readable, workable code and utilize best practices for collaboration.
See something missing? Let us know in the comments below and share your best practices for using GitHub as a career development tool!