Joshua Bloch was a senior staff engineer at SunMicrosystems, the lead architect for the core JDK APIs - notably Collections.
He left Java for Google in 2004, soon after receiving the grade of DistinguishedEngineer from Sun. As of 2007, he's still at Google, and still heavily involved in the development of Java.
Author of EffectiveJava (JoltAward-winning book), a Programming Language Guide, and coauthor of JavaPuzzlers.
As you might expect given his background, Josh Bloch puts a lot of emphasis on the importance of good API design, and on the centrality of API design to developing programs. He tends to advocate giving internal code barriers at least some of the polish and robustness of external, published APIs. Between that and his emphasis on getting APIs right the first time, his tent is pitched a little outside the AgileMethods camp.
Find a presentation on API design given by Joshua on Nov 21, 2006 ( length 1 hr 09 min ):
Joshua Bloch (was at that time) a Principal Engineer at Google. He led the design and implementation of numerous Java platform features, including the Java Collections Framework.
A well-written API can be a great asset to the organization that wrote it and to all that use it.
Given the importance of good API design, surprisingly little has been written on the subject.
In this talk (recorded at Javapolis), Java library designer JoshuaBloch teaches how to design good APIs, with many examples of what good and bad APIs look like.