Slashdot Mirror


Does Anyone in IT Read Academic Literature?

digital book worm asks: "I'm a soon-to-be fresh-out with a Masters degree in Computer Science. For the last several years I've had paper after paper shoved in my face, and following some of the major publications (such as Communications of the ACM, IEEE Software, and some of the IEEE Transactions series) and conference proceedings has become second nature. I can't help but wonder though: For those of you outside of academia, do you find that there is any benefit to following the latest research on a regular basis? Clearly there are times when it is appropriate to go back and look for papers that solve a particular problem you're working on, but I'm finding it a little difficult to believe my professors' hype that the latest and greatest is the stuff that goes on in these papers, and that I should make it a life-long goal to keep current on many of the publications listed above."

8 of 73 comments (clear)

  1. go with the flow? by macshit · · Score: 3, Insightful

    I certainly don't religiously keep up with things, but I love periodically going to the library and checking out the latest journals etc. because there's always something cool to read.

    I do seem to find the most interesting stuff through references from other sources though, e.g., someone will mention a paper on a mailing list I read, or I'll do a google search on some term I see in patch which will turn up relevant publications.

    So my impression is that you can keep abreast of things pretty well simply by "remaining engaged" in whatever activity/community interests you, and that the current interesting ideas and research will inevitably pop up if you do. Reading journals and conference proceedings (or at least browsing through the contents to find the cool stuff) can be part of that, but it hardly seems necessary to worry about it too much.

    --
    We live, as we dream -- alone....
  2. There's some merit to either viewpoint. by mellon · · Score: 3, Insightful

    On the one hand, if you stay on top of research, even though most of what you read is useless, you'll be in a good position to integrate what you read and it will probably kick off thinking processes that will be of value. Having a good overview of what's going on helps you to see connections between work that the authors may not even realize is related.

    On the other hand, there's a tremendous amount of stuff out there. I don't mean crap - some of it's quite good. But staying on top of it could easily be a full-time job, and then some.

    So I think your professor is right, in a sense, but what he's saying may not be practical in the real world, even if it makes sense in academia.

    I would suggest that you decide how much time you're willing to spend reading papers, and make a habit of doing it, and when you run out of time, stop. If you have nothing that's obviously interesting in your stack, skim what's on top. If there's something interesting, skim that, and if you still think it's interesting, read it more carefully (if you need to - often skimming is all you need). But always cut yourself off when you get to the end of the allocated time - don't bog down reading papers all day.

    Heck, this is advice I should probably take. Thanks for asking! ;')

  3. Re:No by ivan256 · · Score: 3, Insightful

    I have exactly the opposite perspective. Every successful, novel product I've worked on has had foundations in recent academic papers. Successful design level engineers read the lastet stuff, and put the ideas they get from the papers they read into practice.

    Anybody that tells you they can launch a tech product that is both revolutionary and successful without learning from the recent innovation of others is lying, and the people in academia are the ones that share their recent innovations.

  4. No by Ratbert42 · · Score: 4, Insightful
    Part of the reason I bailed on my PhD was that one of my profs was an editor for one of the big journals. I probably reviewed a couple dozen papers a year and saw how tit-for-tat things could be. An unknown with a good paper could still get published but a incrementally improvement by one of the big research schools was always rated higher than it should have been. The papers aren't written for most of the audience anyways; they're written to impress reviewers. So that's one reason I don't read them.

    The other is that they just aren't that relevant to my career. I once heard cutting-edge software engineering literature called "intellectual porn". Just like porn, all the little imperfections are smoothed over and if you read enough of it you believe that every company (or girl) is perfect and yours is the only one that's this messed up. Talk to guys that have been around (jobs or girls) and they'll tell you that they're all messed up. The ones that look perfect are the worst of all.

    Personally I try to keep up with trends that have caught on. I didn't jump on Agile or Extreme Programming even though parts of it sounded good. Over the last several years I've learned Java, Photoshop, ASP, Perl, JSP, Flash, UML, Design Patterns, J2EE, and now DotNet. Not once did I pick up a journal article for those, but just looking at job postings, resumes, and the shelves at mega bookstores will show you what's hot. Sure you'll be a little behind the curve. If you want to stay in front of it, get to DotNet or Java user groups and watch the respective web sites to keep up with the up-and-coming features.

  5. Current stuff? How about CLASSIC stuff? by xtal · · Score: 4, Insightful

    You're kidding, right?

    I've been able to do very well for myself by being able to apply classic engineering and IT things - you know, searches that aren't linear brute force, some of the more useful design patterns, knowing what a code profiler is. How many programmers out there have even tried to read the Art of Computer Programming, by the man your God, Knuth?

    How many people who call themselves C and C++ programmers do you know, who haven't read the C Programming Language, or the C++ Programming Language? ..for that matter, how many have studied the documentation that came with their compiler? understand the operation at a general level of the OS they work with? have a knowledge of security problems? care about any of that? ..becoming more cynical, know what the stack and heap are?

    My experience is that a large segment of the IT world is ignorant or dismissive of the classical stuff, so to hope for them to be aware of current developments that may or may not be useful to anything being done now is probably a far reach at best.

    --
    ..don't panic
  6. "IT" doesn't value theory or foundation knowledge by Anonymous Coward · · Score: 2, Insightful

    I come to IT from engineering (EE). I've constantly been astounded by the shallowness of the average practitioner in this field. Not because they're dumb or incapable, but because they actively choose to tune out anything other than the latest products, buzzwords, and empty vendor promises (including open source stuff).

    In engineering it's common that the average engineer has a basic knowledge of, e.g., fundamental equations and how practical tools are derived from them. In IT, it's almost considered an *advantage* to avoid deep or abstract thought.

    Anyone who deals with databases, for instance, knows exactly what I'm talking about. I gravitated toward databases because of the complete and sound theory behind data storage and manipulation (the relational model). However, no "modern" database supports the full power of the relational model. Vendors and users seem more interested in how well their databases support XML (a relative of the 1970's hierarchic databases), rather than how well they guarantee data integrity or allow for user-defined types and operators.

    I attribute this to a lack of what I call "distilled thought". Folks don't know how to cut to the essence of whatever they are working on. Can you imagine if EE had, for instance, a different set of theories for every shape of antenna? No, we have four simple equations, Maxwell's equations, from which everything is derived. Once you understand the basic principles, you are in a position to critically evaluate almost anything somebody puts in front of you.

    So, to answer the original question, there are a FEW of us who value "academic literature" and foundation knowledge, but most don't.

    (Though to be honest, some of the academic stuff is getting contaminated with the buzzword fungus as well).

  7. Depends by coaxial · · Score: 2, Insightful

    The correct answer depends on what you want out of your career.

    Most people here are quite satisfied with being essentially code monkeys that take the current "Teach Yourself Foo in 24 Days" book, and use that. If all you want to be is a guy that churns out VB code for an insurance company, make webpages, or reboot windows boxes, then no. There's no point to keep up with the field, because you're doing anything new. All you're doing is taking advantage of essentialy commodity techniques and technology.

    It is important to note many of these same people are hostile to research, criticizing academic papers as pointless, crap, and full of big-words (aka technical terms). These same people tend to think of themselves as God's gift to engineers, and therefore react negatively to anything they can't understand. Computer science is still a young field that is dominated by the young and experienced. It is no wonder, why the same mistakes are continously repeated in this field.

    Now, if you want to work and actually create new technologies (as opposed to simply products) then you need to keep up with the research. As a lowly coder, you can't take necessarily take advantage of what you read, but as a lead designer you can take advantage of some of it.

    If you decide you want more, then just focus on one or two lead journals most relavant to what you're doing. If you decide you want to write VB all your life, then don't bother. The choice is yours.

  8. Re:Cutting edge is not in the academic by CompVisGuy · · Score: 2, Insightful

    I don't agree with you. You have to think about what you were being taught and why a particular tool was used for teaching. It is quite possible that whoever was running your course was a crusty old academic who had no idea about the real world, and still thought that Pascal was a must-have on your CV.

    However, if you went to a half-decent college, it's more likely that they were trying to teach you the fundamental ideas of your field. Perhaps Pascal had a particular quality that meant that it was useful for the teaching of ideas, or perhaps the development environment meant that students were able to get going quickly and start tackling interesting problems?

    Many CS departments now just teach Java over and above the ideas behind the discipline. That's fine, especially for the department (who can say "95% of our graduates went into employment in CS jobs within 6 months of graduating"), but when Java is supplanted by the next big thing, those who just learned Java (rather than the theory behind their subject) may have trouble adapting.

    I'm not trashing Java, I'm trashing the sausage factory mindset.

    About 99% of what I learned at undergraduate level was not cutting edge (and wasn't even close). However, I was taught ideas, and that has equipped me to work in both industry (for global companies) and more recently in academia on my PhD research. It's at graduate level and beyond that students work at the cutting edge. It's also true that industry develops some cool stuff, but the emphasis in industry is on cutting-edge research that will yield a profit in a couple of years. Academia has an eye on the long term. Sometimes the two converge (Google wouldn't have been possible without cutting edge academic research, but wouldn't be as well supported today if it had stayed a research project).

    --


    "The noble art of losing face will one day save the human race"---Hans Blix