Live data from Hacker News

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

twitter.com

21–30 of 126 posts

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

#21
post #9

Earlier quoted context omitted.

So where should people who want to learn the discipline of software engineering go? It’s definitely what most CS majors are actually there for, and there’s no separate software engineering major at (almost) any liberal arts colleges. I get that saying “that’s why it’s CS not SE” is the hip thing to say when this comes up, but it doesn’t answer the underlying issue, which is that people want a mix of theory and job tr…

I don't know where you are from, but in Canada there's a clear distinction between those 2 degres.

The two degrees are distinct and accredited differently. One is engineering, the other is computing science.

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

#22

"its so easy to use!" tho, right? Why should one need formal education to pick it up? Git is like Autoconf for a lot of problems: utterly unnecessary but often included by default because people have been told "best practice" and never thought to ask themselves if that was true in their case.

> "its so easy to use!" tho, right?

Who are you paraphrasing there?

Git is the program where I see the most alternate interfaces trying to make it easier to use.

"basic git commands" are more or less easy but git overall is a mess.

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

#23

This is why it's called Computer Science, and not Software Engineering.

Exactly. Graduates of a computer science program don't know specific commands around versioning software that they can learn in 10 minutes on the job. Gasp. Algorithms, mathematics and logic are timeless, tooling is not, and it baffles me that people can't distinguish between the two. EDIT: Furthermore, where did they pull this statistic from? I didn't realize that the census also included questions around git knowle…

But if they aren’t teaching Git, are they at least teaching about source control in general? What it does, how it works, how it should and shouldn’t be used. That would be pretty useful.

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

#24
who cares?

git is a tool, not a discipline. It's made to facilitate work, not to create a whole knowledge domain unto itself.

I wouldn'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't represent all of computer science.

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

#25
I think every CS undergrad (or self-taught programmer) should run through the Harvard "CS50x" course, and supplement it with the MIT "Missing Semester" course. This way you'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:

https://gist.github.com/amontalenti/dabeba392b8ac144c6f68bdd...

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 "implementation details" of computing/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/GTK open source projects, which gave me nice exposure to UNIX tooling, version control, issue trackers, as well as compilers, C, and Python.

(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!)

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

#26
most mathematicians and theoretical physicists don’t know what the business end of a spanner is, either.

mechanical engineers have a fighting chance at knowing, and tradie apprentices assuredly do.

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.

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

#27
post #9

This is why it's called Computer Science, and not Software Engineering.

So where should people who want to learn the discipline of software engineering go? It’s definitely what most CS majors are actually there for, and there’s no separate software engineering major at (almost) any liberal arts colleges. I get that saying “that’s why it’s CS not SE” is the hip thing to say when this comes up, but it doesn’t answer the underlying issue, which is that people want a mix of theory and job tr…

To quote an older comment of mine: https://news.ycombinator.com/item?id=40416604

> Computer Engineering or any of the other legitimately useful CS degree paths instead of CS itself.

> At least at the school I went to, CS was kind of a joke for undergrad.

> The students that cared about CPU design, low level software (firmware, drivers, kernel, embedded), or robotics (including computer vision, etc) all went computer engineering.

> The students that cared about cryptography or the formal maths side of computing all went to the mathematics dept in their applied discrete maths or applied computational mathematics degree paths.

> The students that cared primarily about high performance computing or applied computing in general (but didn't go one of the aforementioned routes) went through the computational modelling and data analytics program.

> And the students that wanted to learn CS for the purpose of game design or creative arts had their own program within the school of arts (can't remember the name).

> So out of the students who were interested in computing that went to my uni for undergrad, the ones that were left in the CS department were those who were told "get a CS degree for lots of money", those that didn't bother researching any other programs, and those who wanted to be web devs or enterprise java/c# devs.

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

#28
Source control should be taught as a component of any "software engineering" course. Any class that teaches project management, testing, and delivery, and does NOT teach source control, is missing something of vital importance.

(My university had exactly this issue.)

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

#29

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. None of the specific languages or software I learned during my degree do I even use now in my current role.

Git is not just a fad; it's a literal underpinning of most serious software development these days, especially if you need to work with others. That a CS grad doesn't even know basic Git is telling not of their degree, but of the individual themselves - that they have no desire to learn beyond what's taught, and couldn't even be bothered to look into the requirements of the industry that they want to work in. I argue…

[deleted]

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

#30

This is why it's called Computer Science, and not Software Engineering.

Exactly. Graduates of a computer science program don't know specific commands around versioning software that they can learn in 10 minutes on the job. Gasp. Algorithms, mathematics and logic are timeless, tooling is not, and it baffles me that people can't distinguish between the two. EDIT: Furthermore, where did they pull this statistic from? I didn't realize that the census also included questions around git knowle…

How can you graduate from a CS program without having had to learn git somewhere along the way? Do you never collaborate on any project? Do you never check out a repo or make changes to it?
Post reply on HN