Apprenticeship Community

Ask-Me-Anything with Alex Harms

May 26, 2015 6:00PM PDT to 7:00PM PDT

Alex Harms had some real talk with the community about vulnerability, making time for what’s important and recovering from a blow to one’s confidence.

Alex Harms helps geeks (re)learn empathy, helps teams communicate, coaches mindfulness techniques, and occasionally writes a little code. They’re based in Columbus, Ohio, with bits of their heart residing in the Pacific Northwest, Detroit, Denver, and Europe, among other places.

The full AMA follows, edited for clarity, grammar and style.

kmanion: What are you excited about right now?

Sex. Sorry. I just hate how nobody ever admits that.

Anyway, there are other things. JoyConf, even though it’s hard to find energy to make it happen.

And getting more meditation and empathy class offerings up at

And … the next work project, which I don’t know yet. But it will be awesome. Egads, and I have two talks coming up, which is a combination of nervous and excited. Emotional rollercoaster, yo.

version2beta: We have our internship program coming up, and today we discussed the idea of daily training or self-learning support. I suggested that tests are a solid way to learn a (programming) language, almost like Little Schemer, but more test-y. Have you done this / seen it done / have an opinion on learning a language or framework by writing tests?

I enjoy learning that way. I’ve heard some folks say it doesn’t make sense to test when you’re learning. But that doesn’t make much sense to me. Zee, want to weigh in?

Zee: I think that testing is a way to add clarity of thought around the problem you’re working on solving.

When I teach testing to novices, I focus on testing pure functions and/or testing features. And I avoid fancy pants testing frameworks

Alex: When learning, I often write fun tests about the language itself. Especially if there’s no repl.

Zee: That require you to spend your first few weeks how to “phrase things just so” in order to get the tests to pass.

Alex: Frameworks are teh sad.

Zee: If it’s good enough for Kent Beck, it’s good enough for me.

version2beta: Zee, I agree on testing frameworks. Alex, That’s exactly what I’m thinking too. And I’m doing it on a side project now too, starting with tests to demonstrate I understand the framework (werkzeug in that case).

Alex: Actually, kmanion, I am excited about the gender AMA at Self Conference next week. Even though it could get rough.

Feels like it could also be a Very Good Thing.

sarablackthorne: I’ve got a question, from another person in my household, if I might ask that? Here it is: “I have a couple coworkers who act like “bros” using foul language and exchanging “war stories” of their “conquests.” It makes me uncomfortable, but as the new person on the team I’m worried about being isolated for speaking up. Ive made a few jokes back to “fit in”, but I can’t do it anymore as it recently crossed a line I can’t cross. How can I best communicate my discomfort and keep the team energy positive and productive in and out of the office?”

Well, now shit gets real, huh?

Okay. True story.

There are ways to be really honest, real, with people that they can sometimes hear. Sometimes they can’t hear you no matter what you say, though. So first you gotta let them own their reactions, you know?

But the part about being real has a tricky edge. It involves learning about yourself. Understanding what’s happening, where your hurting comes from.

So first, you look at the reaction you’re having, and go deeper than just anger or fear or whatever. Figure out what is hurting you.

What’s uncomfortable about it. And then, with vulnerability, you might be able to say something gentle, like “I’m feeling a little uncomfortable. Could we talk about it?”

Because consent.

If it seems like they can hear you, you might find a space to say what’s alive in you.

Briefly, without blame and without lecturing. Tentative.

And then hear where they’re at.

At the very base, all us humans are doing our best to meet human needs. We have much in common. I like to start there.

crebma: I’m curious what you think about apprenticeship in small consultancies. So many small companies really struggle with being able to do apprenticeships while they’re trying to sell themselves as experts in something or other. And invariably they get stuck at: “Where do we put them?”

There’s something going on there, I think … OK. What I’m reminded of is, the way that a lot of times, folks tell me pair programming doesn’t work if the pair is mismatched.

I think it points to a mindset that says fast is awesome. Junior pairs can be incredibly helpful while also learning, but … well, in this industry we keep trying to go faster than is reasonable.

We build buildings that are falling down before we even get the roof on.

Then our “seniors” are rushing around nailing boards on shit, while the juniors want to know how to cut a right angle. You know?

Fast is slow, damnit.

Zee: What do you see as the primary barrier between team members discussing things in a “real” manner?

I could talk about this for hours, but I’ll try not to. How about what we can do to increase that realness?

One thing is to tell each other your stories. An hour or two spent creating maps of your life and sharing them can make a huge difference. Creating space for sharing what’s going on, learning skills for communicating openly. A lot of what I do when coaching is modeling honesty, and modeling compassion.

Like I’ll say, “well, wait, we don’t want to do it if everybody’s not comfortable with this approach, right? Can we hear everybody out?” And — though I’m sometimes afraid I’m pushing them to go along — most often people are glad to have that spoken out loud. They really don’t want to stomp on one person, or whatever.

They really do want to share their real lives. They really do want to be able to make mistakes and laugh together. As a coach, a lot of what I do is give permission to be human. Over and over, until it starts to feel OK.

Everybody wants to be safe. I think if it gets to be safe to share what’s real, that becomes more inviting than safety-though-hiding.

krystyna: So a couple-ish months ago, I went through the biggest hit to my confidence in a loooooonnnggggg time. And quite honestly I really just sort of receded, and was ready to give up, I felt like I not only wasted my time, but everyone else who was involved. What would you say is the best way to deal with that?

I can tell you what I do. First I feel really shitty. And a lot of times, I take in more than I really want to. That is, I’d like to listen openly to the feedback I’m getting, and turn it over in my mind, then see what feels like something I want to adjust, and what feels like their shit, and what maybe feel like I just want to leave it for now.

Because sometimes there’s useful stuff in there, and sometimes there’s true stuff that isn’t what I want to work on, and sometimes there’s stuff that’s not really about me at all.

But often I take it all in and feel like a shitty person who has no value in the world at all. (That’s my pattern. Everybody’s got their own.)

But if I remember my stuff, I take really good care of myself. I look for the things that bring me joy, and I sit quietly, and think “OK, if I’m a spark of the divine fire, with my own unique beauty, and my own special contribution to the world, how do I absorb this, given that?”

And that’s work.

But if I take good care of me, things percolate to the surface, and pretty soon I’m excited about something again.

Paying attention to what brings me joy includes paying attention to real feedback I get from the world, like somebody asking me to speak because apparently I’m not entirely worthless or someone saying they love me so I can’t really hold on to my theory of being unlovable.

mattboy115: I have a hard time finding time to learn whatever coding language I’m trying to learn. How have you made time?

I have chronic illness, so I don’t have a lot of time. Here’s what I’ve noticed. What I really love is what I end up putting time into. So I can sit around feeling guilty about not doing what I think I should be doing, or I can do what I love.

For example, if I’m fascinated by functional programming, but I think I should study Ruby, I might miss lots of opportunities while I’m spending my free time trying out stuff in Haskell. But if I embrace it, those opportunities start showing up.

In other words, I don’t have a good answer for how to find time, but I know I seem to have time for what I can’t stop thinking about.

Zee: What is the most valuable lesson you’ve learned as a mentor and coach?

The most valuable lesson is easily that the best thing I can do for a team is not to teach them TDD (test-driven development) or the proper pairing technique. It’s how to be curious, open, and vulnerable with each other. They are already smart enough, and have resources for learning things. They just need freedom to show up for real together. (Ha! I say “just” but like so often, that word hides the difficulty involved)

I have a parting message for y’all. From me to you, direct from my headphones.

Alex Harms will be giving a keynote at Pittsburgh Tech Fest, June 13, 2015

Add To Your Calendar