DZone
Agile Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Agile Zone > Applying for a Job? Better Know Your Git!

Applying for a Job? Better Know Your Git!

What you need to know about the popular SCM solution to get a great job.

Duncan Brown user avatar by
Duncan Brown
·
May. 18, 16 · Agile Zone · Opinion
Like (5)
Save
Tweet
4.09K Views

Join the DZone community and get the full member experience.

Join For Free

These days, source control management (SCM) is an absolute must-have on your resume/CV. And to be perfectly frank, it should not just be SVN or some other RCS-/CSV-based technology. While there are other fairly popular systems like Perforce, today, without a doubt, the most in-demand and relevant SCM is Git.

Argue all you want, but the vast majority of my clients who bring up the topic of source control insist on Git; otherwise, I am choosing Git on my own.

The Point of This Article

The reasons for choosing Git are myriad but are not the point of this article. Rather, I want to focus on an increasing trend I see in applicants to developer positions: The tendency to list Git as a skill but having no actual, practical experience with it, or even a working knowledge.

Why Git?

Now, while I understand that Git is quite a departure from the likes of SVN — one might even say it is a lot more complex and counter-intuitive, at least at first — the distributed nature of Git allows development teams to be extremely flexible and do some very powerful things. This can be a bit difficult to appreciate/understand if you're just a single developer, but all SCM technologies come into their own when working in teams. Couple that with the immutable nature of commits and it allows for some serious accountability, something the managers and higher-up appreciate.

The virtues of Git go on (and I encourage you to have a look at them). But of course unless you have actually worked at a job where Git was used, it can be difficult (but not impossible) to gain experience in using it.

What to Know

The good news is that with the increasing popularity of Git, there are resources everywhere from which to learn. Sure, using it on your own for a personal project is a great starting point, but let's face it: We're unlikely to use most of the features in Git save for the basic ones. Don't get me wrong, you still need the fundamentals, but a solid foundation requires more than just your cursory "add", "commit", "push", and "pull/fetch".

For example, while you might not be required to merge branches, you might still need to know how to create a pull request (PR) or merge request (MR). You will almost certainly need to know how to undo changes within a branch at various stages, so learning how to properly "reset" is important.

And then there are the accompanying, underlying concepts such as the "HEAD" of a branch; "fast-forwarding", and even understanding branching strategies.

For all of the reasons above and more, I emplore developers with little experience in Git to not just brush up on it but to become proficient in understanding and explaining how it can be used, especially in an interview. In fact, that alone can be enough to make or break an application: There are fewer, bigger, vampires of time than having to explain to a developer how to do something in Git, or, worse, fix something in it.

I will post some links to resources at the end of this article to aid in advancing your Git knowledge.

Conclusion

So, to recap, here are some areas in Git to become familiar with for your next (or even current) job:

  • Understand the basics: Be familiar with how to at least pull code down and commit new code.

  • Understand how Git actually works: Knowing how Git works under the hood as far as graphs go and how branches are tracked and merged can be vital to a quicker understanding of more advanced topics in Git.

  • Understand branching strategies: While not actually a part of Git technology, how your company actually sets up branches in a project will save a lot of time and headaches on everyone's part. There are several different strategies so try to focus on a few.

  • Understand morethan just the basics: Again, while you may not actually have to merge branches, being aware of some advanced commands can aid in your overall proficiency with Git. In addition--and more importantly--it will help being able to clean up your own messes when you make a mistake without having to go to a colleague to aid in sorting out said messes. That kind of self-reliance and dependency is invaluable.

Resources:

  • Code School

  • Lynda.com

  • Udemy

  • Quick interactive classes on Github.com

  • Git - About Version Control

  • Advanced Git

(Many of the above sites also have advanced offerings of the Git courses/lessons. Also remember: Google is your friend, too!)

Related Refcard:

Getting Started with Git

Git source control career

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Testing Strategies for Microservices
  • You Are Blind to the Risks in Your Cloud — Why Companies Need Cloud Security Monitoring
  • How to Migrate to the Open-Source Cadence Workflow
  • XAMPP vs WAMP: Which Local Server Is Best?

Comments

Agile Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo