views:

717

answers:

24

Who are the best thinkers in each problem domain? Please provide one domain per answer, and post it wiki editable.

Answers should include the resources (papers, books, podcasts, youtube video, blogs, etc.) that support the work those thinkers have done. My hope is voting will float the more coherent domains to the top, and wiki editing will, over time, provide a good set of resources for studying that domain.

Here are some examples of what I am thinking (each would be a single answer):

Debugging - John Robbins is authorative on debugging on the windows platform. Andreas Zeller for delta debugging, coded DDD, and wrote the great book Why Programs Fail.

Social Software - Clay Shirky is incredibly insightful and prolific. His paper A Group is its own worst enemy changed my mind that social software was an interesting topic. He has many lectures available on youtube.

Game Design- Ralph Koster for the book A Theory of Fun. Katie Salen and Eric Zimmerman for the book Rules of Play.

(Why not just look on wikipedia? Because the real underlying question is to find the interesting problem domains. It's hard to discover a topic you don't know about!)

+5  A: 

Enterprise Software Design - Martin Fowler is primarily involved in the areas of object-oriented development, refactoring, patterns, agile methods, enterprise application architecture, domain modeling, and extreme programming. Some of his most prominent books are Patterns of Enterprise Application Architecure, Refactoring: Improving the deisgn of existing code and UML Distilled

Ash
+2  A: 

Website Speed - Steve Souders, formerly of Yahoo, now of Google. He was the creator of the YSlow Firefox plugin, a UA Profiler, Cuzillion, and a few other projects. You can view a video lecture of his on 14 rules for faster-loading websites or you can read about them in his book or on his section on the topic.

VirtuosiMedia
+12  A: 

For algorithms, I'd nominate Donald Knuth for fairly obvious reasons.

+1  A: 

Information Retrieval/Information Science: Marcia Bates. There is literally no paper in these fields that doesn't cite one of her papers on search strategies. But in IR there are also a couple more similarly prominent thinkers like Nick Belkin, Keith van Rijsbergen or Peter Ingwersen and even more if you go into the sub-specialties.

xmjx
A: 

Enterprise Software Design - I agree with Ash on Martin Fowler, but I'd have to add Clemens Szyperski of Microsoft. He wrote the definitive book(s) on component based software design.

palm3D
+9  A: 

Online Security and cryptography - Bruce Schneier

Sergio Acosta
+2  A: 

Domain driven object oriented design - Eric Evans

Sergio Acosta
I forgot to make this community editable. How can I do that? there's no option on the Edit page.
Sergio Acosta
I did the same thing so I deleted my post and then re-created it.
+4  A: 

Web usability and Accessibility - Jacob Nielsen

Sergio Acosta
+2  A: 

Agile methodologies - Kent Beck

Obviously there are a lot of people worth nominating for this one, like Alistair Cockburn Ward Cunningham, Ron Jeffries, Robert Martin, Martin Fowler and Ken Schwaber (SCRUM), to name a few.

Sergio Acosta
+1  A: 

I've been following Joshua Porter, author of Designing for the Social Web, for community and social design theory.

Rahul
+5  A: 

Software Engineering (generalist) - Steve McConnell

He might not be the definitive authority on project management, software estimation, coding practices, planning, etc, but at least second best in each of those fields and overall the most complete software engineer IMO.

Sergio Acosta
+13  A: 

Presenting data and information : Edward R. Tufte

mathieu
+7  A: 

Browser runnable software - John Resig is authoritative and somehow keeps a fresh and objective voice in a fast moving browser code world. Though my hat goes off for Douglas Crockford (Mr. JSON), I can't help but rely on John Resig's ability to swiftly analyze and code (in his many projects) clear and decisive paths through the Javascript, Web, web politics, browser compatability, and the overall web (defacto) standards jungle.

wykyd
A: 

Marketing - Steve Jobs

RodgerB
Although I understand why Steve Jobs would be considered a marketing god, I wouldn't nominate him as an 'authoritative thinker', because he really doesn't make the effort of sharing his knowledge like most of the other people mentioned here. Just a thought.
Sergio Acosta
Plus we're talking about software - I can't say "marketing" belongs here at all. Yeah I know that you can market software - but this doesn't seem to fit.
Aardvark
+1  A: 

For Website / Interface design, Steve Krug's Don't Make Me Think stands out.

AJ
+2  A: 

Databases: CJ Date and Hugh Darwin.

Dave
+4  A: 

Compiler theory and design: Alfred V. Aho and Jeffrey D. Ullman

Kevin Little
+4  A: 

Artificial Intelligence - Peter Norvig.

Comptrol
+2  A: 

Compiler implementation: Walter Bright

Generic programming: Andrei Alexandrescu

dsimcha
A: 

Algorithm Analysis and Design - Introduction to Algorithms by Corman, Stein, Leiserson, Rivest. A definitive text on algorithms. All of the authors can be considered "thought leaders" in terms of education on algorithms.

Michael Easter
+1  A: 

Software Engineering and Agile Development: Dave Thomas and Andy Hunt. The book Pragmatic Programmer is a classic and the titles coming from Pragmatic Bookshelf are first rate. Both Thomas and Hunt are insightful, thoughtful writers and speakers. As just one example of Dave's thoughts, check out this podcast on Software Engineering radio.

Michael Easter
+1  A: 

No longer alive, but the authority on database normalization is Edgar Codd http://en.wikipedia.org/wiki/Edgar_F._Codd

HLGEM
+4  A: 

Interface design and usability in general: Donald A. Norman (The Design of Everyday Things)

nikie
A: 

HTTP: Roy Fielding

Dave Sims
@Dave: the request was for one domain/expert per answer, presumably so they could be independently upvoted.
CPerkins
pfft, sorry bout that. RTFM Dave.
Dave Sims