Poka yoke: Mistake-proofing via Functional Programming

location_city Bengaluru schedule Nov 18th 10:30 - 11:15 AM place Regal people 22 Interested

"Poka yoke” (po-kah yo-kay) is a term from Japanese manufacturing that means "mistake proofing". It is a powerful concept (equally powerful in software) in which the design of a system shapes usage so that human error is prevented or corrected before it can cause real harm. In this session we will explore how and why FP maps so well onto the poka yoke concept. We will discuss the merits of mistake proofing over diligence, and rethink our approaches to craft and quality. You will leave with a new lens to evaluate languages, tools, and your own code. Examples in Elixir, Elm, F#, and Idris.


Outline/Structure of the Talk

  • Poka yoke background
  • FP background
  • Specific poka yoke examples in FP languages
  • Designing code to prevent mistakes
  • Grading tools and code

Learning Outcome

Gain a new lens to evaluate languages, tools, and your own code. 

Target Audience

Developers who are attracted to FP for quality and safety reasons


schedule Submitted 4 years ago

  • Bryan Hunter

    Bryan Hunter - Elixir by the Bellyful

    Bryan Hunter
    Bryan Hunter
    Software R&D
    schedule 4 years ago
    Sold Out!
    45 Mins

    Elixir makes me happy, and I bet it will make you happy too. OK, but why is that? Elixir is a modern functional programming language with productive “dev joy” tooling, and it sits atop a decades-stable, crazy-scale, battle-tested foundation: the ErlangVM and OTP. In under three years after Elixir reached 1.0 it has already topped big, popular languages like C# on Stack Overflow’s "2017 Most Loved Language” list. After this session you will understand what makes Elixir special, the ecosystem will be illuminated, and you will have the "why, what, and how" knowledge to confidently begin your Elixir journey.

  • Peter Saxton

    Peter Saxton - All Chat Applications

    Peter Saxton
    Peter Saxton
    Sr. Engineer
    schedule 4 years ago
    Sold Out!
    45 Mins

    Elixir is a powerful tool. In just 15 minutes you can have an acceptable chat application. Here endeth the blog post, but wait you have more questions.

    How do you deploy your application? Is Docker necessary, or even useful? What about service discovery, secrets, load balancing and other cloud flavoured issues.

    Let's take that chat application and make it scalable, fault-tolerant and available. Using concrete examples I will provide solutions to all these questions and maybe even more.