Jaroslav Tulach
My name is Jaroslav Tulach and I am the founder and initial architect of NetBeans, which is not just a well known IDE, but also the first modular desktop application framework written in Java. My name sounds Slavic and has a strange pronunciation (read the initial J as Y and last ch as in Scottish loch or in German Bach), because I am Czech. However, as NetBeans has been the flagship software product of Sun and Oracle for a while now, you don't have to worry that content of the TheAPIBook might not be widely applicable and understandable.
Maintaining NetBeans Platform, its architecture and APIs has always been the primary focus of Jaroslav. During more than fifteen years of participating in the NetBeans.org project, Jaroslav has seen, made and helped to recover from many design mistakes. Such experience obligated Jaroslav to sit down and summarize it.
Practical API Design book is available to every framework design wishing to not walk the dead-end streets and reinvent the wheel. An online addendum of API Design advices is maintained at apidesign.org.
Jaroslav likes to speak at various conferences (JavaOne, GeeCON, JUG meetings, OSGiCon, NetBeans days) and universities (Linz, Charles University) trying to popularize API design by talking about its paradoxes as well as NetBeans Platform and its advanced usage of various API design patterns.
Phone: +420 602 684 426
email: jtulach (at) netbeans (domain) org
 Historical Summary
|1999-2010||NetBeans Platform architect at Sun Microsystems. Primary focus APIs, APIReviews, later Performance.|
|1997-1999||Founder and initial architect of NetBeans|
|1995-1997||Initial member of student team which started Xelfi which later turned into NetBeans|
|1992-1998||Master degree in computer science at MFF UK. Specialization: compilers and data structures.|
 Personal Profile
NetBeans founder and initial architect who remained (after being acquired by Sun) with the project for next fifteen years. Passionate about leading teams into projects nobody thinks can succeed, overcoming all obstacles and bringing them into production:
- NetBeans IDE - first IDE for Java written in Java
- NetBeans Platform - first Swing based modular application framework
- NetBeans performance - speeding NetBeans 6.1 startup by 60%, eliminating memory leaks, improving scalability
- Netbinox - changing NetBeans architecture to support OSGi by creating the fastest OSGi framework on the planet
- JDeveloper - rebasing years of development on top of NetBeans Platform to gain startup speed and share functionality
 Theoretical Work
 Publications & Conferences
Rich Client Programming: Plugging into the NetBean Platform - contributed few philosophical chapters to book about NetBeans Platform.
 Technical Skills
- Able to use debugger to analyze behavior of own or any foreign system
- Typing fast without looking at keyboard
- Knowledge of classical languages (especially Java, but also C & etc.), functional languages (like Haskell) and logical languages (e.g. Prolog).
- Knowing a lot of about API Design and almost everything about API Design in Java
- Understanding general implications of modularity, especially in Java.
- Driving license for personal cars
 Organizational Skills
- Designing process for API Reviews which allowed NetBeans to design APIs in a committee style and still keep consistency.
- Designing, advocating and implementing parallel integration which greatly improved productivity of NetBeans developer teams
- Enabling, promoting and advocating test driven development to increase quality of NetBeans code base
- Czech - native
- English - fluent
- Russian - can read
- German - survival level