- Independent Consultant
Self-employed; 1983-09 to present
I am a self-employed consultant, analyst, author, expert witness and trainer. I undertake expert witness work in all aspects of computer software. I am a regular consultant and trainer in: programming and programming languages (Python, Groovy, Go, D, Scala, Java, Ruby, C++, and C); build systems (SCons, Gradle, Ant, and Maven); and version control systems (Bazaar, Mercurial, Git, and Subversion). I also have a long standing interest and have undertaken a lot of contract work using LaTeX to generate press PDF volumes.
I created and maintain the Gant system, which is a lightweight scripting framework for scripting Ant tasks. Gant is an integral component in the Grails Web application development framework, and (via a fork) is the Groovy front end to Ant. Work on Gant led to the creation of the Gradle project on which I was also a committer.
I have worked on the SCons and Waf build frameworks, and continue to be involved in development of SCons, which is a Python based build framework aimed particularly at C, C++ and Fortran. One of my roles is to ensure SCons has tools for working with a wide range of programming languages such as D, Go, OCaml, etc.
I am a committing developer of the GPars and GroovyFX systems. GPars is a Groovy-based coordination language for parallel and concurrent systems on the Java Platform. GroovyFX is a wrapper of the JavaFX so as to allow people to develop graphical user interfaces using Groovy rather than Java.
I am also a committing developer on the Python-CSP system, a coordination language for Python/C++/C based on Concurrent Sequential Processes (CSP). This project will soon also provide dataflow and actor style concurrency and parallelism.
I present regularly at conferences (e.g. ACCU, UKUUG, PyCon UK, EuroPython) on all aspects of software development (programming, build systems, version control systems) and topics relating to parallelism and programming in this world of all-pervasive parallel computer hardware. I am regularly invited to give keynotes and to sit on panels.
I am currently writing a book on the GPars framework as a way of introducing actor model, dataflow model, agent model, Communicating Sequential Processes (CSP), data parallelism, and software transactional memory (STM) to people working in Java and Groovy. The agenda is to show them that shared-memory multi-threading is an infrastructure enabling technique and not something that should be used for applications programming.
Concertant LLP; 2007-04 to present
I founded this consultancy with two other partners to provide services specializing is all aspects of parallelism and the effect on the world of computing of multicore processors. The partnership undertakes contract research and report writing as well as consultancy to organizations wishing to plan for the new parallel world or parallelize existing codes.
It'z Interactive Ltd; 1999-05 to present
I founded this company to provide services introducing and managing Linux and Web-based systems and software to small businesses. The company undertakes contract software development, build system, and training work.
- Visiting Professor of Software Engineering
University of Wolverhampton; 2010-09 to 2015-08
This involves mentoring staff and research students as well as contributing to the University's research work in parallel programming and RFID sensor systems.
- Chief Technology Officer
OneEighty Software Ltd; 1999-11 to 2004-10
My role as director was creating and developing the ORIGIN technology and bringing the ORIGIN-J product to market. In addition to my responsibilities for the company as a director, I had a team of 10 developers reporting directly to me.
- Professor of Computing Science
Department of Computer Science, King's College London; 1997-01 to 2001-05
My key achievements included revolutionizing the teaching programme which had become out-of-date; particularly bringing Java in as the primary teaching language. I also started a research program in Medical Informatics in association with Department of Psychiatry and the Maudsley Hospital, whilst continuing my research into parallel C++ implementations. For the period 1998-04 onwards I was Head of Department.
- Reader in Software Engineering
Department of Computer Science, University College London; 1983-09 to 1996-12
I joined as a Lecturer in September 1983 and was promoted to Senior Lecturer then Reader in Software Engineering. I taught programming (C++ and Java) and Software Engineering. I managed the PhD programme for many years. My research focused on programming, in particular parallel object-oriented programming. Human factors were a second research interest. I obtained and managed a number of funded research projects with both SRC (now EPSRC) and ESPRIT (now EU Framework Programme).
- Systems Programmer
Department of Computer Studies, Loughborough University of Technology; 1980-09 to 1983-08
I was responsible, jointly with the Systems Manager, for the provision of computing services for the department and for programming support to the staff and final year students. Supporting the staff turned into effectively being a research assistant on two research projects.
- PhD, University of Liverpool; 1977-09 to 1980-10. Heavy Quark Flavour Production in Hadronic Processes.
- BSc Hons, University of Sussex; 1974-09 to 1977-06. Physics with Mathematics. Graduated with 2(1).
- Sarah Mount, James Shuttleworth, Russel Winder, Python for Rookies. First edition, Thomson Learning, 2008. Second edition in preparation.
- Russel Winder, Graham Roberts, Developing Java Software, John Wiley & Sons. First edition, 1998. Second edition, 2000. Third edition, 2007.
- Russel Winder, Developing C++ Software, John Wiley & Sons. First edition, 1991. Second edition, 1993.
- Russel Winder, Steve Probert, and Ian Beeson, editors. Philosophical Aspects of Information Systems, Taylor & Francis, 1997.
- A Sasse, R J Cunningham, and R Winder, editors. People and Computers XI (Proceedings of HCI’96), Springer-Verlag, 1996.
- David Gilmore, Russel Winder, and Françoise Détienne, editors. User-centred Requirements for Software Engineering Environments, volume 123 of NATO ASI Series F: Computer and Systems Science. Springer-Verlag, 1994.
- D M Jones and Russel Winder, editors. People and Computers IV (Proceedings of HCI’88), Cambridge University Press, 1988.
- Dan Diaper and Russel Winder, editors. People and Computers III (Proceedings of HCI’87), Cambridge University Press, 1987.
I have authored or joint authored 22 refereed journal papers, 30 refereed conference papers, 3 chapters in books, 26 research reports, and 9 project final reports.