Training

We offer Haskell on-demand remote or on-site training courses. We have a number of predefined courses at fixed prices, but we can tailor our training courses to your particular goals, and develop new training materials depending on your specific needs. We can teach effective use of the Haskell language, extensions and common libraries, as well as how to reason about performance and use profiling tools.

Our courses are targeted at a small group of participants, with lots of room for individual questions and hands-on exercises.

Our teachers are Haskell developers with extensive experience in Haskell, functional programming, type systems, compiler design, and related areas. They have been training people at all experience levels, both in academia and in industry.

Check out the recordings of our free ZuriHac workshops to get a flavour of our material (although we usually deliver our courses to much smaller groups where possible, to maximise interactivity).

On-demand remote or on-site courses

We offer a number of predefined courses at fixed prices; however, we are flexible. If you would like to modify, combine, or extend the courses please contact us for a quote. These courses are primarily targeted at companies looking to train a number of their own staff, but we are happy to discuss enquiries for one-on-one training.

The base courses are:

All courses can be delivered in person or remotely. The durations suggested are for in person delivery; for remote delivery we typically recommend a similar total duration of live teaching sessions but spread out over more time to allow participants time to complete exercises in between sessions.

Ticketed remote interactive courses

We are occasionally offering online versions of some of our courses for those who want to improve their Haskell from the convenience of their home/office. These courses are a mixture of lectures, discussions and live coding delivered via video conferencing and text chat. The maximum number of participants is deliberately kept small so that it is still possible to ask and discuss individual questions with our experienced lecturers.

Any upcoming courses will be advertised on our blog. If you are interested in our online format, but can’t make the time or the topic you are interested in isn’t available, feel free to drop us a line with requests for other online courses.

We have received some great feedback from these courses:

This was a great course. It was good to have someone as knowledgeable as Andres working in a smaller group over several days.

Review of Fast Track to Haskell

The course was very well organized. Andres took the time to answer or even correct individual misunderstanding.

Review of Haskell Performance and Optimization

I would absolutely recommend this course to others. The motivation for the material was built into the methodical examples that Andres presented. I thought that he took a subject that is considered esoteric and impractical and demonstrated exactly the kinds of problems it solves. I had already learned about type level programming prior, but upon finishing the course I immediately had ideas about how I could apply type level techniques to my existing Haskell projects.

Review of Haskell Type System

Bespoke courses and training programmes

If you need a custom course on a Haskell-related topic developed for your team, or want to deliver a training programme to a large number of participants, we can create new material to match your needs. Please contact us to discuss how we can help.

Other topics we could teach include, but are not limited to:

  • Parallelism and concurrency
  • Datatype-generic programming
  • Optics
  • Monad transformers / (extensible) effects
  • (Embedded) Domain-specific languages
  • (Web) servers

Case study: Haskell and Infosec. A client approached us asking to train their team on information security best practices in Haskell. We developed a syllabus in discussion with the client, then delivered the training to their team. As part of ZuriHac 2020, we ran a workshop based on a condensed version of this course, which is freely available online.

Well-Typed has presented the lessons in a way which will stick. I think the things which helped in that regard are:

  • the presenter clearly knows what he’s talking about
  • the examples are in Haskell, which makes them much more relatable for me
  • attacking the practice targets myself gave me a much more vivid understanding of the attacks than just being told how attackers do it.

I definitely want everybody on my team to take this course, so that we can develop new features with security in mind

Review of Haskell and Infosec

Course logistics

In all courses we spend about half of the training time in lecture format, with participants doing exercises in the other half. This ensures sufficient time for the material to sink in. We will be on hand during the exercises to help if people get stuck, and to answer individual questions.

Ideally participants will work on the exercises on their own machines. That way they are already familiar with the environment, and they will still have their work when the training is over. We will give a short list of open source software that should be installed in advance (e.g. GHC, and sometimes other tools).

The idea course size is between three and ten participants. While there are no formal restrictions on the number of participants per course, we ask that you advise us of the probable number of participants in advance. Depending on the actual number of participants, we may recommend to use additional lecturers (or multiple runs of the course) in order to ensure that everyone has sufficient opportunity to ask questions and get help during the exercises. For ticketed courses, we limit the number of participants to ensure everyone is able to participate interactively.

We offer on-site consulting in combination with on-site courses at a reduced daily rate. Please contact us if you are interested.

Cost

The base costs of the predefined courses are listed on the respective pages. For on-site courses, travel costs depending on the location of the course venue are added. Additional lecturers also cost extra.

For customised courses, we estimate how much additional preparation time we need to develop the course materials, and will provide you with a quote based on that estimate upon request.

For a quote, or for more information, please email us with as many details as possible.