[TriZPUG] Mentorship Program
Chris Calloway
cbc at unc.edu
Thu Apr 16 21:58:49 CEST 2015
On 4/15/2015 10:33 PM, Kurt Grandis wrote:
> Hey Folks,
>
> At the PyCon Community Organizer meeting, the Chicago UG (ChiPy)
> mentioned that they've set up a mentorship program.
>
> The idea is to match beginners up with experienced users and they would
> meetup (physically or virtually) for at least 1 hour/week for 3 months.
> They would work together to come up with a plan to achieve the mentee's
> envisioned goals (be it professional or otherwise). Recommendations,
> code reviews, pairing, introductions, reading list curations,
> discussions, etc.
>
> Announcement:
> http://blog.tathagata.me/2015/03/chipy-python-mentorship-dinner-march.html
> http://blog.tathagata.me/2014/10/chicago-python-user-group-mentorship.html
>
> FAQ: http://www.meetup.com/_ChiPy_/messages/boards/thread/48812700
> Mentors: http://www.meetup.com/_ChiPy_/messages/boards/thread/48806595
> Mentees: http://www.meetup.com/_ChiPy_/messages/boards/thread/48756823
>
> We have a LOT of project nights and people pitching in and helping
> already. I'm always impressed whenever I attend, so maybe it's not as
> relevant for this area? I can imagine having a stable contact to reach
> out to and by also having some mid/long-term personalized guidance and
> support could also be very helpful. Anyways it sounded interesting and
> wanted to share the concept here. Food for thought.
tl/dr: I can't wait for you to do this.
The thoughts growing out of your food:
I think it is a relevant concept for this area specifically because of
my experience at project nights, which are great but not as effective at
mentorship as one would hope. That's because mentorship is only one of
the project night possibilities. Project nights have many other aspects.
Community building might be the strongest point of project nights. It
has kept a lot of people more connected than they would otherwise be. It
really puts the mutual self-help concept, which seems to me built into
Python, to work.
I kind of have one person coming to project nights whom I am actively
trying to mentor because he wrote to me and asked for that kind of help.
That help is kind of open-ended, however. I listen to his goals and I
try to devise paths to get there. I'm just there for when he needs me.
But we don't meet weekly like the ChiPy program, nor have I devised a
custom curriculum just for him like the ChiPy program. We haven't set an
ending term of three months like the ChiPy program. We discussed the
pros and cons possible paths and he picked some. We originally met
outside project night and inviting him to come to project nights was
just one of the paths recommended in the interest of my time. In fact,
because he's sharp, he picked a path that was better than one I'd ever
seen before and the experience educated me about a fantastic resource I
hadn't known about previously despite having looked for something like
it. I never fail to learn things when trying to help people learn.
But I think that personal commitment to one person's mentorship is kind
of unusual at project nights, though. I've been coming to project nights
for a long time now and this is the first time I've established such a
one on one relationship before and it only happened in the last couple
of months. I've had formal invitations from a couple of other local
people in the past to do that to which I replied positively, but the
invitation turned out to be insincere and were more of pleas for free
consulting on grand ideas for world domination. One they figured out I
wasn't going to write their code for them, I never heard from them again.
The usual pattern at project nights for mentorship seems to start with
when we have introductions around the meeting space. The introductions
seem to be key in getting things moving. They take the form of the usual
your name, your employer, what you do with Python. Because project
nights have open ended hours, we tend to wait until we have a critical
mass of people present to have introductions when everyone has a piece
of pizza. This might happen as late as an hour into project night.
During the introductions new to programming or Python will
self-identify. If I'm I'm hosting the project night or leading
introductions, after introductions I'll query the newbies for what path
they are currently on and if they want suggestions. If they want
suggestions, I try to give them from what I feel are appropriate paths.
Those suggestions tend to change over time as I find newer and better
paths. If there are several people needing help, I try to solicit
volunteers and there are some usual suspects who are good at responding,
often without even having to ask. We even have some advanced beginners
who are good at coaching beginners, which I think it a great experience
for those advanced beginners.
There are all kinds of outcomes from that, but they follow a few general
patterns.
A frequent one today is someone is already on a path with Coursera and
wants to continue that. I like that because if someone has the
motivation to take a MOOC, that to me is indicative of some degree of
self-selection. So we make ourselves available for assistance if there
are questions. At the last project night I helped someone completely new
to programming, not just Python, with their Coursera homework. That
person needed a line by line walk through of iterating over a text file
object. Even though the Coursera course was designed for people new to
programming, it was still weak on explanation and shoveled out a
examples at a higher level than I would expect someone new to
programming to pick up unless that were one of those one in a hundred
people with completely natural talents. He needed that walk though
repeated several times. He needed to stop at several points and have
things explained in much greater detail than the course material offered
and with many side digressions to illuminate why things were working
rather than leaving it up to magic or osmosis.
Project night is good at that pattern. And he seemed relieved to get
that help. But I would expect he would leave project night, continue
with Coursera, and continue to be confused. If project nights are your
only opportunity for personal one on one help in such situations, it
might take you a long time to get through that one Coursera course. I
always encourage people in those situations to email or call me for help
anytime. But I rarely get takers. I make sure they are one our email
list. And I make sure they know about the awesome Python tutor list. But
I see little evidence of followup there. I think the more newbie a
person is, the more trouble they have asking for help, or asking for it
in constructive ways, and coaching people on asking for help is yet
another skill.
Sometimes my approach with people who are having MOOC trouble is to ask
them if they are happy with their present path and if they are open to
alternatives, suggest a different path. But the insufficiency of the
project night level of help in such a situation goes a long way to
explaining how a frequent further outcome of this pattern is even though
such people seem to really love the help (and pizza) they got and get
excited that they made some progress at project night, nine times out of
ten you'll never see them again. There are degrees of self-selection.
That's OK because if everyone who ever got excited about help they got
at project came back for all the subsequent project nights, we'd soon
not have a place big enough to meet nor enough time and people to help.
I don't know the degree to which one can fight the self-selection factor
in Python. Nor do I know the degree to which I want to fight that. One
of the things I loved most about the Python community when I first found
it was what a better quality of intellect I found than in any other
software community I'd ever encountered. It didn't take long to figure
out Python's self-selection culture is what makes that quality. I
sometimes wonder if by trying to lower the bar to Python, am I
contributing to a yet another future software ghetto? I don't know. But
I do feel strongly that to make progress as a society, the younger we
can reach people with software skills, the better. Most of the really
great programmers and data scientists I know were tinkering at a very
young age. Maybe you can't fight self-selection. But maybe you can
identify self-selectors earlier and give them all the support they need.
Another pattern happened at the last project night. Thanks to Clinton
Dreisbach, two recent graduates of Ironyard's Python program showed up.
They already had projects in progress. We discussed their project
problems and I think got them unstuck on a database connection problem,
or at least pointed in a better direction. A bigger deal, though, was
that they were looking for work. So we got them a plan for employment
networking involving TriPython. That kind of assistance, where someone
is already well down their path, is much easier to give. I think we will
continue to see those two people show up. This is also a really
important reason for project night in itself. I'm convinced that having
a community on-boarding process and activities for people who are fresh
out of training programs is essential. It does no good to invest in
education if the result is never to put the education to work.
There are many other patterns to what goes on at project night. But I
don't think it is germane to examine them all on an email list or to
comment on the efficacy of a more formal mentorship program. I think
just those couple of mentions can make it is clear that more people
could be helped more. Which goes without saying. People can always be
helped more. Part of me wants to limit how much TriPython is perceived
as a service bureau because I don't think we want people thinking
TriPython is simply a place where one comes to get served by people who
are waiting to wait on you. If your user group is about rolling out a
doormat, and you are the one doing the rolling, don't be surprised when
you get used like a doormat. But at the same time, in the do-acracy, we
want to encourage and enable anyone who is willing to offer a service to
others.
There are several features of the ChiPy program that I find interesting.
Not all of them would be necessary here. Just because somebody does
something a certain way in one place doesn't mean everyone has to do it
the same. But I think it's worth understanding a few things about the
ChiPy program. It would at least show what kinds of decisions need to be
made by someone about what a mentorship program would look like and how
it would operate. The ChiPy progam appears fairly heavyweight:
# They had an application process. That means someone made an
application and an application submission mechanism. It means someone
administered an application judging and/or matching process.
# Not everyone who applied got matched to a mentor. That implies
building in the possibility of disappointment or raising limitations on
the promises made.
# Someone or group of people decided on some levels of mentorship to
offer. Some were more in demand that others. Some were more successful
at finding mentors that others. Medium skill level mentorship seemed
most in demand. Advanced skill mentorship seemed scarcest in supply.
# Someone kept metrics on their program so that we even know those
things. Who would have thought there are people all about quantitatively
verifying the efficacy of their ideas. :)
# The program has a fixed term. That means it also had a start and end
date. That's probably a selling point. But it may mean that the program
has to line up in time with other opportunities, like the graduation
dates of other training programs. A continuous or on-demand program
might be a consideration?
# The mentors develop a curriculum for each level of mentorship and keep
that curriculum in a common repository. That means someone has set up a
repository and access. I don't know if that means that all the mentors
have to use a common curriculum or not. I don't know how rigorous each
mentor is about creating or following a pre-determined and/or recorded
curriculum.
# Someone solicited local Python shops to participate. They went outside
their membership as a user group to find mentors. That's pretty awesome
right there. That expands the reach and impact of your user group. But
it also means someone was unusually persuasive. Wonder what kind of
carrots were dangling from their sticks? It goes a bit against the grain
of do-acracy. Someone is running around asking other people to do
something rather than doing it themselves. But if in the asking you can
make it the idea of the person being asked...
# Someone spent a good amount of effort on communications, publicity,
and outreach. It takes effort to find and guide people into such a
program. It takes effort to tell the story about it. Emails, social
media, blogging, phone calls, reaching out to other groups, conference
talks, group meetings, personal meetings.
# Someone spent some time on organizing and coordinating. When you see
activities like a kick-off dinner, you know there is a mastermind at
work behind whoever else is involved.
I just love this as an idea. In order for it to become a reality here,
the do-acracy has to do its thing. I know for a fact that I cannot
mastermind this. Organizing, publicizing, and participating four
meetings per month puts me at my limit. Officially open ended mentoring
of one person puts me at my limit. And I have someone at work that I
have an even more active mentoring relationship with that I need to give
more energy to than I currently am.
More people could be helped, but it will take more people helping and
self-organizing. We have seen more people starting up their own Python
training programs locally in the last few years, exactly what a
do-acracy should do (if you don't like the path, blaze your own), and I
hope project nights offers those programs an avenue for follow-up. But a
mentorship program could be even more effective follow-up. I always told
PyCamp alums that I am willing to be their free Python coach for life.
Maybe only one person per class takes me up on that. That maybe because
they got tired of me at PyCamp or it may be because they realize I can't
answer every question daily from hundreds of graduates. It would be
wonderful if there were a way to pair each person trained with their own
personal helpful Python friend.
While I'm at my limits, I can offer support for anyone who wants to do
this in the same way I offer support for anyone creating any kind of
local Python activity. We can give you floor time for speaking at any
meeting. I can give you posh meeting space in Chapel Hill in the
evenings. You can use and abuse this mailing list to your heart's
delight. I can give you whatever access you need to our website or
hosting infrastructure you might desire including support. I'd like to
give whatever support I can to anyone who wants to pick up this ball and
run with it.
--
Sincerely,
Chris Calloway, Applications Analyst
UNC Renaissance Computing Institute
100 Europa Drive, Suite 540, Chapel Hill, NC 27517
(919) 599-3530
More information about the TriZPUG
mailing list