Shouldn’t Git Be Taught in Engineering Colleges?
There is no denying that the gap between academia and industry in computer science needs significant bridging. This would mean integrating some non-negotiable concepts and tools that are universally preferred and widely used across startups, global firms, and even one-person projects. In our recent interactions with several developers, one notable omission was that of a course teaching Git in undergraduate computer science and engineering programs. Git is a distributed version control system enabling multiple developers to track, manage, and collaborate on source code changes efficiently. “Just two years into my career working at two major companies, I’ve had to use it daily and extensively in my job. It is surprising that it isn’t taught in colleges,” said a developer working at Arm, one of the world’s biggest chip design companies. “It’s bizarre, and doesn’t make sense, given that we study eight semesters, with six to seven courses in each – yet version control wasn’t something that was taught,” she added. The developer, who graduated from a private engineering college in Bangalore in 2021,  indicated that a majority of the concepts were learnt directly on the job. But is it the same for the premier institutions in India? AIM interacted with two students from a premier engineering college in India, who also said they did not receive Git training during their tenure at the institution. The situation appears to be similar in a few universities in the United States as well. For instance, a few years ago, former MIT students developed a course called ‘The Missing Semester of Your CS Education’. The motivation behind this course was that colleges may delve into the depths of technical and engineering concepts. Still, one essential topic that is rarely covered is computing ecosystem literacy, which is instead left for students to pick up on their own. “Over the years, we have helped teach several classes at MIT, and over and over, we have seen that many students have limited knowledge of the tools available to them. Computers were built to automate manual tasks, yet students often perform repetitive tasks by hand and fail to take full advantage of powerful tools such as version control and text editors,” said the developers of the course. Several developers and industry experts share the same sentiment. Theo Browne, founder of Ping Labs, backed by Y-Combinator, said in a post on X, “The number of CS grads who don’t even know basic Git commands is astounding.” The fact that 90% of colleges in India teaching computer science don’t use Git is astonishing.In my own college years my batchmates used to send zip files of code to each other. It still happens today.Ignore the circus 🤡, for CS the Internet is your college.— Varun Mayya (@waitin4agi_) November 29, 2021 However, a few institutions do offer Git training through external workshops. For example, IIT Bombay features a workshop that introduces attendees to the concepts of version control using Git. The institution also offers a self-learning Git course on the Swayam online portal. Meanwhile, not everyone believes that learning Git as a subject inside academia is the best solution. ‘Perfect Example of What Shouldn’t Be Spoon-Fed’ AIM reached out to Manthan Gupta, a software developer at an AI infrastructure company, to understand the perspective of a more experienced professional. “I believe Git is absolutely essential for every developer to know, but I don’t think it needs to be formally taught in-depth as part of the syllabus,” he said. Gupta said that it is best to learn Git hands-on, in the context of real-world coding and collaborative environments. “If we treat it like another ‘subject’ in college, we risk over-structuring something that is, at its core, about practice, experimentation, and making mistakes,” added Gupta. Similarly, Francesco Ciulla, a software developer, shares a similar perspective. “They [academia] didn’t teach me any framework, Git or Docker. And I think it’s fine. It’s called computer science because you do math, algorithms and some programming (like C),” he said on X, adding that it is called a ‘computer science degree’ and not a ‘programming degree’. Gupta concurred that Git may not need an entire course devoted to it, but certainly deserves a ‘strong mention’ early in the academic journey, in stages like project work, internships, and open-source projects. “That way, it becomes part of the student’s toolkit naturally, just like it is for us in the industry,” he added.
“The number of CS grads who don’t even know basic Git commands is astounding.”
“The number of CS grads who don’t even know basic Git commands is astounding.” 
["AI (Artificial Intelligence)", "College", "GIT"]
["Go", "programming_languages:R", "AI", "GIT", "docker", "Git", "programming_languages:Go", "Aim", "College", "R", "AI (Artificial Intelligence)", "startup"]
["AI", "Aim", "docker", "R", "Go", "Git", "startup", "programming_languages:R", "programming_languages:Go"]
Supreeth is an engineering graduate who is curious about the world of artificial intelligence and loves to write stories on how it is solving problems and shaping the future of humanity.