TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

The number of CS grads who don't even know basic Git commands is astounding

54 点作者 lopkeny12ko12 个月前

27 条评论

zeroonetwothree12 个月前
CS degrees aren’t meant to teach any particular skill. They should be teaching general knowledge that helps you adapt to whatever the FOTM is in industry. Realistically you can learn to use git in less than one day. It just shouldn’t be a significant barrier to hiring someone.<p>None of the specific languages or software I learned during my degree do I even use now in my current role.
评论 #40690621 未加载
评论 #40690798 未加载
评论 #40766346 未加载
评论 #40713724 未加载
评论 #40692047 未加载
评论 #40701106 未加载
评论 #40693599 未加载
whitfieldsdad12 个月前
This has proven to be an extremely controversial topic, but, in my opinion, it&#x27;s perfectly okay to use git in college or university, and we should encourage, not discourage people from using technologies like distributed version control software.<p>You could substitute git with WhatsApp, Google Drive, or e-mail for small projects, and get by just fine, but, why not spend 15 minutes learning the basics of git?<p>As far as I know, the use of git and other distributed version control software is very popular, and we don&#x27;t see the same hesitation when adopting technologies like Google Docs and its collaborative editing features in college or university.<p>Is distributed version control software truly a controversial technology?<p>If distributed version control software is not suitable for use in college and university, what would be a more appropriate technology?
评论 #40692378 未加载
blobcode12 个月前
This is one of those things that MIT’s missing semester course aims to help with (<a href="https:&#x2F;&#x2F;missing.csail.mit.edu&#x2F;" rel="nofollow">https:&#x2F;&#x2F;missing.csail.mit.edu&#x2F;</a>), and although computer science is different from software engineering, the reality is that most CS grads go into software engineering, and thus should try and learn these essential skills.
评论 #40691207 未加载
serf12 个月前
who cares?<p>git is a tool, not a discipline. It&#x27;s made to facilitate work, not to create a whole knowledge domain unto itself.<p>I wouldn&#x27;t fault a seasoned and well trained mechanic for not knowing the specifics of a specialty tool necessitating the need to find the manual; similarly although git is the current VCS-ish thing of choice right now, it doesn&#x27;t represent all of computer science.
评论 #40691036 未加载
评论 #40690801 未加载
评论 #40691331 未加载
评论 #40690902 未加载
评论 #40692716 未加载
评论 #40698092 未加载
alexmolas12 个月前
This is why it&#x27;s called Computer Science, and not Software Engineering.
评论 #40690422 未加载
评论 #40691306 未加载
评论 #40690473 未加载
评论 #40690513 未加载
AnotherGoodName12 个月前
Here&#x27;s a thought. Imagine there&#x27;s another new way of doing things that quickly becomes pretty much ubiquitous in programming (containers may be a good example?). For those who have already graduated long ago and thus didn&#x27;t learn that new thing in university are you seriously concerned about the people graduating not being rote taught this particular technology?<p>Git isn&#x27;t even 20 years old. I graduated before that. I learnt the basics of version control in a day and searched to unblock myself when needed without fuss. It&#x27;s not a particularly big deal.<p>When i read things like this I&#x27;m extremely concerned and embarrassed for the people demanding new graduates be rote taught specific tech stacks. That&#x27;s the real concern here. The projection from having so little faith in their own ability to learn they can&#x27;t even see that something like git is going to be one of the many things needing to be learnt on a new job.
评论 #40692010 未加载
评论 #40701240 未加载
评论 #40691468 未加载
mos_650212 个月前
I had a strikingly similar experience at my own university, and took things into my own hands somewhat by teaching a free, basic Git course each semester.<p>[0] <a href="https:&#x2F;&#x2F;ctis.me&#x2F;s&#x2F;git" rel="nofollow">https:&#x2F;&#x2F;ctis.me&#x2F;s&#x2F;git</a>
Apreche12 个月前
Yep. When I studied CS in early ‘0X the lecture material was only about programming. Everything else you were on your own.<p>The labs all had Solaris machines. Most students had never seen Unix or a terminal before in their lives. The instruction on how to use it was extremely minimal.<p>There was a very wide gap between the students who were huge nerds who already knew, or learned in their own, and those who didn’t. There wasn’t even YouTube, or Stack Overflow, or anything much to help in those days.<p>The biggest difference was between the students who had to physically go to the lab to do their projects, and the others like me who knew SSH existed, and how to use it, doing our projects from the comfort of the dorms.
评论 #40691863 未加载
评论 #40692493 未加载
xboxnolifes12 个月前
I did not learn any git from my CS degree, so I&#x27;m not surprised at all. Hell, the source control used for the first part of my degree wasn&#x27;t git, and I didn&#x27;t graduate that long ago. I don&#x27;t even really remember what prompted me to teach myself git, but everything I learned was from blog posts and stack overflow.<p>CS degrees does not teach software engineering. They teach computer science. But also, do I think they should probably teach source control basics if the degree involves a significant amount of programming? Yes.
pixelmonkey12 个月前
I think every CS undergrad (or self-taught programmer) should run through the Harvard &quot;CS50x&quot; course, and supplement it with the MIT &quot;Missing Semester&quot; course. This way you&#x27;re guaranteed to have a bit of C, clang, make, Python, git, UNIX shell command, and GitHub understanding by the time you enter the industry as a programmer. I wrote a little guide to how to do this here:<p><a href="https:&#x2F;&#x2F;gist.github.com&#x2F;amontalenti&#x2F;dabeba392b8ac144c6f68bddde082979" rel="nofollow">https:&#x2F;&#x2F;gist.github.com&#x2F;amontalenti&#x2F;dabeba392b8ac144c6f68bdd...</a><p>The guide stemmed out of the fact that I saw questions related to all this from beginner programmers, even those with CS degrees. I think one of the issues is that CS departments (including the one I went through at NYU years ago) think some of these things are sort of like &quot;implementation details&quot; of computing&#x2F;programming, so no one course ever focuses on the topics in a cohesive way. They just sort of expect you to pick it up by osmosis. When I was an undergrad I supplemented by working on GNOME&#x2F;GTK open source projects, which gave me nice exposure to UNIX tooling, version control, issue trackers, as well as compilers, C, and Python.<p>(Funny enough, we did have a course on shell programming at NYU way back when, but it was only because the author of ksh, David Korn, was a professor!)
评论 #40690930 未加载
WolfeReader12 个月前
Source control should be taught as a component of any &quot;software engineering&quot; course. Any class that teaches project management, testing, and delivery, and does NOT teach source control, is missing something of vital importance.<p>(My university had exactly this issue.)
WalterSear12 个月前
It&#x27;s not whether they know it or not.<p>It&#x27;s whether they worked on CS sufficiently complex to need code versioning while acquiring their degree.
hprotagonist12 个月前
most mathematicians and theoretical physicists don’t know what the business end of a spanner is, either.<p>mechanical engineers have a fighting chance at knowing, and tradie apprentices assuredly do.<p>This is less surprising simply because those disciplines and their relative abstraction hierarchies are older, more well understood, and more clearly delineated. CS is less than a century old.
TheLoafOfBread12 个月前
I will rather work with somebody using Source Tree and clears his code before committing from unnecessary, irrelevant or outright wrong changes, than with somebody who knows 3 commands (git add ., git commit -m &quot;some changes&quot;, git push) and repeats them without thinking the moment code on his side is &quot;finished&quot;, thus committing also changes which are completely irrelevant to what such person was working on.
评论 #40692634 未加载
h2odragon12 个月前
&quot;its so easy to use!&quot; tho, right? Why should one need formal education to pick it up?<p>Git is like Autoconf for a lot of problems: utterly unnecessary but often included by default because people have been told &quot;best practice&quot; and never thought to ask themselves if that was true in their case.
评论 #40691382 未加载
评论 #40690744 未加载
评论 #40693581 未加载
hiAndrewQuinn12 个月前
On the other side of the spectrum, the standard entry point to a CS degree here in Finland is taking <a href="https:&#x2F;&#x2F;programming-23.mooc.fi&#x2F;" rel="nofollow">https:&#x2F;&#x2F;programming-23.mooc.fi&#x2F;</a> , which IIRC is entirely based around automated tests which run on your Git repo. A commit is an assignment turn-in, and you get a generous number of tries each time to get it right. But you&#x27;re not getting around at least learning add, commit, and push. And yes, you do get course credit for this, although it is not 100% remote (you need to take your exams on-campus, though it can actually be any university here).<p>I love it here.
cranberryturkey12 个月前
I&#x27;ve worked with hundreds of CS grads, the worst programmer I ever came across (as far as readibility of his code) had a master&#x27;s degree in CS from stanford.
评论 #40690502 未加载
评论 #40690534 未加载
评论 #40690702 未加载
评论 #40690423 未加载
mleo12 个月前
Every college student’s “free” time is different. Whether sports, work, clubs or drinking, people fill there time with what the have to do or interests them. I was lucky my work was mostly free time to further play and learn computers, OSs and software. I learned networking with PERL, Java in my free time, lots of Solaris and AIX. I didn’t spend any time on VCS, but this was back when RCS and SCCS were dominant.
vetrom12 个月前
Way back in my matriculation, I saw the same behavior but written in terms of CVS, even. As some other posters have written, CS, as it is purely taught, doesn&#x27;t often touch on the realities of software engineering and delivery.<p>IMO, it should. An education without any relation to practical skills just makes it that much harder to leverage what you learn.
simonblack12 个月前
&quot;And the number of CS grads who don&#x27;t even know basic MSDOS commands like ASSIGN is equally astounding.&quot;<p>Such hubris in that original statement! As if Git is the be-all and end-all of all computer programs. Yes, Git is important. No, it&#x27;s not the only version-control program in the Universe.
gmuslera12 个月前
It is more than just that. I used to recommend a lot the MIT&#x27;s Missing Semester of your CS Education <a href="https:&#x2F;&#x2F;missing.csail.mit.edu&#x2F;" rel="nofollow">https:&#x2F;&#x2F;missing.csail.mit.edu&#x2F;</a> to people that is not familiar with some topics at work.
alper12 个月前
Maybe people in CS should enjoy learning things about CS and not do the bare minimum?
blinded12 个月前
I had teachers that wanted code assignments on cd rom. No joke, I graduated undergrad in 2014. I had 1 professor who used fossil - which was on outlier (I actually kinda like fossil still).
NautilusWave12 个月前
CS has always been about Computer Science, not Computer Skills. Maybe Theo just doesn&#x27;t know what it stands for.
AnishLaddha12 个月前
i feel like this is being blown way out of proportion. learning git is never the bottleneck to becoming a software engineer, and it doesn&#x27;t take longer than an hour to grasp the basics.<p>CS majors should learn it just by messing around with projects, but I don&#x27;t see why an otherwise great candidate couldn&#x27;t learn it very quickly
评论 #40693694 未加载
评论 #40694188 未加载
elmo_on_fire12 个月前
I appreciate a CS grad that doesn&#x27;t know basic Git but then has it mastered by EOD.
jordanpg12 个月前
Whether CS grads know this or that tech is irrelevant.<p>What matters is are they curious and how quickly they can self teach this or that tech.<p>And besides, learning the basics of git should be an afterthought for someone being hired for a programming job!! Come on.*<p>* Not gatekeeping here, I&#x27;m just trying to say that in the spectrum of tasks an entry-level programmer will need to get good at, git is a minor footnote. You can generally learn 99% of what you&#x27;ll need to do in a short period of time, unless your team is doing exotic stuff, in which case they should stop doing that.
评论 #40690886 未加载
评论 #40691275 未加载
评论 #40691101 未加载