John was interviewed in June by Jared from Startups Open Sourced.
Q: What set jQuery apart, why did it succeed?
2. Advice on team communication and productivity:
Q: How does the jQuery team work remotely and stay productive?
A: The main issue is with communication. The team has changed apps numerous times, but currently they hold all meetings publicly and in IRC. All of the subteams (jQuery UI, Core, Grid, etc) are responsible for maintaining their own blogs of weekly updates.
3. Advice on design philosophy:
Q: What’s the design philosophy behind jQuery?
A: Keep the code simple, above all else. Simple code that works with fewer use cases is superior to more complex code that handles more use cases. Everything must be documented. Everything is immensely clear as to what is going on. Cross-platform compatibility is also very important.
4. Advice on new features:
Q: How are feature request conflicts or contentions handled?
A: If someone really wants a specific feature, it becomes their job to make the changes and improvements.
5. Advice on finding/becoming the ideal coworker:
Q: Are there universal traits you look for when deciding to work with someone?
A: Depending on the project, the person must have a deep understanding of their field (e.g. Prototypal inheritance, functions, closures, as well as how the DOM works, browser quirks from IE 6/7/8, etc). In general, Resig looks for people who go above and beyond. Many students from M.I.T. were very smart and had good grades, but they did nothing outside of class; they knew Java and LISP, but they might not show initiative to do anything else. Looking at another candidate who does something like building several projects in Ruby on Rails is much more competitive and appealing to work with. Don’t be content to do the bare minimum. GPA is not a good indication (Resig had a bad GPA in college).
6. Advice for students:
Q: Advice for students?
A: If you contribute to an open source project, employers can see the code you write, how well you work with others, the documentation you write, how clear your API is, etc. Compared to someone who doesn’t have the same experience, it becomes much easier to hire you. You can go from “just another college student” to someone far above and beyond that. Nothing else matters except code in the end; it’s a complete meritocracy in the software industry.