Edward Withers

Oct 17 2019: Self-directed learning in practice.

Jump to comments

Instead of reading this blog post, just read Number 4 on my reading list.

But really, read it.

If there aren't any available to buy, I'm sorry. They're out of print, and every now and again I buy a bunch for Makers. Swing by Makers for a copy or shoot me an email, I'm sure I have a few lying around.

If you can't wait for the book to be delivered, continue reading.

Self-directed learning is proven to be more effective than teacher-directed learning

Fact. Read the book. Read the studies.

Every educational institution has constraints.

At university, a memorable international politics professor said, the word 'democracy' itself means nothing, 'democracy' in the context of its people and government means everything.

Self-directed learning, in theory is fantastic, but how does it work in context?

In an ideal world, we wouldn't have to make decisions based on business, and we could operate entirely with the learner in mind - pay them, allow them infinite time, have infinite space.. etc.

Some of the current constraints at Makers.

  • We have a finite timeline: a 4 week part-time course, followed by a 12 week intensive course, followed by variable amount of time job-hunting.
  • the course costs around £8000, plus accommodation & living expenses
  • Career changers are strongly motivated by hope, but mirrored by fear of the unknown/failure, consequences to family dependencies
  • We have a finite space in Shoreditch, London
  • We have a finite budget for course delivery (technical and non-technical coaches)
  • The current paradigm of course delivery (how the coaching team works, how the curriculum is sequenced)

Given these constraints I want to provide a summary of my observations of how our learners direct their own learning at Makers - in two parts.

The first part is aimed towards learners - clarifying how to succeed at makers

The second part is aimed towards facilitators - clarifying how to enable learners to succeed.

Regardless of who you are, read both!







For learners

Ed's top tips - quite clearly what you've all been waiting for.

  1. Identify as a learner
  2. Know what you need
  3. See everything & everyone around you as usable resources - and pull them as needed
  4. Break your goals into steps
  5. Know how to test your understanding
  6. Keep a learning journal, but don't overdo it
  7. Reward yourself for achieving your goals

1. Identify as a learner

If you're trying to learn , think of yourself as a learner. Makes some kind of sense, right? But go one more step:

A learner who's both trying to learn and also trying to learn how to learn.

In fact, if you see yourself as a beginner in everything that you do, you're more likely to accelerate your progress getting better at that thing. This isn't to say you are a beginner. It's to give you the mindset of a beginner who is constantly looking to improve, using all available resources.

The best experienced devs I know are constantly looking for ways to learn new skills and grow - whether it be code, people, or business-related.

So how do you do it?

Lack of information on learning

I see almost all problems comprised of smaller problems. In this case the problem is how to identify as a learner. One of the sub-problems is lack-of-information. So let's solve that one first:

  1. Find some metrics on learning competence and assess yourself.
  2. Read about how to learn
  3. Talk to expert learners, experienced teachers or coaches
  4. Practice it
  5. Get assessments from experts or peers

What would an expert do?

A really useful hack is to imagine yourself as an expert learner giving your present self advice - similar to "What would jesus do", I guess.

But I use this approach all the time.

"How would the-kind-of-person-who'd-be-an-expert-in-this approach this problem right now?"

Usually my imagined response is a sigh followed by "they'd probably do the-thing-i've-been-avoiding-but-know-it'll-help".

I do it, and I find I usually have a break through of some kind.

back

2. Know what you need

First things, first. To know what you need, you first need to be crystal clear what you're aiming to achieve.

Do this first, then

Have a quick feedback loop

Experienced devs are easy to spot because they're so much better at learning. What that really means is they have super-quick feedback loops to evaluate their learning.

  1. what am i doing
  2. what's my goal
  3. why is this my goal
  4. have i met my goal
  5. how is it going
  6. is it worth continuing (can i postpone it?)
  7. how can i improve how i'm approaching this
  8. is it worth doing that
  9. do some work
  10. go to 1

This doesn't happen once a week - while it varies depending on task complexity, this is happening probably every few minutes. Ask an experienced dev - it's probably so unconscious they'll likely give you a bemused look and say 'i don't know, a lot?'.

If you follow Ed's 10-point plan feedback loop, and improve how quickly you use it effectively, maybe even tweak it to make it work for you, you'll super charge your way to accelerating your learning.

Identify areas for improvement

Let's focus on steps 5,6, & 7.

Successful learners at Makers rapidly get better at these steps. Here's a contrived example demonstrating these steps

  1. ~
  2. ~
  3. ~
  4. ~
  5. how is it going
    • I don't understand any of this right now
    • I don't understand encapsulation easy to get stuck here
    • I don't know how to better encapsulate the state in this program
  6. is it worth continuing (can i postpone it?)
    • A coach agreed it's important i take time to understand this
  7. how can i improve how i'm approaching this
    • Ok, so I need to know more about how objects can help encapsulate data
    • I think I need to also be clearer on what the available scopes are and how that relates to encapsulation
    • I need to check with my pair partner what they think of this
    • I can use someone in my cohort, and do some researching online
    • I can ask a coach to recommend some exercises or resources to help guide me
  8. ~
  9. ~
  10. ~

You're responsible for your learning. No-one else. Don't wait for someone to help, help yourself.

back

3. See everything & everyone around you as usable resources - and pull them as needed

Your friends. Your peers. Your cohort. Your coaches. the-tin-man on StackOverFlow. That book that Ed keeps banging on about.

Successful learners see everyone as resources to help unblock their learning, organised into a priority list to go through methodically when they're stuck, or looking for information on how they're doing.

It takes usually two to three weeks to absorb the learning ethos here at Makers, but signs that cohorts are in command of the resources available are

  • lots of communication in the cohort slack channel
    • asking for help
    • random chatter
    • sharing links, articles
    • liberal use of emojis
  • pairing is considered highly positive and beneficial
  • judicious but frequent use of coaches
    • sanity checking an approach to something
    • asking for direction on a topic
    • clarifying what's important or what's not
  • Cohort- or team-organised learning groups
    • in small groups in the mornings
    • the whole cohort during lunch times
    • requests from the cohort for a coach to do a session on a common learning block
  • Personal learning objectives
    • side projects
    • requests/recommendations for resources on a certain topic
  • The cohort enjoys spending time with each other

back

4. Break your goals into steps

Not every goal you set will be achievable in one go. Nor will every goal we set you be achievable in one go.

Everything can and must be broken down until it's achievable.

Some signals that might mean you need to break your goal into smaller pieces

  • what you're doing feels difficult or frustrating
  • you don't know what to do next
  • you're overwhelmed with the possible things to do
  • you don't understand the goal
  • you don't really understand what you're trying to do
  • you don't have a clear sense of what success looks like.

Mind maps, or spider diagrams can be useful tools to help break a concept into smaller bits to tackle.

If there's any skill I could wish every maker* leaves with at 100% it would this one - breaking problems into a set of smaller problems.

*Yes, I see each learner at Makers as a little Sims character with an organ of skill bars floating above their heads grouped by the three main goals of the course, and three concentric circles expanding around them at their feet, like passive auras, that fill up from comfortable to uncomfortable to overwhelmed.

back

5. Know how to test your understanding

Depending on your objective, collect a kind of evidence to show yourself you've nailed it.

Here's a table that maps objectives to evidence.

Objective Type Examples of Evidence
Knowledge Blog posts explaining your knowledge, explaining to a peer or coach verbally or with a presentation, well-annotated code.
Understanding Examples of using knowledge to solve problems: in individual challenges, team projects, research projects with conclusions and recommendations, plans for curriculum change.
Skills completing skill-focused exercises, screen-recordings or observations with feedback by observers
Attitudes get someone to rate you in: how you pair, how you work in a team, role playing, simulation games, and get feedback from participants and /or observers.
Values get someone to rate you in: performance in value clarification groups, simulation exercises, and get feedback from participants and/or observers.

Example

Imagine you wanted to learn about how objects encapsulated behaviour in ruby. You could write a blog post about this, explain it to a coach, use it an example, record yourself writing code that encapsulates behaviour and ask for feedback from a coach. One might be enough, maybe two bits of evidence, or maybe you really want to be sure and did all of them over a week or two. Whatever you decided - if you met it, you're done! Good job! Have a cuppa. Next learning goal!

At Makers we expect you to frequently set an objective, plan evidence you want to collect to show yourself that you've achieved it - and then collect it.

You do that regularly, you're nailing it.

Explore this more -> test-driving your learning

Ed: It's the first blog post I wrote back in 2017, so it's a bit average

back

6. Keep a learning journal, but don't overdo it

First, some context

Students reasonably used to rely heavily on the course-content directing their learning. They'd do an exercise, then do the next one, and keep going until they got to the end. They'd generally measure their success on finishing the exercises, rather than assess their learning. And then they'd worry about how they were doing, or how they were spending their time.

This is mostly ok. They didn't go that far wrong. It was probably frustrating for those whose learning pace was slow or quick. Those whose pace was quick solved their frustration at getting better at directing their own learning by themselves. For those whose pace was slow and struggled, the coaching team would ad hoc help them get better at learning, but it was tough without embedded structures that supported developing these skills.

We did a bunch of discovery to find out what behaviours the best graduates had, a bunch of research on adult learning, extracted a bunch of knowledge from our minds about how to learn, and we embedded this into the course. :boom:

Document your learning

One part of this is keeping a learning journal of some kind.

Take notes. Test your understanding. Create a SMART goal for the day, reflect on how it went. Note your reflections in general. It's easier to start this habit early and continue it daily.

Whatever your choose, experiment with it, make it work for you.

Remember, tools are made to solve problems, and if they're not helping, scrap them or improve them.

Impostor Syndrome

Students who are starting their journey directing their learning, and even those experienced at it, sometimes feel like they don't know how they're doing, or whether they're spending their time in the best way.

Those who have some kind of learning journal experience this feeling much less - it can still happen though, it's normal.

The intensity of the course at Makers sometimes feels like waves - each new unit of learning being a wave. The wave starts with a lot of unknowns as you climb the learning curve, and as soon as you feel slightly comfortable, the course march onwards, another wave hits. Midway through learners have fed back that having a learning journal of some kind can help show regardless of constantly feeling that wave is hitting you, you've actually achieved a ton of learning.

This feeling is sometimes known as impostor syndrome and is common in the tech industry. A common strategy to deal with it is to identify your own concrete achievements to show yourself your abilities - a learning journal is an example of this.

back

7. Reward yourself for achieving your goals

This one's short and simple.

Train yourself to achieve your goals by rewarding yourself. I sometimes buy myself gifts. Or reward myself with playing civ6 or watching my citizens go beserk in rimworld.

It can be as simple as having a tea, having a break, crossing a goal off a list, go to yoga, do your favourite hobby, meditate - just give yourself an endorphin hit to feel good about all the hard work you've achieved!

back






For facilitators

Self-directed learning at Makers is an integral pillar in the way we help devs acquire the skills and behaviours that make them so successful in their first dev jobs. But, it has to work within constraints.

I want to provide my observations of what structures we use to facilitate self-directed learning.

The following points are equally weighted, but the first one is first amongst equals - it's a dependency the rest rely on.

  1. (Re)set expectations of what success looks like
  2. Create an environment of vulnerability, respect, trust & honesty
  3. Give equal weight to each part of the learning cycle
  4. Why would a learner do this?
  5. Demonstrate what excellence looks like

1. (Re)set expectations of what success looks like

Fact: the more time we spend at the beginning of the course communicating clearly what success at Makers looks like, the better the learners do.

Learners walk in through our doors with so much baggage of what they very reasonably think education is given they're most likely to have spent 18 years or so being taught, despite the work sales and admissions do preparing them for what learning is like here. We are without a doubt a true bootcamp in this respect; we categorically break what their mental model of education, of learning, before they can identify as a learner and succeed here.

For this to be effective the whole team needs to be roughly aligned on what that success looks like.

Feedback Loops

In order to align on and build profiles of what success looks like for both business (hiring partners) and consumer (learners) customers of the course, we have feedback loops to get tons of information from

  • Weekly learner self-assessments
  • End of course learner surveys
  • Aggregated Makers grads' interview data at hiring partners
  • Aggregated Hiring Partner needs

Building a clear picture of success that's measurable is critical. Then you can clearly communicate it to the learners. If it's not clear in our heads, it will be even less clear in theirs.

Communicate what success looks like

At the beginning of the onsite course there's an induction day:

The high-level purpose: Hammer home that success at Makers equals self-directed learning to achieve 3 goals in equal measure. These 3 goals will help you get your first dev job.

  • I can make anything
  • I help my team succeed
  • I am equipped for long term growth.

During the day, focusing on getting the cohort to interact with each other

  • We discuss the code of conduct
  • We get to know each other in small groups
  • We talk about what life looks like as a student here
  • We draw out their expectations and goals and discuss them
  • We draw a picture of what a successful learner looks like.

Talk to each other. Share stories. Be more human.

The more repeated a scaffold is, the more likely it is that a learner will continue it themselves, so this doesn't only happy during induction - we facilitate the beginning of every unit of learning, every coach-led session, every pairing session in the same way.

To such an extent you can tell when coaches are present at meetings when you hear them say something like - That's great! But what does success look like for this?

And if we've done a good job, learners towards the end of the course will ask me, when I ask them to build a program, what the inputs and expected outputs are. What the acceptance criteria are.

3 months. That's pure magic.

At the beginning we are teachery

The first four weeks of the course lay the foundation of the rest of the learners' experience, and combined with the fact we're under time pressure, we balance self-direction with some teacher-directed learning.

The first half of the course has

  • Facilitated self-assessment and reflection at both the daily scope and weekly scope
    • For the first two weeks daily coach-led sessions on self-directed learning
    • Each unit of learning finishes with a self-assessment and a group retrospection
  • many more interventions: skill dependencies we've already identified and scheduled for during their learning (technical and non-technical)
  • many more individual coach interactions with learners to ask them about their learning

The second half of the course is project-based and much more hands-off, but this works far more sucessfully if the first half is also done successfully.

back

2. Create an environment of vulnerability, respect, trust & honesty

This is so incredibly important - and what makes the environment at Makers so rich, warm, rewarding, and enjoyable. Swing by to a Q&A or a demo day and find out for yourself :)

In short: the more learners trust each other, the more they communicate, the more they communicate the easier it is for them to get information to help them learn faster.

Explore this more -> notes on learning environments

back

3. Give equal weight to each part of the learning cycle

There's a bunch of work done on learning cycles. At Makers, we've tried to keep it as simple as possible. We use Kurt Lewin's cycle as a lens through which to see all the work that learners do at Makers.

  • Set a Goal
  • Do some work
  • Reflect how it went

Learning cycle

However you frame learning for students, remember that it's very likely they start with the perspective that anything other than the Do is a net loss to their learning.

At Makers, pressures of career changing, the financial commitment, and others means each learner is making choices how to spend their time that always feel critical and they know very little other way to judge how to spend their time other than the past 18+ years of being taught.

It's a huge leap of faith to trust the process. It's huge. We've embedded this learning cycle everywhere to help, but it's not perfect, we only have 3 months with constraints to help change their behaviour - but all the reviews we get about changing lives, transforming people - it's this. This is huge. People come to Makers and leave with new behaviour, and some with new identities.

The process is to always make sure we balance Do with setting a goal and Reflection, placing it in a caring, positive, holistic context, and finding a way to make sure it's valuable and rewarding for learners.

Easy, right?

Example

At the unit of learning scope:

  • Learners start with Setting a goal
    • we explore the topic, we set some success criteria, we plan ways to get there.
  • They set about Doing their plan
  • We finish with Reflection - individually self-assessing and reflecting how it went as a group

This learning cycle happens at all scopes - a 45min pairing session, a coach-led workshop, a day's worth of work, a two-week project, the whole course.

I sometimes think of this as: Front-load context, back-load reflection. When I don't do or demonstrate this well at any scope I end up having to manage the student experience with a lot of 1:1 interactions.

back

4. Why would a learner do this?

Another variant of this question - what value would a learner get from this?

I have a habit of always asking myself and other coaches these questions whenever a session is planned by the team that uses their time. It's fairly simple: be user-first in your design.

However, it's easy to think for facilitators to know what learners need - instead go and get that information. I know I do this sometimes. Ask them or help them diagnose what they need.

Be careful of the trap I see a lot of coaches fall into: doing more work, lots of 1:1 interactions as a proxy for measuring the success of their work. This is usually not in the learner's long-term interests. I almost measure it inversely - I try for as few, but high-value, interactions as possible.

I find I'm more successful when I

  • Constantly give clear success metrics for a unit of learning, which helps ingrain a test-driven approach to learning
  • Co-create learning plans with learners at the beginning part of the course that help them meet the success metrics
  • Give differentiated scaffolding for different learners
  • Am a useful, clear, positive, & accessible resource to unblock learners as needed

back

5. Demonstrate what excellence looks like

Learners won't usually know what this looks like. It's our job as facilitators to show it, guide them to it, or better yet demonstrate it.

The more we surround the learner with excellence, the more they'll aim towards it

As a rule of thumb almost any skill we're workshopping, I make sure I've demonstrated it first - or shown good student work.

Some examples of demonstrations

  • different ways excellent learners have tracked their learning
  • learner reflections or work on show in the building
  • video recordings of programming by coaches
  • coaches live coding - here's a recorded live coding session as an example.
  • coaches pairing with other coaches or learners
  • coaches asking or sharing feedback
  • coaches debugging code

back

-----