Learning Frameworks for Developers: The 5E Model
dev processes teaching

Learning Frameworks for Developers: The 5E Model

webs
webs

Teaching is everywhere. You do it every day.

Meetings are teaching. Knowledge transfer sessions are teaching. Onboarding is teaching.

Unfortunately, we don't typically arm professionals with pedagogical skills. That means those meetings, knowledge transfer sessions, and onboarding usually fall drastically short of their goal and sometimes they're a total flop.

I was a teacher and in a lot of ways I still am because I apply the principles and practices I learned in my time in education to my presentations, meetings, and pairing sessions as an engineer and developer.

In this series, I want to share three frameworks that can help you structure your meetings, presentations, lunch and learns, or any knowledge transfer session to ensure that your audience has a clear understanding of what your takeaways are and that the information you share really sticks. In this post, I'll talk about the 5E Model - Engage, Explore, Explain, Elaborate, Evaluate.


Women around an iPad at a table

The 5E Model

Engage, Explore, Explain, Elaborate, Evaluate

When would this be most applicable: Working with a developer or group of developers to explore and topic, framework, or new concept

Engage

Why should the audience care? Why is this relevant and how can you spark interest? This is similar to the Anticipatory Set Activity in the Hunter Lesson Plan I'll go over later.

Explore

This stage is about building understanding and exploring. For example, if I was teaching a group of devs about React. I might set them up in an environment like code sandbox and let them explore a basic to do app. As they explore, they record their observations, ask questions, and draw conclusions about what they're seeing. If this is done in pairs or small groups, have them share their thoughts on a tool like Padlet, Miro, or Lucidchart.

Explain

Now, the audience takes their disparate thoughts from the board and puts them into something cohesive. This could be as informal as sharing out to a group or with a facilitator. It could be as formal as writing a blog post or talking about it on a podcast. If you're facilitating a workshop and want some lightweight options that aren't slide decks, have users produce an artifact using something like Headliner to make an audiogram summarizing their learning or a short micro-podcast using a tool like Synth.

Elaborate

This is where the user applies their new knowledge. Going back to the example of the React workshop, it could be where you provide a repo and ask your audience to add a new Component or function to the to do list application. Perhaps, the app just listed everything that was entered but didn't allow the user to delete items. Task your learners to add that functionality with their knew knowledge. One important caveat is that the task, which could be determined by the learners, should be related to what they learned. If the group/learner focused on learning about Components, have them add a new Component to the to do app. Perhaps they add a checkbox Component.

Evaluate

In the Evaluate phase, both the teacher and learner assess where the learner is. What gaps in knowledge still exist? What areas would the learner like to explore more? The folks in the React workshop might want to learn a bit more about state management. They might want to revisit some of the parts of a Component that weren't quite clear.


Here's another example using Terraform:

Terraform white T made from 4 parallelograms on a purple background

Engage

Terraform is one framework for managing Infrastructure as Code or IaC. This ensures that any aspects of our infrastructure are kept in the expected state even if manual changes in the UI are made. As an infrastructure engineer, this can be a powerful tool to have in your arsenal.

Explore

Provide learners with a repository like this one to explore. They can read through code, research things they don't know, ask the instructor questions and generally play around with whatever they'd like to check out. This is the way a lot of developers learn. As they explore, have them track their assumptions, observations, thoughts, and learnings on a Miro board.

Explain

Learners assemble their thoughts, organize, and sort them into something meaningful and share them with the facilitator, another group, or create a slide deck out of them.

Elaborate

Given a new directory like this one can they successfully init and run terraform plan?

Evaluate

Using either EasyRetro or on the Miro board they used earlier, have learners reflect on where they still have gaps in knowledge or what they'd like to learn more about. Then they can go back to the engage step and start over because this is a cyclical process.

Using this framework, you'll be able to facilitate learning in a structured, focused, meaningful way that's guaranteed to stick. Next time, I'll talk about how to use The Gradual Release of Responsibility Model which lends itself more to a meeting, pairing, or talk type environment.

Let me know what you think:

https://twitter.com/weberswords

Additional resources:

The 5E Instructional Model | NASA eClips