Live data from Hacker News

A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

comp.nus.edu.sg

31–40 of 45 posts

Re: A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

#31
post #13

Earlier quoted context omitted.

In my opinion, it is not the mission of universities to prepare students for jobs. Universities are research institutions that prepare students for research. That's why all professors have to do research. Vocational schools exist for the purpose of job training. Big companies can also train their own workers.

They are both research and training institutions, and quite obviously so if you look at another discipline. The architects don't all learn abstract obscure theory, they spend a(crazy) amount of time doing drafts and models. The engineers don't all learn irrelevant and out of date techniques. The pharmacists spend half their time in labs. As do the chemists. The doctors have to do rounds on real wards. So why in CS is…

It used to be true for all subjects when universities as we know them today were founded. It is still true for the hard sciences. Physicists train to become researchers, no data scientists at hedge funds. Computer Science is not Software Engineering and shouldn't be forced to become that. Computer science is imho a branch of mathematics and the focus should lie on theory. To steal Dijkstra's words, I don't think it's any more about computers than astronomy is about telescopes.

I don't think it's a good idea to teach students whatever is currently en vogue in the industry. If you for some reason need to have an applied subject at a university instead of a vocational school you should call it Software Engineering or whatever.

Re: A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

#32
post #31

Earlier quoted context omitted.

They are both research and training institutions, and quite obviously so if you look at another discipline. The architects don't all learn abstract obscure theory, they spend a(crazy) amount of time doing drafts and models. The engineers don't all learn irrelevant and out of date techniques. The pharmacists spend half their time in labs. As do the chemists. The doctors have to do rounds on real wards. So why in CS is…

It used to be true for all subjects when universities as we know them today were founded. It is still true for the hard sciences. Physicists train to become researchers, no data scientists at hedge funds. Computer Science is not Software Engineering and shouldn't be forced to become that. Computer science is imho a branch of mathematics and the focus should lie on theory. To steal Dijkstra's words, I don't think it's…

You're focusing on the theoretical fields while conveniently ignoring the doctors, engineers, pharmacists, chemists, biologists, architects, etc.

All of whom spend all of their degree on practical, applied learning. And have done for decades/centuries.

If you then want to go into research in those fields you do a PhD. The vast majority of their graduates go into industry.

And of course, the vast majority of CS students go into industry, just woefully under-prepared, unlike other disciplines.

There's no reason for CS to stay theoretical only. The field of computer science/engineering/making/whatever you want to call it doesn't need loads of researchers, it needs loads of practical, professionally trained, programmers.

The ridiculous defence that it's computer science not engineering is so over and dead and that ship sailed decades ago. It's just a name. Just like a PhD, a Doctor of Philosophy, in History doesn't make you an expert in Philosophy, it's just a name.

Re: A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

#33
post #3

Earlier quoted context omitted.

> Did anyone read this book? Just skimmed through a few pages, found a small name error: > Java millennium (Java ME) which is made to create Embedded Systems

Thought Java ME stands for Java Micro Edition

It does. OP is saying that “Java Millenium” is an error.

Re: A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

#34
post #13

Earlier quoted context omitted.

In my opinion, it is not the mission of universities to prepare students for jobs. Universities are research institutions that prepare students for research. That's why all professors have to do research. Vocational schools exist for the purpose of job training. Big companies can also train their own workers.

In Australia, we intentionally collapsed most of our vocational schools into our public universities a couple of decades ago. I guess that was fairly unique because it was such a conscious decision. Universities in the modern world _are_ in fact vocational schools for many professions. Class sizes and student numbers alone often show this. And while big companies can train their own workers, many choose to off-load t…

As I say elsewhere, just look at other disciplines taught by universities. This is a totally untrue view of what universities are.

They are learning and research institutions. They've never just been research institutions. And the vast majority of fields don't really bother teaching any R&D to under-grads, they just teach them the subject and practical application of it in the real, job, world.

In the UK we used to have vocational schools too, that all got changed to universities. It didn't mean no vocational training went on in universities.

Re: A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

#35
post #31

Earlier quoted context omitted.

It used to be true for all subjects when universities as we know them today were founded. It is still true for the hard sciences. Physicists train to become researchers, no data scientists at hedge funds. Computer Science is not Software Engineering and shouldn't be forced to become that. Computer science is imho a branch of mathematics and the focus should lie on theory. To steal Dijkstra's words, I don't think it's…

You're focusing on the theoretical fields while conveniently ignoring the doctors, engineers, pharmacists, chemists, biologists, architects, etc. All of whom spend all of their degree on practical, applied learning. And have done for decades/centuries. If you then want to go into research in those fields you do a PhD. The vast majority of their graduates go into industry. And of course, the vast majority of CS studen…

I'm not against training loads of programmers, I just don't think that we should kill CS as a theoretical subject to do so. I believe vocational schools are better suited for the task.

Re: A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

#36
post #31

Earlier quoted context omitted.

It used to be true for all subjects when universities as we know them today were founded. It is still true for the hard sciences. Physicists train to become researchers, no data scientists at hedge funds. Computer Science is not Software Engineering and shouldn't be forced to become that. Computer science is imho a branch of mathematics and the focus should lie on theory. To steal Dijkstra's words, I don't think it's…

You're focusing on the theoretical fields while conveniently ignoring the doctors, engineers, pharmacists, chemists, biologists, architects, etc. All of whom spend all of their degree on practical, applied learning. And have done for decades/centuries. If you then want to go into research in those fields you do a PhD. The vast majority of their graduates go into industry. And of course, the vast majority of CS studen…

Computer science is not meant to be a software engineering course.

There are software engineering courses at university.

Re: A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

#37

Earlier quoted context omitted.

I found I had the same problem at university re: VCS. It's hard to see the benefit of using git when it's for a single assignment over two weeks where you're the only contributor.

No group assignments in your course? I couldn't get my team mates to use it, but I did on my end, and it was a godsend. Other teams were merging stuff by hand and losing hours (in total) in the process.

Doing computer science rather than software engineering, I didn't have many. Most group assignments involved us sitting there together at a computer basically doing peer programming.

Re: A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

#39

Did anyone read this book? Any thoughts about it? I looked at it really quickly and it seems good, but I haven't read it and then used the knowledge. So how useful is the actual knowledge itself in a practical context? Also, I would be curious to know if there is a 2017/18 version of it.

I think it helps you gain a quick perspective on what's actually out there, especially in case you missed something in your curriculum. I personally found the Java EE chapter a better introduction than the official starting documentation from Oracle, with fewer buzzwords and more actual information. The Object orientation chapter feels a little out of place to me, though; hardly anyone with a degree in IT wouldn't know about it. Overall, not reference material but a good intro, although it's somewhat outdated and the fact it was put together from individual essays leaks through.

Re: A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

#40
post #10

Earlier quoted context omitted.

Yes! Git is not merely version control but a specialized sort of version control. I've run into the opposite problem, when I've tried to use Git for projects that weren't source code. Without thinking about it, just by reflex, I'd create a project directory for a new project: Web pages that were almost entirely English text, or a Photoshop project, or an e-book project...and init my git to track it and set up my serv…

I have to say I don't agree. I find git useful every time I do work that is even just a bit exploratory - which is almost all of it. E.g. doing a mockup in Inkscape - I'll commit, then create a new branch and try out some idea. If I'm not satisfied, I'll just checkout master and keep working on the previous version. In fact, I think this is a common behavior; almost every PC I've seen has a poor man's version control…

But that's my point. I'm not saying that other things don't need version control at all but that many don't need the specialized, heavyweight version control features provided by Git. For many things that need version control (I'm not saying they don't), the lightweight "poor man's version control" of saving named copies is fine, so it will seem puzzling to someone doing only that kind of work why anyone would go to the trouble of learning something as complex as Git when a much easier solution is available.

It's when doing a specialized kind of work with more demanding constraints that you see the benefits that justify the cost of learning and using Git. If you never do that specialized work, the specialized VC of Git might not be worth it. "Poor man's" VC might make more sense.

Post reply on HN