Curriculum vitae

From APIDesign

(Difference between revisions)
Jump to: navigation, search
(Publications & Presentations)
(Technical Skills)
Line 79: Line 79:
=== Technical Skills ===
=== Technical Skills ===
-
* Able to use [[debugger]] to analyze behavior of own or any foreign system
+
* Able to use [[debugger]] to gain [[insight]] into behavior of own or any foreign system
-
* Typing (without looking at keyboard) and thinking fast, yet concluding slowly/carefully
+
* Usually (almost) the most productive developer in any team
 +
** Typing (without looking at keyboard) and thinking fast, yet concluding slowly/carefully
* Knowledge of classical languages (especially [[Java]], but also [[C]] & etc.), functional languages (like [[Haskell]]) and logical languages (e.g. [[Prolog]]).
* Knowledge of classical languages (especially [[Java]], but also [[C]] & etc.), functional languages (like [[Haskell]]) and logical languages (e.g. [[Prolog]]).
-
* Knowing how to implement any language and make it run fast
+
* Knowing how to implement any language and make it run fast - just like done with [[Enso]]
* Knowing a lot of about [[API Design]] and almost everything about [[API Design]] in [[Java]]
* Knowing a lot of about [[API Design]] and almost everything about [[API Design]] in [[Java]]
* Understanding general implications of [[modularity]] and how to [[MultiGitRepository|organize a project]] in a distributed fashion.
* Understanding general implications of [[modularity]] and how to [[MultiGitRepository|organize a project]] in a distributed fashion.

Revision as of 10:32, 11 May 2026

Jaroslav Tulach

Town: Praha, Czech Republic

Phone: +420 602 684 426

email: jaroslav.tulach (at) apidesign (domain) org


Contents

Historical Summary

Time Mission
2022-2026 Yet another startup experience at Enso. Making Enso dynamic compiler stable, fast, robust, running in Dual JVM mode by 2026.
2015-2022 OracleLabs. Making the world's fastest VM via Graal and Truffle. Invented Insight and spiced OracleDB with PostMortemDebugging thanks to it.
2010-2014 NetBeans Platform architect at Oracle. Alignment with JDeveloper. Synergy between Java and JavaScript/HTML.
1999-2010 NetBeans Platform architect at Sun Microsystems. Primary focus APIs, APIReviews, later Performance.
1997-1999 Founder and initial architect of NetBeans. First ever startup in former communist bloc sold to Silicon Valley!
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:

Theoretical Work

Typing in terms of graphs - master thesis at MatFyz describing type system similar to what later became Generics in Java with a unique, graph based terms.

Proofs of NP-Completeness of various topics related to modularity with practical implications for anyone designing or using a module system.

Publications & Presentations

Practical API Design, Apress 2008 - the first book about API Design describing all details related to API design published way sooner than the term API was kidnapped by REST and JSON guys.

20 API Paradoxes, Walrus 2012 - shorter, more strictly organized continuation/summary of Practical API Design book.

Rich Client Programming: Plugging into the NetBean Platform - contributed few philosophical chapters to book about NetBeans Platform.

Regular speaker at JavaOne and other conferences (GeeCON, GeekOut, JDD, CurryOn, JavaDays).

Teaching at Charles University's MatFyz for few years (during OracleLabs employment). My Practical Dynamic Compilation attracted few interns into OracleLabs. At least two of them turned into regular employees then. See twenty hours of video (in Czech)

Technical Skills

  • Able to use debugger to gain insight into behavior of own or any foreign system
  • Usually (almost) the most productive developer in any team
    • Typing (without looking at keyboard) and thinking fast, yet concluding slowly/carefully
  • Knowledge of classical languages (especially Java, but also C & etc.), functional languages (like Haskell) and logical languages (e.g. Prolog).
  • Knowing how to implement any language and make it run fast - just like done with Enso
  • Knowing a lot of about API Design and almost everything about API Design in Java
  • Understanding general implications of modularity and how to organize a project in a distributed fashion.

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
  • Founded OracleLabs subsidiary in Prague
    • Attracted skilled developers by talks at universities, conferences and meet-ups
    • Helped to select and on board newcomers.
    • Convinced whole experienced team to join OracleLabs and contribute to GraalVM vision
    • Handed the responsibilities to professional manager when the team grew over fifteen.

Languages

  • Czech - native
  • English - fluent
  • Russian - can read
  • Polish - getting better
  • German - survival level

Spare Time Activities

Skiing and snowboarding and other sports. Bck2Brwsr VM. Various open source projects (mostly hosted on GitHub, but also for example contributed to Linux kernel driver).

Personal tools
buy