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."
There is a great deal of dross that is published in even the better scientific journals and it is quite a task keeping up with even a small field. I can't imagine many people who are not directly involved in research would be able to find the time to keep abreast.
/Science/ or /Nature/.
I'd like to see better summaries of research published; something available in between reading all the abstracts and interesting papers in the top journals of the field and just reading the occasional flasgship paper in
When I was in software design (with some hardware work), I followed several academic journals and a plethora of trade papers to keep up.
Now, after a career veer into network and systems administration, I haven't run across much worth reading on a regular basis. It may be there, but I haven't found it.
Even with the "dross", and the stuff I didn't care about, it was worthwhile when I was in software and hardware.
There's a saying:
A few months in the laboratory (or coding, in your case) can often save you a few hours in in the library.
The hard part is actually being able to keep up (i.e. knowing the language, which journals to trust, what's going on etc). Since you are following the literature closely you should not abandon it. Those that don't follow it will definitely have a hard time starting, though.
P.
If "Academic Literature" means "Hustler" then Yes.
Nope, we don't read hardly any of that stuff. In the real world we just create it and then we move on.
I have to admit though, that in our off time, we do often read about whatever the new thing is by looking at web sites or reading a book on the subject.
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....
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!
I've seen academic papers. Some projects like Plan9 are a part of research (and many others by students in big universities), but the vast majority of 'projects' are either on a personal level or on a business level. When I was in college, and when they were teaching me pascal programming, I realized that Academia isnt exactly cutting edge in IT.
For that you'd have to look online, google around, find mailing lists, download code and compile it.
Heck even for projects like Plan9, you'll learn much more by downloading the thing than reading the papers.
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
I've worked for various companies as a consultant, and as a member of an IT dept for a major retailer, and now work for a company that does military R&D. What I can tell you is that until I got to my current job NOBODY EVER looked at academic research papers. In my current job, however, it's definately encouraged. Unfortunately, after nearly 10 years of working in the commercial sector, I lost all interest in research and academic papers. Some of them are good, most are drivel. But they ARE important as sources of new ideas and techniques.
If you're looking to continue finding usefulness out of academic research papers like those, you need to find an R&D position.
--Mike
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.
Text books do not go to a point they are intended for training, if you want a exact relevant text go for an O'Reilly book.
Sorry about the writing. Robot fingers, you know? Cliff Steele in DOOM PATROL #23
I tend to keep up with the latest ACM/IEEE published papers. But in 20+ years of IT programming I've only met a handful of others that do anything similar.
:-)
Basically I read an interesting paper, suggest we use some small part of it at work, everybody laughs. Two years later I'm called in to explain what the hell I was talking about as it's now seen as the thing to do. (sigh)
For instance, I recently commented that augmented reality is ready to make a move into the corporate world. Laughter all round.
The very same day I was asked to re-explain the benefits of open source as the CEO had been told it would reduce the cost of IT. I just gave the same chat I did three years ago
It appears to me that sotfware has finally gotten "componentized" enough that any given employer of a software engineer will probably focus their development efforts into a fairly narrow marketing niche. Sure, msft and google can afford to explore large swaths of interesting technology, but even then a given worker in a given department is intentionally compartmentalized. Anyone that can see outside their little area of expertise is either fired for being difficult or promoted to management if they can at least pretend to drink the kool aid.
There seems to be very little market for highly educated and well-versed software engineers. The trend is for "coders" that just connect other people's code together with VB or PHP. Businesses would rather pay $2K for a COM+ object and 10c/transaction for a web service and $30/hour for an offshore contractor to connect everything up as opposed to $250K/year for a team of knowledgeable software engineers that could do everything in house.
I've spent many afternoons reading and at least partially understanding printed matter that says "proceedings" or "journal" or "SIG" somewhere on the cover. It was fun in and of itself, but I can't exactly put it on my resume.
However I think I am in a minority (and really I'm not in IT; working for a consulting firm ATM). I have always been interested in it, have done some (published) research of my own in the past, and plan on applying to PhD programs next year, so it makes sense for me. It doesn't affect most people in "The Real World", unless they are working on the cutting edge, or are doing research for commercial organizations.
And really, a lot of papers out there are crap. Interesting but, in the end, useless to anyone anywhere. However, there is the occasional gem, something that is both novel and practical, and I keep reading all of the normal journals in order to find those few. Consider just a couple of examples in the crypto space (which is where I do most of my research); the MD5 breaks last year, and the RC4 key scheduling attacks which led to AirSnort and friends. Both of those are problems that I actually get questions from customers about (which feels weird, because I'm the crypto freak in the group and it almost never comes up)
Whenever I'm doing exploratory coding and trying to figure things out, I tend to spend a few hours googling around on related topics. Often you'll turn up the solutions you need, or at least things that move you in the right direction. Doesn't matter whether what you find is a paper like the ones you're talking about, or the source code of some crappy perl module someone wrote - if it's related, you'll find it through google.
11*43+456^2
If I had the time, I would. But in this field it's a struggle to maintain employability. So I have to concentrate on established and popular technologies.
Attention zealots and haters: 00100 00100
i also just finished a master's degree in comp. sci. (focussing in computer vision). i then landed what is essentially my dream gig at r&d driven firm. i spend quite a bit of time seeing what citeseer and acm's digital library have to say on matters of interest (i'm not an ieee member, although i should eventually look into it). typically, i either end up saving a huge amount of time eliminating approaches or i end up with cool ideas on how to combine approaches, which has thus far been really useful. your mileage will vary, of course.
You're kidding, right?
..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?
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?
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
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).
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.
That being said, I have read a couple of pieces coming from academia that really impressed me. They were primarily targeted at real problems. For example, I read a great piece on the now defunt LRP and some other stuff on clustering too. So there are some gems out there if you look for them.
I'm personally a fan of LinuxJournal even though it's not really an academic publication. They do some pretty interesting stuff and I usually get one or two good ideas per month. I do like reading what others are doing so that I don't have to repeat the process. The sad fact, however, is that many universities are behind the technology curve when it comes to leading edge research. Just because their school's students were the first to have MP3 players doesn't mean a university knows diddly about the current state of technology. I'd bet that there's more of interest on /. than what's happening in all the computer labs at all the large universities all across the country, trolls notwithstanding.
If you don't want crime to pay, let the government run it.
I get it into digital form, and store it into a digital repository. Then go data mining as it were.
The values in the quality of the repository, and asking the right questions.
The recent research is not in books. If it is in books, it is no longer the new thing.
Even the TIME that it takes for books to come out is astronomical, without even considering that there is very little review of the content.
For the random schmuck coming out with a B.S. degree in some IT field, it's hard enough to even keep the acronyms and platforms du jour straight. Trying to add reading journals would cause many thousands of brains to explode needlessly.
For the super-star designers out there, of course keeping up with journals could be helpful.
Academics write crappy code.
Get out and write some code in the real world for 5 years then we will talk. Don't bother with research papers. If something truely useful and good comes along you will hear about it.
Code is art, it can be taught in school, sorta, but it takes talent and practice to do great things.
I just got back from the WWW 2005 World Wide Web Conference, where I ran a session about the future of XML. A week from now I'm off to Amsterdam for XTech (used to be XML Europe).
:-)
Conferences can be useful not just for papers but also to meet people who are doing interesting work, and to try and get a feel for recent ideas. In many ways I prefer them to the journals.
Some people dismiss research and say they are in "the real world" but in fact universities and research laboratories are real places; I've seen them! I would not feel comfortable saying that one aspect of society is more important or more "real" than another. Yes, follow recent research, find some conferences to go to and some blogs to read, and maybe follow some journals.
Be more productive at work because you're smart, not just because you're whipped harder
Many times I've seen someone solve a problem by knowing an algorithm or technique, or by knowing how to find one, where another programmer was entirely stuck or took weeks to do something that might have been done in a few days.
Liam
Live barefoot!
free engravings/woodcuts
SIGGRAPH has become a success for a damned good reason; it's a lot easier to understand and evaluate a two hour lecture than a paper. The paper still provides an important role in providing the mundane details, but all too often I find papers that are nearly wholly derivative and overstate their usefulness. From time to time, I find some interesting papers about stuff like recolouring a picture or video, but I don't go looking for it. The good ones come to me.
I Browse at +4 Flamebait
Open Source Sysadmin
Do you need to keep up? No. That is not to say you should not. For starters this community should no better than most the speed at which this industry changes. Knowing what is coming and maybe even more importantly what is on it's way out can make or break a career.
There are many markets where it really is necessary to reach that next tier of success. If you want to be a grunt, for now or for life, stay as a grunt. Not that you cannot be a successful grunt, but you are handicapped to be one without that knowledge. Your education, continuing education that is, is what gives you the abilities to see what others can't and thus to go where others can't. That's the difference between programming and application design. Trust me, cubicles are nice, but window offices are better.
If you want to take the road less filled with research don't start your own business, don't invest your money, and enjoy your cubicle. There's a good chance that there will be a nice fellow a cubicle over waiting on that ideal FORTRAN contract to come along.
Seriously though, this knowledge is what allows me to do things better than the other guy. It's what makes my brand and to what I owe my success. One more note of advice. When given the opportunity to teach take it. As a primary job fuction or not (professor or simply project team member) teaching will guarantee you rewards to your own personal education found in no other way.
"I'd like to see better summaries of research published"
Then read Slashdot, the finest summarizing publication in the entire universe, and maybe some adjacent ones, too.
In fact, to maximize the exposure of certain research, they will publish summaries several times, sometimes within the same article.
Those who sacrifice security to condemn liberty deserve to repeat history or something. - Benjamin Santayana
Most IT workers don't have the necessary time and money to study academic literature, as they prefer to invest all of their resources to survive in the modern fast-pace high-demanding corporate world. As one of my university professors told us, only the rich have time to actually learn the sciences and study academic literature. If you need to work in order to have food on the table, you will prefer to study something that will benefit you immediately, such as industry white papers and how-to guides. In the modern world where everyone is seeking the money, scientific papers often won't benefit you for years, until you find a way to commercialise the new findings. This is exactly what the corporations want: Lots of IT workers trained in programming and networking but without the slightest knowledge of the underlying sciences. Corporations don't like philosophers and scientists, because they cannot be easily manipulated by the boss; they want you to be a code monkey. But knowledge liberates, and code monkeys can take their life in their hands if they learn the sciences and become philosophers. This is part of what I want to achieve with my site, Wikinerds.org: to assist those who are seeking liberation through knowledge.
P.
A wise person one said to me the two biggest problems in business in the future is the bandwidth between the ears and the bandwidth of the cable, in that order. So far, 25 years later this still holds true in my books. More "professionals" should read these journals, as say you are an eye surgeon, would you not want to keep up with the latest in ocular implant research if this is what you do? Far too many "pros" think learning ends with university... and all are shocked to learn it is just the beginning or get careers doing something else.
Have transcended the realm of the purely technical, into the realm of the social and cultural. So while I hate to say the research is irrelevant, there is a gigantic market for people who will shell out money for 10-second 8bit 11khz clips of some obnoxious catch tune for their disposable cell phone. I think the research is mostly valuable in very vertical areas, e.g. search technology, heuristical spam filtering and network monitoring, media categorization. Unfortunately a large part of day to day software development is simply trudging through boring development to develop rather boring (intellectually) things that users want.
It's 10 PM. Do you know if you're un-American?
For years I couldn't understand what the fuss was about...I felt that all I was doing was just re-implementing ideas other people had had years ago and that I'd picked up from reading papers or old implementations. Eventually I figured out that sure, that was what I do, but most people don't read any literature, so struggle to re-invent the wheel (and therefore make the same mistakes). Myself I find new mistakes more interesting.
It's all about attitude. Do you keep learning, or just keep pushing forward. As another poster said: immerse yourself in the domain. It may not be completely true, but there is a lot of truism in the maxim "there's nothing new under the sun." If you understand that, coming up to speed will be easier than if you treat it as tabula rasa (oops, more of that old knowledge: a deal language). The best hackers I've worked with, whether institutionally trained or not, have all been alike in this regard. That's no accident.
I track the blog "Lambda the Ultimate" to keep an eye on academia: some stuff is occasionally interesting for business IT (particularly process algebra related things). It's enough I think.
One thing I would note is that academia appears to be wrongheadedly trying to "cater to business" by redoing all their old research code in Java/C#+XML. Here's a hint: don't bother! It's not the choice of language that makes the difference to the adoption, it's necessity. For example, one moderately successful crossover from academia to enterprise is "business rules" systems (like SeeBeyond) - these started out as AI research production rule and expert systems.
And we corporate IT people quite happily write business rules in scheme. We're not stupid. But our company is sufficiently large to merit an automated business rules system: most companies aren't!
About 14 years ago, I could count on learning things in journals that would get me 5 years ahead of the competition.
Now I can count on reading things that put me about 1 month ahead - which means that I can only count on learning what is out there now from Journals.
I still subscribe to some IEEE Transactions, but IEEE's "Computer" has degenerated into PR crap. I finally dropped the ACM publications entirely.
I may only do tech support on a few servers and a bunch of desktop machines but my interest is in supercomputers and high-performance computing. There's a staggering amount of research out there including some fascinating papers by IBM which are available free on the internet.
The one caveat I would add is this, beware of the price of some journals. Some technical journals charge silly prices (like fifty USD per copy) for what is only a bunch of scientific papers. The supercomputer conferences also have steep fees. This will almost certainly keep a lot of the geeks away but it also strangles interest in the subject at birth.
Ed Almos
Budapest, Hungary
The more corrupt the state, the more numerous the laws. - Tacitus, 56-120 A.D.