Paul is a Java expert, having coded the language since Java version 1.1 in 1998. He has worked with J2EE since it was introduced in 1999, starting with the first Java application server called NetDynamics. For the past few years he has worked exclusively for a Java EE 6 application server vendor, writing and debugging the JEE APIs and low-level components that make up a JEE server.
He is clear, coherent, and patient in helping engineers work through issues. He knows the right questions and where to look based on the description of the problem. Paul has debugged literally thousands of JEE application issues, from complex threading problems like race conditions, to simple configuration mistakes, to garbage collection performance problems.
Paul's primary expertise is JEE and low-level back-end system components such as threading, pooling, sockets, network protocols, caching, cloud and distributed computing, and database interaction.