Training and Consulting

(Linux and UNIX programming training and consulting by Michael Kerrisk)

About the trainer

Michael Kerrisk After focusing on programming and writing in more recent years, I am now once more conducting frequent training courses on Linux/UNIX system programming and a number of related low-level programming topics that are of particular relevance for developers of low-level user-space applications in domains ranging from embedded to enterprise server systems. The emphasis of my courses is on providing deep conceptual understanding coupled with intensive in-class practical work.

I work closely with my customers, providing personalized assessment of their training needs, and where necessary customizing my courses to those needs. My customers range from small and medium-sized businesses to multinational companies and governments. Past customers include Google, IBM, BMW, Hewlett-Packard, and the French government.

I have a rather unique set of qualifications and experience that ensure course participants receive training of a very high standard:

For further information about the trainer, as well as many other reasons why you might want to choose training courses, look here.

Training courses

Linux/UNIX system programming

The Linux/UNIX system programming course is available in both "standard" and tailored forms, and covers a large subset of the topics in The Linux Programming Interface.

"Standard" courses are normally five days long, and include extensive practical programming sessions. The content may vary a little, according to specific topic requests and time constraints, but in broad terms will cover the following topics:

By default, the course is oriented towards Linux, but the Linux-specific material is clearly delineated. The course is thus also useful to attendees working on other UNIX systems such as FreeBSD, Solaris, HP-UX, and AIX.

For further details, look here.

Linux/UNIX network programming

The Linux/UNIX network programming course covers network programming using the sockets API on Linux and UNIX systems. The content of the course is based on the network programming chapters of The Linux Programming Interface, but adds a significant amount of supplementary material.

This three-day course covers the following topics:

For further details, look here.

Programming with POSIX threads

This one-day course covers the key features of programming with POSIX threads, including the following topics:

For further details, look here.


I provide consulting expertise in the same areas as the courses listed above. Please contact me to discuss your requirements and my consulting rates.


For inquiries about courses and consulting, you can contact us in the following ways: