first computer was a Sinclair ZX81 with 1K of memory, programming in Basic and later Z80 assembly language, creating simulations like volcano explosions and n-body problems as a teenager, transitioning to the ZX Spectrum and other early home computers, studying physics at university but becoming more interested in programming, learning fortran, getting his first programming job at a small software house in Bristol where his boss had a wall of books on programming languages and paradigms, becoming self-taught through reading these books, developing an interest in AI and philosophy of mind which led to pursuing a master's degree in parallel computer systems, creating a virtual machine for a Lisp-based actor model, learning about the occam programming language based on Communicating sequential processes (CSP) for transputers, discovering Object-oriented programming and being fascinated by modularity and encapsulation, encountering Java in the mid-90s as a free downloadable language with platform independence, appreciating Java's familiar C-like syntax while offering object orientation without low-level concerns, using Java primarily for training and consultancy work rather than application development, discussing the evolution of Java features like inner classes (Java 1.1) and interfaces, explaining his unique perspective on interfaces coming from distributed systems experience with IDLs, reflecting on his work with various distributed Java technologies like RMI, Jini and JavaSpaces, continuing his career as an independent consultant, trainer and speaker with strong involvement in the patterns community
Kevlin Henney on twitter: @KevlinHenney