Live data from Hacker News

Why Computing Students Should Contribute to Open Source Software Projects

cacm.acm.org

41–50 of 179 posts

Re: Why Computing Students Should Contribute to Open Source Software Projects

#41

How can I leave this industry. I've been a web dev since graduating in 2007 and no longer have the desire to compete in an oversaturated, increasingly complex industry. If i have to work for someone else, I'd rather take the path of least resistance. Try to be on easy mode. That's just me. I lost my passion for all of it. We recently started hiring for a junior front end, and I had to review the test results. 95% of…

You can't leave this industry because frankly no other industry will coddle it's overpaid, dunning Kruger workforce like software. Go to a law firm or a plumbing gig and complain that their task management is literally the hell and see what happens.

Of course unqualified people apply a lot, it's because the secret is out that a bunch of lazy people can get paid obscene amounts in this field! There's a flood of unqualified people because you won't put a salary amount in the ad that will actually attract the right talent. There's tons of ways you can weed out the unqualified people but you won't because there won't be any applications left after that.

Re: Why Computing Students Should Contribute to Open Source Software Projects

#42

Earlier quoted context omitted.

I completely agree with both points. 1) No, universities shouldn't waste too much time preparing people for the job; they should prepare give people the more scientific types of skills that one doesn't really pick up on the job: Data structures, algorithms, paradigms like OOP and FP, etc. 2) Unleashing a horde of yet incompetent newbies on the open source world with a mission to contribute won't be helping FOSS; what…

but there's already significant amount of ds, algos, OOP in academia, also I don't see how those are "scientific types of skills" I do also wonder what people *precisely* mean when they talk about "data structures and algorithms" in context of academia You talk from perspective of competitive programming?

Yes, there is already a significant amount of it; and that's good. My opinion is that academia should not waste too much time preparing people for a job, but give them as much as possible of precisely the kind of problem solving skills that they won't be picking up on the job.

Re: Why Computing Students Should Contribute to Open Source Software Projects

#43

Earlier quoted context omitted.

but there's already significant amount of ds, algos, OOP in academia, also I don't see how those are "scientific types of skills" I do also wonder what people *precisely* mean when they talk about "data structures and algorithms" in context of academia You talk from perspective of competitive programming?

Yes, there is already a significant amount of it; and that's good. My opinion is that academia should not waste too much time preparing people for a job, but give them as much as possible of precisely the kind of problem solving skills that they won't be picking up on the job.

Playing devil's side:

It's dependent on the job, but anyway they can learn this stuff not only during work hours (learning hours or whatever it is called), but also in their free time

It's not like only Academia is authorized to teach DS&A, FP

Re: Why Computing Students Should Contribute to Open Source Software Projects

#44
post #32
post #8

> in the 21st century programming proficiency on its own is neither representative of the skills that the marketplace requires from computing graduates, nor does it offer the strong vocational qualifications it once did. Universities are not vocational education facilities though. Time a student has in university is better spent on getting deeper understanding of things that are hard to pick up in the workplace, and…

> Universities are not vocational education facilities though I see this argument a lot; universities would like to not be vocational education, but unavoidably they are. Certainly for all the older class of professional job: engineer, actuary, lawyer, doctor. For those you absolutely have to go to university to even begin your vocational training. Programming is different in that the degree is less of a hard require…

I don't mean universities should teach some very abstract computer science and exclusively prepare people for research career. But I don't think that vocational learning process as if you train an apprentice to work on the latest model of a lathe is a good model for engineers either.

I just think universities should give their alumni focus on the big picture and long term, they will get enough exposure to mundane tasks like reviews at work.

Re: Why Computing Students Should Contribute to Open Source Software Projects

#45
post #25

Earlier quoted context omitted.

I don't really see why they shouldn't be understood as both. Specially in fields like CS, engineering, law, medicine and economics and so on. There is need for highly skilled and educated people in industry even for regular roles. On other hand there is also need for scientist and researches. Both roles are somewhat different, but I dont' see now reason why they couldn't be trained at same facilities.

Well I'll take a stab at why CS should not be vocational. The field is first and foremost a branch of applied mathematics. The tooling taught in a CS program only has utility insofar as it serves to teach the fundamental mathematical concepts. This is especially true for undergrad. In my opinion, there are far too many people enrolled in CS programs who would be much better served by a software engineering degree or…

In many European countries, vocational schools (usually called universities of applied sciences, for instance Fachhochschule in DACH, IUT in France) offer just that.

Nowadays there are even bridges to "proper" universities if you want to pursue a more academic MSc after your vocational BSc.

Re: Why Computing Students Should Contribute to Open Source Software Projects

#46
I'd go one further and have dedicated courses on open source, its history, evolution, business models, challenges etc.

Open source computing will quite likely be the bulk of computing, with the "closed" parts being but special purpose islands in an ocean of open code (or multiple oceans if you want to navigate licensing differences)

The precise manner and degree that this will happen is not clear. It will depend on how business models on both the open and closed side of the fence evolve, but, from the point of view of an academic institution, equiping students with options to navigate this emerging future is quite sensible.

Re: Why Computing Students Should Contribute to Open Source Software Projects

#49
post #13
post #8

> in the 21st century programming proficiency on its own is neither representative of the skills that the marketplace requires from computing graduates, nor does it offer the strong vocational qualifications it once did. Universities are not vocational education facilities though. Time a student has in university is better spent on getting deeper understanding of things that are hard to pick up in the workplace, and…

The CACM Viewpoint proposal doesn't mean that students have to work on the kind of open source projects that businesses will assign developer labour to. The open source projects can be chosen to complement the educational aims of the course.

Agreed!

I found one recently that does some interesting stuff, a formal verification library for Rust: https://www.pm.inf.ethz.ch/research/prusti.html

Re: Why Computing Students Should Contribute to Open Source Software Projects

#50
post #10

I only hope it would not be some kind of common sentiment "you have to contribute to an open source project to earn better grade or get a job". It will end up as Huawei Linux kernel "contributions" - a lot of pointless commits that are only a pain for project maintainers and bring zero actual value.

From the article, and up to your point. On the expected learnings there is: ... > Choosing realistic contribution goals. (Initially students tend to wildly overestimate their ability to contribute to a project.) This is a key activity in agile development sprints; ... also > Try to contribute a trivial fix as a warm-up exercise and as a way to test your ability to follow the project's workflows.

> Try to contribute a trivial fix as a warm-up exercise and as a way to test your ability to follow the project's workflows.

Finding trivial fixes is no trivial task though. Some projects do have a tag like `good_starter_bug` but most don't. Projects that actually have lingering trivial fixes tend to be rather huge too.

Post reply on HN