The number of CS grads who don't even know basic Git commands is astounding
Many commenters are struck that computer science graduates can finish their degrees without knowing basic Git or even any version control, despite its ubiquity in modern collaborative software development. The conversation broadens into whether university CS programs should teach practical tooling (Git, command line, containers, etc.) versus focusing on theory, with some arguing that such skills are easy to learn on the job and others saying their absence signals a lack of real-world programming experience. Several point to “missing semester”‑style courses and integrated project work as a way to bridge the gap between academic computer science and day‑to‑day software engineering practice.
Context of the Debate
- Thread reacts to claim that many CS grads don’t know basic Git commands.
- Core tension: is this a serious red flag, or a trivial gap easily fixed on the job?
CS vs. Software Engineering
- Many distinguish “computer science” (theory, algorithms, math) from “software engineering” (tools, collaboration, delivery).
- Some argue universities should train scientists, not provide vocational tooling like Git or containers.
- Others counter that most CS grads become software engineers, so curricula should include at least basic engineering practices.
Should Git / Version Control Be Taught?
- One camp: Git is implementation detail; concepts like graphs or algorithms matter more. Students can learn Git in a day.
- Opposing view: version control is a foundational concept for collaborative programming; omitting it leaves a key practical gap.
- Several say it’s easy to integrate Git or any VCS into existing coursework (e.g., assignments submitted via Git repos, group projects tracked via GitLab/GitHub).
- Some cite courses or MOOCs (e.g., “missing semester” style, CS50-like tracks) that successfully bundle shell, Git, testing, etc.
Signals for Hiring
- Some would not hire a junior who has never used any VCS in 2024; see it as evidence of limited curiosity or lack of substantial/group projects.
- Others think Git knowledge is a minor detail compared to problem-solving ability and theoretical grounding; they’d happily let juniors learn it on the job.
- Several suggest the real signal is learning speed: not knowing Git at 9am but being competent by end of day is acceptable.
Views on Git and Tooling
- Broad agreement that Git is widely used but not perfect; some dislike its CLI and footguns, and see room for better VCS.
- A few stress the difference between “knowing Git commands” and understanding concepts like history, branching, collaboration, and good commit hygiene.
- Some report universities still using other systems (CVS, Fossil) or even CDs/email, illustrating wide variance in exposure.
Broader “Missing Basics” Theme
- Multiple anecdotes about CS programs that assume students will pick up practical tools (Unix, SSH, editors, VCS) on their own.
- Concern from some that this creates a large gap between “already-nerdy” students and those without prior exposure.