3 ms·
> Are they not different skill sets? One is a practical skill, the other an academic one. I'd like to see you design and program a P2P networked program withou
by fwefwwfe 9y ago
> Are they not different skill sets? One is a practical skill, the other an academic one.
I'd like to see you design and program a P2P networked program without any CS knowledge, like Kazaa or Bit Torrent, that actually works as well as they do.
> I've met "programmers" who had depth of theoretical knowledge but couldn't code their way out of a paper bag.
That's true for lots of fields, but it's not hard to see that that doesn't mean theoretical knowledge isn't useful.
- squeaky-clean 9y ago> that actually works as well as they do. I doubt most CS grads could do this. One hard part of it is the p2p (but that's already been solved [0]). Having a project that large where you don't eventually shoot yourself in the foot because of architecture and finish in a reasonable time without using too many resources on a user's computer is also a hard part. [0] https://github.com/bittorrent/libutp https://github.com/bittorrent/libutp
- fwefwwfe 9y ago> I doubt most CS grads could do this. Of course not, but the point is that the information can be valuable for making real things.
- jaggederest 9y agoIt's a lot, lot easier to read papers on the algorithms needed by, and understand the specific requirements of, a particular project than it is to learn the entirety of software development outside algorithms ad hoc. Honestly, even though I do know a fair bit about the Bit Torrent algorithms, I wouldn't trust that knowledge since it's most likely out of date or incomplete. It's deserving of research for anyone, even people who 'know it already'. That's why I don't understand these narrow algorithmic tests - very, very seldom is a priori knowledge about DFS vs BFS going to be something that makes or breaks a project. It would be akin to testing civil engineers on the memorization of precise ratios of the ingredients of concrete in current usage, instead of on the broad applicability of particular materials to particular purposes.
- solitus 9y agoYeah, I'd love to know how they test civil engineers in interviews.
- mattmanser 9y agoFor a working peer-to-peer network, who would you bet on to get a working solution first: 1. a programmer without any formal CS training 2. a CS graduate without any practical programming experience Most programmers without CS degrees would pick up the concepts needed in a few days, most CS students would take months to even be able to finish a basic program. And it would fall over as soon as you sneezed at it. While there will be exceptions on either side, run that race a thousand times, and the programmers would win the majority of times.
- fwefwwfe 9y agoThis is why I said you'd have to squint really hard to find something like this. You're clearly moving the goalposts here. I didn't ask about just a working solution, which could be almost anything. Even just something as hacky as everyone running an ftp server might fit such an extremely vague criterion. But to run with your new scenario, professional programmers could come up with just a working solution quickly. However, lots of CS students could do the same. Pretending like no CS students can program reasonably well is disingenuous. > most CS students would take months to even be able to finish a basic program I don't have statistics on that, but I suspect most seniors and juniors could get something working in far less than a month. You're just trying to paint them in a worse light here. It's not like CS students don't have larger projects they complete in relatively short time frames. > And it would fall over as soon as you sneezed at it. I bet the that would be even more so for programmers with no CS experience. The reason I mention P2P programs is that they require CS fundamentals to function reasonably well. And CS students would be far better equipped to look up and understand and implement those things. Your average programmer who thinks CS is unnecessary is likely to write something that indeed 'falls over as soon as you sneeze at it' here because under a real load, it will not perform well. > While there will be exceptions on either side, run that race a thousand times, and the programmers would win the majority of times. For writing yet another Rails website or somesuch, maybe. For an example like mine, that requires in-depth CS knowledge, not a chance! I think the reason you are so confused is that you assume CS students can't be 'programmers' and/or you're mentally pitting experienced devs against new CS students. I doubt a new programmer that didn't have CS knowledge would do well at any of this!