Live data from Hacker News

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

twitter.com

71–80 of 126 posts

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

#71
post #62

Earlier quoted context omitted.

VCS is something that is interacted with multiple times a day in any codebase. It is a basic tool, not too far apart from being able to traverse a file system. The next step after viewing files, is being able to commit to and view the history of those files. I dont know if that answers "who cares", but a mechanic that does not know how to do something they need to do multiple times every day - there is a skill gap. W…

Any code base?? I question your depth of exposure.

Been programming since 98, professionally since 08.

If a codebase has no VCS.. that seems almost ideological. I've done a git init on a linux file system to understand patch changes.

With that aside, what does disaster recovery look like without VCS? Remote backups ate an obtuse form of VCS.

If your laptop explodes, are you losing months of work? I mentor junior devs to push daily, if their laptop blows up I want them set up again in 30 minutes with at most one days worth of work lost (because they push their branches remotely, if only for the redundancy. Doing so daily makes it easy to recreate what was lost, compared to a week or two of effort).

Without VCS, integration is s larger challenge. It can be done, but continuously and also efficiently?

Seemingly we are talking about non collaborative code bases, a vanishingly small subset of projects. Most software is developed by teams.

Last, it is so damn easy to run 'git init'. My last job - the team used git locally and then did the stuff in TFS when they finally had to. The point is how easy and useful it was. The other guy that did his own thing, did not use VCS, his stuff was scary. His code was disaster if it stopped building, of if we lost his laptop.

Which is to say, VCS is an underpinning for CI & CD, DR, and is stupid easy to get the init setup done. Just about any codebase - yeah. Even if that means doing git locally and then throwing it away.

It is different to choose to not use all the tools compared to not being able to use them, and yet another to be unwilling to learn them either due to prejudice.

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

#72

Earlier quoted context omitted.

Why would an algorithms and data structures course be the place to teach Git? It is not an algorithm or a data structure.

Data structures is where I learned how to write test code. It was the best way to actually get the algorithms correct. If we had git back then.. I remember one bug that took 6 hours to find, finally found it at 8am before the 10am class. Was typing as fast as I could for the next two hours... If there any kind of basic VCS back then that would have been as easy to use - it would have been many fewer all nighters. Whi…

Yes, they divided us into teams of 4-5 and told us about valgrind which turned out to invaluable. So if that is done in some black box web interface anti cheat vendor provided CS course module today that abstracts the actual useful irl experience from the student that would be pretty sad.

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

#73
post #34

Earlier quoted context omitted.

To expand on that, and maybe my view is a bit too traditional, but my understanding is that universities ought to prepare you to become a scientist. At least that's how it was historically. They are not meant to be "vocational training plus" or to subsidize the industry by training the work force for them. (It might be different for colleges, I'm mainly speaking from a European perspective.) I know times have changed…

I'm a researcher in one of the more "applied" subfields of CS (security and privacy), and we absolutely use standard software engineering tools day-to-day. You're not going to be a productive member of a research group if you don't know how to navigate the tools of the trade. Research isn't about using Git, Bash, or Docker, but you're dead weight if you can't wield those. Here's a serious research venue asking for te…

[deleted]

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

#74
post #50

Earlier quoted context omitted.

A couple things... First, git doesn't especially solve problems that CS majors have until they are near the end of their courses. The need to manage collaboration, organization, and change in a code base is trivial until pretty late in a CS program, and typically never gets past basic. Second, the context here is the git command-line interface. People can and do use git extensively without it. Third, git's not exactl…

Git would have been helpful to me in my very first intro to programming course. It fixes those situations of: "arg, I changed one thing - it no longer works, and I'm not even sure anymore what that one thing was!" Second, a successful CS grad has hopefully written at least something that is at least 2000 lines long. Doing that without VCS of any kind is not impressive, it is obtuse. That is a strong no hire signal im…

It's impressive all right; just the wrong kind of impressive.

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

#75

Earlier quoted context omitted.

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…

SQLite is not written using Git. Perhaps you should distinguish VCS - a category of software - and Git, one example of that software.

The tweet we are discussing strongly suggests that the student isn't using any VCS. That is what this discussion is actually about.

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

#76
post #16

Earlier quoted context omitted.

Even if they're focused on theoretical CS they should still be using git to upload their tex files somewhere in 2024. And from an undergrad degree I'd expect both an OS class and an algorithm or datastructurs course that would use some kind of VCS. Or maybe all that doesn't exist when you attend Canadian Chromebook degree mills?

Why would an algorithms and data structures course be the place to teach Git? It is not an algorithm or a data structure.

That's the heart of the matter: Schools are teaching algorithms and data structures to students who don't yet know how to code.

It's wankery, no matter what the student's future path is intended to be. You can't work in CS research either if you don't know how to use a computer.

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

#77

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…

I wholeheartedly agree.

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

#78
post #31

Yep. When I studied CS in early ‘0X the lecture material was only about programming. Everything else you were on your own. 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. 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. The…

I was a TA during that time. A part of the students that came in weren't familiar with concepts such as files and directories or desktop UI metaphors because they were used to mobile OS or in rare cases didn't have any actual exposure to computers. But because the last case used to be the rule and traditionally students mostly used the provided thin client labs and Solaris servers the basic intro to actually using a keyboard and the provided hardware to get things done didn't change much, even when they switched from Solaris to Linux on x86.

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

#79
post #19

I've worked with hundreds of CS grads, the worst programmer I ever came across (as far as readibility of his code) had a master's degree in CS from stanford.

It could be they are working at a level higher than you understand. Not being snarky, but the elite schools are significantly advanced. Imagine learning algorithms from Knuth (yes, I know he hasn't taught undergraduates in 50 years). Looking at the results after being taught by Dr. Smith at Generic State University, you might be unable to recognize the genius.

[deleted]

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

#80
I did not learn any git from my CS degree, so I'm not surprised at all. Hell, the source control used for the first part of my degree wasn't git, and I didn't graduate that long ago. I don't even really remember what prompted me to teach myself git, but everything I learned was from blog posts and stack overflow.

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.

Post reply on HN