DeutschGerman flag

John Boyd-Rainey

My subjects John Boyd-Rainey

I coach programmers on how to write better object-oriented Java, C++ or C# code.

I have run courses on this and related subjects in English and German for a number of years and found that a seminar alone was often insufficient.

One arrangement which has proved to be very productive is that I visit you for a day or two on-site at monthly intervals.

You show me code with which you are having problems, and generally I can suggest possible solutions.

At the very least we have nearly always found one course of action which you can try out before I return for my next visit.

And I can switch into my role as trainer to teach you a pattern or a refactoring technique as required.

The groups have often refactored their code using a projector, discussing pros and cons of our strategies as we progress.

Along the way we uncover bad smells, OO principles and "bad words" (e.g. if, switch, flag, static, return null).

And design patterns often become clearer to the participants because many books and courses don't provide the correct 'triggers' to curb our procedural way of thinking, so theoretical knowledge rarely helps.

A delegate's feedback after the first day of a course was, "Why didn't I have this course 10 years ago?"

There's more about this on

I am a freelance trainer for

I run my courses in English and German.

i2Brain is a desktop program for visualising information. See more here.

Another of my sites with more detail about refactoring and Clean Code. See more here.

Born: 1958 in Southport, Lancashire, England
Nationality: British and German

Maidstone Grammar School: 9 "O"-levels, 3 "A"-levels: physics, theoretical and applied maths.

Wadham College, Oxford University: physics

Großes Deutsches Sprachdiplom: German language qualification


Software development, visualising information, object oriented programming, design patterns, clean code.

Singing, science fiction, cinema, acting, improvisation, psychology, family constellations, history, German .

IT experience since: 1982
Operating systems: MS-Windows Linux (Ubuntu), Android, UNIX, AIX and SINIX
Programming languages: Java, C++, C#, JavaScript, TypeScript, Python, jQuery, C, BASIC, Pascal, VBA, PHP
Databases: MySQL, Oracle (incl. PL/SQL), MS-Access (incl. VBA)
Specialities: Patterns, Refactoring, UML, JavaFX 8, JavaScript, ThreeJS, Time-management
Roles: Trainer, programmer, coach, project leader, technical lead, chief designer.

Employment record:

I have been self-employed most of the time since moving to Germany in 1980.

3/2001 - now Trainer for Java, C++, C#, applied OO, design patterns, refactoring, clean code, JavaFX 8, JavaScript and jQuery, Eclipse, JSPs und Servlets, Software testing, C, time-management
3/01 - 2010 Inventor, architect and chief programmer of the visualization and planning tool "i2Brain". Using Java, Swing, Eclipse, Jemmy, JUnit, CVS, Ant and install4j
01/96 - 10/99

Chief designer & lead programmer for a major German producer of accountancy software: Stotax GmbH, Bonn.

We adapted a popular accountancy software package from MS-DOS and C to MS-Windows (NT & 9x) and C++. Introducing Design Patterns by coaching less experienced colleagues, spontaneous training, architecture and design

2/94 - 3/95

Programmer & consultant for a large international insurance company: Bonndata, Bonn.

Programming an OO-application for insurance companies under OS/2 2.1 with Borland C++, IBM C-Set/2 and CommonView 3.0.

2.92 - 4.93

Programmer, software designer for an international computer manufacturer in Neuss, Germany.

I developed modules for inter-process communication and login controls for AIX using C++, X-Windows X11R4 and OSF/Motif.

Older projects are no longer relevant.

E-Mail: info (At)

Tel: +49 (0)228 963 99011

Mobile: +49 (0)170 7 369 852

Heidegartenstr. 26, D-53125 Bonn, Germany

The following legalese is required by German law, so it's in German.

Externe Links

Durch sogenannte "externe Links" verweist diese Website auch auf Web-Seiten anderer Anbieter, was entsprechend kenntlich gemacht wird. Für fremde Inhalte ist John Boyd-Rainey nur dann verantwortlich, wenn er von einem rechtswidrigen bzw. strafbaren Inhalt positive Kenntnis hat und es ihm technisch möglich und zumutbar ist, dessen Nutzung zu verhindern (§ 5 Abs. 2 TDG).

Bei der Herstellung der Verlinkung wurden die fremden Inhalte hinsichtlich einer straf- oder zivilrechtlichen Relevanz überprüft. Da es sich bei diesen Links um dynamische Verweise handelt, ist John Boyd-Rainey weder in der Lage noch verpflichtet, fremde Inhalte ständig auf Veränderungen hin zu überprüfen. Soweit John Boyd-Rainey davon Kenntnis erlangt, dass Inhalte, auf die er verweist, zivil- oder strafrechtliche Verantwortlichkeiten auslösen, wird er den Verweis auf diese Inhalte entfernen.


"Java" is a registered trademark of Oracle Corp.

"Windows" is a registered trademark of Microsoft Corp.

There are no cookies.