If you work as a professional programmer, how much does the world of academia directly affect the work you do (I'm ignoring indirect effects such as programming language features that have worked their way into your languages)? Do you ever pull up and read journal papers? Do you listen to talks by academics or communicate with them? Have you had inspirations based on academic projects?
Totally! The work of academia helps you decide if you want to use one type of algorithm versus another. One type of data structure versus another.
Just look at Donald Knuth's TAOCP to see a brilliant example of the fruits of academic research!
HTH
Hmmm. Hash or linked list? Decisions, decisions. (-:
Edit: Digesting further your question, look at the awesome ACE (and associated TAO) projects that were borne out of academia.
Ongoing learning is one of the benefits of our job. Just remember that you're either "green and growing" or "ripe and rotting"! (-:
aka. As they say in rugby "Use it! Or lose it!" A saying that applies to your brain as well! (-:
cheers,
Rob
It happens quite a lot actually. Being in academia, I see quite a lot of interest from commercial and governmental organizations. If you are doing anything professionally that is cutting edge or state of the art and you aren't reading journals then you won't know that what you are doing hasn't been done or disproven. Obviously, if you're just building a typical boiler plate CRUD application you will have no use for this sort of endeavor, but contrary to popular belief there are people building software that is not CRUD.
It did earlier in my career when I was in a research environment (kind of obvious that it would have an impact there). I am almost tempted to say that it has very little effect now but, on reflection, I think that it does. This is not because I am likely to use any techniques from the cutting edge of computer science but rather because, in order to really satisfy the needs of my users (health promotion specialists) I do have to have a more than passing familiarity with developments in that field.
So...academia can be important but perhaps not in the ways that you anticipate. I would also say that the more ambitious you are about having an impact as a developer, the more likely it is that you'll find that academia is relevant.
In recent years there are many academic tools and techniques that make their way into industrial products that you use every day.
For example, many Eclipse users use Mylyn, which started out as a PhD thesis.
Many things that you see in Visual Studio are based on academic work of students and researchers collaborating with Microsoft Research and its programming group.
If you use aspect oriented programming, you use a lot of academic work and papers.
And if you use IBM Jazz, many components were built in academic collaboration.
For the average programmer, however, there is no real need to investigate academic sources or publications because he will only use a tool that is a "stable" product, which many early research prototypes are not.
My own research, for example, probably found things that would help you as a programmer (e.g., how to write and use documentation better), and maybe with some luck you would end up using those techniques one day :)
Depends on what you mean by "professional" programmers. If that means building CRUD apps, then no. Oftentimes, academia stuff like data structures and algorithms are already baked into frameworks. But if you are working on deeper topics, say an OS or a language, then probably.
By the way, this question is probably more wiki material than a normal SO question.