Share Knowledge, Create Synergy, Exceed Expectations

[print]

profile Jan Nieuwenhuizen

phone
+31 (0)6 16177916
email
janneke@GNU.org
address
Van Busselstraat 51
5731 NA  Mierlo
Netherlands
date of birth
April 28, 1968
Nationality
Dutch

Goals

Share Knowledge, Create Synergy, Exceed Expectations

About

Jan writes his first programs at age 13 in 1981: Tic tac toe, Pong and a racing game on the Exidy of his physics teacher. During his final high school years, he works on bigger software projects such as a functional copy of Dino Eggs in assembly. Also during his studies Applied Physics (TU/Eindhoven) Jan keeps on programming and there he comes across the intriguing phenomenon of free software.

Near the end of his studies Jan writes several experiments with music notation software that finally spawn the renowned free software music notation package LilyPond of which he is core developer and co-founder.

Right after graduating he starts working as Software Engineer at internet startup DigiCash and continues his career at various software companies in different roles. Jan gathers extensive knowledge of Linux and free software, not in the least due to the continued development and professionalising of LilyPond.

Open Source, Free Software and GNU

In 1997 Jan is invited by Richard Stallman to join his venerable GNU project. LilyPond becomes part of GNU, the free and open reimplementation of Unix.

GNU LilyPond becomes unique and famous for its automated and high quality layouting and is highly praised. Talks on LilyPond are presented by Jan and other LilyPond developers at several computer music and open source conferences (LAC 2001, 2004, 2008, 2010; LSM 2003, 2010; CIM 2003; FISL 2007). The work on LilyPond has led Jan to write patches for 15+ packages in the free software stack and work with different open source communities.

Starting with SLS and Slackware Linux in 1994 and working professionally with various Linux distributions ever since, Jan has over 16 years of professional experience with IT architecture and software development, application use, integration and management and system administration. Later he also works as Software Engineer in a world wide team for Novell on Go-OO.org, the pre-LibreOffice community-friendly distribution of OpenOffice.org.

Process management, Agile methods, Team coaching

From working in different environments, from highly structured corporate software projects to internet startups and research environments, corporate open source projects and his own open source projects, Jan has gained a broad experience in software practises, procedures and processes.

As a SCRUM master (certified in 2005) and Agile team leader, Jan has found that Agile practises, especially eXtreme Programming and SCRUM fit very well with his experience from open source style of project management and they often complement each other.

Jan is good at and likes the challenge of producing exactly the software that the user or client wants and at the same time be time-efficient and create a flexible, maintainable code base. In his experience, when working with or in a team, great works can be made and most difficulties can be avoided by aptly directing attention to relationships and communication.

Roles

Team Leader/Project Manager: experience with open source (10+ years) and Agile (2+ years) project management: SCRUM and eXtreme Programming, user stories, task breakdown, burn-down graphs, generating GANTT charts, rapid prototyping, short and very short iterations (from one week to half a day), Test Driven Development (TDD), writing functional design, coding standards, steering code reviews and pair programming, handling code ownership

Process Manager: 12+ years experience writing and updating procedures from experience, scripting procedures, evolutionary process improvement, 2+ years in Agile retrospectives, changing team dynamics, team coaching and personal coaching (Non-violent communication)

Personal Coach: 6+ years as an Avatar® master delivering the 9-day world wide, life-changing consciousness training, guiding people in creating their preferred reality

IT Architect: 17+ years experience architecting music notation software, multitasking/multi threading, real time embedded and critical web applications

Quality Control: 10+ years making and testing software releases and regression testing, unit testing, micro testing, automated builds, version control systems

Software Engineer/System Developer: 23+ years experience in code design, implementation, ruthless refactoring and maintenance across many languages especially: C, C++, GUILE Scheme (lisp), Java, PHP, Python. Also: font design, language design, cross-build system setup, system admininstration and packaging

Language Skills

English, German and Dutch (native).

Programming languages

Usually the problem area defines the most suitable programming language[s] to use. Here is a list of the most important languages that I have used:

Assembly (1984--1992), BASIC (1981--1985), Bash (1994--now), C (1992--now), C++ (1994--now), Fortran (1987--1991), Java (2001--2005), JavaScript (2000--2005), Pascal (1985--1993), PHP (2000-2001), Python (2000--now), GUILE Scheme (2000--now)

See also Language Experience on Ohloh open source statistics.

Career line

Companies

2010--now
Joy of Source: Freelance ICT consultancy: open source specialist, software development process improvement and software architecture, individual coaching
Clients include: NXP [cloud computing prototype], BV Liedboek [ICT and LilyPond consultancy for the “nieuwe Liedboek voor de Kerken” to be integrally typeset with LilyPond], ASML [software architecture, pilot projects Verum-ASD feasibility, local build system initiator], Image-Line [FL-Studio LilyPond integration], Community of Schijndel (Gemeente Schijndel) [feasibility study, impact analysis and partial prototype for migration to LibreOffice], Flower XL Lisianthus nursery, Haptotherapy Eindhoven, Identitree.nl

2007--2009
Novell Inc: Senior Free Software Engineer in world wide team on OpenOffice.org

2005--2007
Philips Research (SES): Senior Software Engineer, IT Architect, Quality Control Officer, Team Leader and Coach in Agile XP/SCRUM environment during CMMI-2 certification

2005
Siemens VDO: Senior Software Engineer and initiator of change in old school waterfall process environment

2005--2007
ATOS Origin: Senior Software Engineer and Open Source expert

2001--2005
Aspiratie webdevelopment BV: Senior Software Engineer, IT Architect, System Administrator, Customer Support and Helpdesk in internet startup

2000--2001
Netland Internet Services BV: Software Engineer, System Administrator, Customer Support and Helpdesk in internet startup

1999
LIACS: Researcher

1998--1999
Magna Carta Chipcard Solutions BV: Software Engineer in internet startup

1995--1998
DigiCash BV: Software Engineer, System Developer, System Administrator in internet startup

Education, trainings and courses

2006
Coaching for Team Leaders (Bryan Tevreden), Eindhoven Netherlands
2005
Experience Agile (Willem van den Ende and Rob Westgeest), Eindhoven
2005
CSM: Certified SCRUM master (Mike Cohn), Eindhoven
2004
Licenced Avatar trainer, Willingen Germany
1995
MSc. Applied Physics, TU/e Eindhoven

Publications

Refereed

Han-Wen Nienhuys and Jan Nieuwenhuizen, LilyPond, a system for automated music engraving, Proceedings of XIV Colloquium on Musical Informatics, Firenze, Italy, 2003

A.D. Schwarz-van Manen, A. F. M. Van Geloven, J. Nieuwenhuizen, J.C. Stouthart, K. Krishna Prasad and F.T.M. Nieuwstadt, Friction velocity and virtual origin estimates for mean velocity profiles above smooth and triangular riblet surfaces, Journal of Applied Scientific Research, vol. 50, nr 3-4, May 1993

Non-refereed

Jan Nieuwenhuizen, LilyPond -- Running A Free Software Project, ATOS Origin TA/IPS, KLOS 5, Veldhoven, Netherlands, 2007

Nieuwenhuizen, J.C. and Nienhuys, H.-W., MPP, a MusixTeX PreProcessor, The LaTeX Graphics companion, 1996

J.C. Nieuwenhuizen, An object-oriented model for EPEP, Master's thesis, Eindhoven University of Technology, Netherlands, 1995

References

See joyofsource.com/references.html