Live data from Hacker News

Version Control and Higher Education

medium.com

1–10 of 30 posts

Re: Version Control and Higher Education

#2
I haven't met any developer who was incapable of learning a version control system on the job. Why should universities spend the student's very expensive class time to learn about this? That time would be much better spent learning about fundamental knowledge such as algorithm design rather than learning about a specific tool that could be obsolete by the time the student graduates. Also, in a first semester course on programming, learning version control is a distraction from all the other things you need to learn to write a working program, like programming language syntax and building a mental model of how program execution works. (Not every CS student gets to college already knowing this stuff!)

Which is not to say that universities shouldn't make these tools available and encourage their use for class projects. But that doesn't require them to "integrate version control into their curriculum" like the article suggests. The documentation for git is freely available on the web and anyone who wants to can read it on their own time and ask their fellow students about it.

The larger philosophical question here is whether higher education is a vocational program for creating good "team players" who are productive with the current technology on the first day of their employment, or rather to provide an education that teaches them fundamental knowledge and how to learn new things on their own.

Side note: I've taught a first semester CS course in a well-known university, so I have some experience with the difficulties that even some very smart students face while trying to pick up the basic concepts. Adding in version control would have made it harder for some of them to successfully complete the course.

Re: Version Control and Higher Education

#4

I haven't met any developer who was incapable of learning a version control system on the job. Why should universities spend the student's very expensive class time to learn about this? That time would be much better spent learning about fundamental knowledge such as algorithm design rather than learning about a specific tool that could be obsolete by the time the student graduates. Also, in a first semester course o…

I agree that there are more important concepts that need to be covered in freshman/intro level CS courses, but some of the graduates I was meeting and interviewing had not even heard of version control or source code management, let alone spent any time collaborating with a team of developers. They were not getting any exposure to it at any level within their program. It didn't even seem like something they had been introduced to. IMO, source control management should be as essential as ssh-ing into a remote server or running/compiling a program in the shell.

Re: Version Control and Higher Education

#6

I haven't met any developer who was incapable of learning a version control system on the job. Why should universities spend the student's very expensive class time to learn about this? That time would be much better spent learning about fundamental knowledge such as algorithm design rather than learning about a specific tool that could be obsolete by the time the student graduates. Also, in a first semester course o…

> Why should universities spend the student's very expensive class time to learn about this?

To turn this around, why should businesses pay former students to learn about this on the job instead of paying them to be productive?

From my experience, there's a large number of developers (both young and old) out there who are very capable programmers, but seem to not spend any of their spare time learning things on their own after leaving school. It's insanely frustrating having to teach new junior developers how to properly use a tool like git when they've never even been exposed to version control, all while they're supposed to be productive. It really can become a waste of company resources.

Are they capable of learning version control on the job? In most cases, absolutely, given enough time and buffer for mistakes. However, I believe, as part of professional development in the field they chose, it should be something they learn outside of work and preferably before getting the job. University seems like a very valid place to at least introduce and encourage use of version control systems early on, if not at the very least in a higher level course.

Re: Version Control and Higher Education

#7
post #6

I haven't met any developer who was incapable of learning a version control system on the job. Why should universities spend the student's very expensive class time to learn about this? That time would be much better spent learning about fundamental knowledge such as algorithm design rather than learning about a specific tool that could be obsolete by the time the student graduates. Also, in a first semester course o…

> Why should universities spend the student's very expensive class time to learn about this? To turn this around, why should businesses pay former students to learn about this on the job instead of paying them to be productive? From my experience, there's a large number of developers (both young and old) out there who are very capable programmers, but seem to not spend any of their spare time learning things on their…

If you want people who know git, then hire people who know git. If you don't want to pay for people who already know git, then you're going to have to pay people to learn git.

Re: Version Control and Higher Education

#8
One way or another, I feel they should come out of college knowing something about version control, but not in the first class. I can easily believe greenyoda that trying to learn programming and, say, git at the same time would be a disaster. I'm tempted to say you should just warn them that at some point it's going to be part of their class workflow, but I don't think that would fly bureaucratically. At the same time, it would be weird to just have a class in "version control"; it only makes sense in the context of another project. So maybe make it part of a lab-style class, with a focus on individual instruction, and RTFMing.

Then I get to my internship and have to learn Team Foundation Server... Sheesh.

Re: Version Control and Higher Education

#9

I haven't met any developer who was incapable of learning a version control system on the job. Why should universities spend the student's very expensive class time to learn about this? That time would be much better spent learning about fundamental knowledge such as algorithm design rather than learning about a specific tool that could be obsolete by the time the student graduates. Also, in a first semester course o…

Spot on. There are 10,000 things about working in "a real job" that you either don't learn or don't make sense to teach as part of an undergraduate education. University is not vocational school.

Re: Version Control and Higher Education

#10
post #6

I haven't met any developer who was incapable of learning a version control system on the job. Why should universities spend the student's very expensive class time to learn about this? That time would be much better spent learning about fundamental knowledge such as algorithm design rather than learning about a specific tool that could be obsolete by the time the student graduates. Also, in a first semester course o…

> Why should universities spend the student's very expensive class time to learn about this? To turn this around, why should businesses pay former students to learn about this on the job instead of paying them to be productive? From my experience, there's a large number of developers (both young and old) out there who are very capable programmers, but seem to not spend any of their spare time learning things on their…

"To turn this around, why should businesses pay former students to learn about this on the job instead of paying them to be productive?"

Because it's expected that entry-level employees don't have a lot of experience. It's even possible that these young people have taught themselves all sorts of useful things on their own already, but haven't gotten around to teaching themselves version control or the particular database system or development environment that your company uses. I think it's a better investment to hire someone who is smart and a fast learner than it is to hire someone who happens to know the particular tools you currently use.

In the software field, we've somehow decided that it's normal for entry-level employees to have lots of practical experience. But in most other jobs, that's not the case: they learn at their employers' expense. How many new hires on Wall Street have ever used a bond trader's workstation? How many newly-hired railroad employees have ever driven a train? How many newly-hired lawyers have ever represented a client in court?

Post reply on HN