Skills you'll gain: Communication, Computer Programming, Data Visualization, Journalism, Plot (Graphics), R Programming, Software Engineering, Software Testing, Statistical Programming
Intermediate · Course · 1-3 Months
Git is an open-source version control system (VCS) that allows software developers to track changes to code over time, including changes made by multiple users. This capability is important because coding typically requires a lot of trial and error as well as collaboration, and Git simplifies the process of merging changes from different developers, creating branching versions, comparing different versions of a program, and reverting changes when necessary.
Git is by far the most popular VCS today, making familiarity with this program an essential skill for careers in software development. Professional developers and software engineers often use GitHub, which is a cloud-based Git repository that helps teams collaborate remotely. Unlike Git, GitHub is not a free, open-source program, but it is so valuable to facilitating distributed software development that Microsoft purchased it for $7.5 billion in 2018.
Because Git is such a widely-used developer tool, a background in its use is assumed knowledge for many programming and IT jobs. Moreover, since development at major tech and software companies is increasingly conducted in parallel by multiple programmers - especially with teams working remotely full-time during the current pandemic - a familiarity with GitHub is also expected for professionals in this field. Indeed, for aspiring developers and software engineers, a GitHub portfolio is an essential part of your resume.
Along with mastery of programming skills like Python, skills in working with Git and GitHub can thus be a big part of your gateway to a high-paying job as a software developer. According to the Bureau of Labor Statistics, software developers earned a median annual salary of $107,510 in 2019. Moreover, with jobs in this field projected to grow 22% from 2019 and 2029, this is one of the fastest growing careers today.
Yes, absolutely. Coursera offers a tremendous variety of courses and Specializations for computer science students and mid-career professionals of all levels, and learning online is a great way to hone your skills in Git as well as GitHub. You can learn and even get professional certifications from leading companies like Atlassian and Google, or even the non-profit Linux Foundation. You can also learn about Git and GitHub by completing step-by-step tutorials alongside experienced instructors as part of Coursera’s Project Network.
Learning Git is well suited for developers looking to advance their programming skills and knowledge. It may be right for you if you want to understand the code that's behind a lot of the tools you likely use, learn more about C, which Git is written in, work with a codebase that's functional and minimalist, or work with code that doesn't take a long time to learn, then learning Git is probably a good fit for you.
Before starting to learn Git, you should have experience using C and have an understanding of its basic programming concepts. In particular, it'll be helpful for you to understand C header files, C function prototypes, C macros, C struts, and C pointers. As an alternative, having a familiarity with Python or Java may help you have a foundation that will make it easier to learn Git.
You can certainly study C, C#, C++, or similar managed or unmanaged languages if you want to learn more about topics related to Git. Bash/UNIX shell scripting is also related to Git, as is GitHub, of course, the internet hosting provider for software and version control that use Git. Additional topics related to Git that you can study include version control, open-source software development, webpage creation, and project management.
The kind of people well suited for roles in Git are excited about programming and coding. They have strong communication skills, both written and verbal, including with remote teams. People that are successful in roles in Git are independent thinkers who are curious, and they may need the ability to understand and empathize with customers, depending on their role.