00:00:19.119
sorry i'm just gonna yeah start up the open captions hi everybody um yeah thank
00:00:25.359
you so much for that lovely introduction and thank you all for joining and thank you to the team from emea on rails for
00:00:32.880
inviting me today um i'm so excited to tell you a little bit of the
00:00:38.239
stories of mentorship that i've had and the things that i've learned along the way that i hope to share with that i
00:00:43.360
hope to can inspire you to try your hand at mentorship today um so couple things before we get
00:00:49.600
started um if you would like to follow my slides along i've left a link at the bottom of this
00:00:54.800
slide uh ramonh.dev slash mentorship dash stories
00:01:01.199
dot pdf um go ahead and use that and you'll have a copy to follow along on your device uh if you prefer
00:01:07.680
so let's dive right into it i'm gonna tell you a little bit about myself um
00:01:13.040
i'm ramon my pronouns are he him i'm originally from chile but i'm living in austria for a very long time so i can't
00:01:19.439
really say i'm chilean anymore um i'm i've been freelancing as a software developer for many many years mostly in
00:01:26.640
ruby and javascript lately some rust as well which has been a lot of fun and community has been a huge part of that
00:01:34.000
for me um being able to empower one another being able to learn from one another has been
00:01:39.759
a significant joy that i've that i've gotten out of it and has really been some of the best lessons i've learned
00:01:46.399
in technology in com and you know dealing in
00:01:52.320
interacting with people and being a better human being um excuse me and uh
00:01:58.960
i've been part of this wonderful community for the last couple years called the mozilla took speakers program which is just one of my favorite
00:02:05.200
experiences ever and um i've also been a coding coach for for children in the
00:02:11.840
past which kind of plays into my uh kind of plays into my uh story that i'm going to be telling you about today
00:02:18.319
um lately i've joined the team at code c as a developer advocate where my job has
00:02:24.560
been to help empower folks in collaborating and understand understanding
00:02:30.239
complex code bases so going to stick to me for just a tad longer so please bear with me i'm going
00:02:37.040
to tell you the story of how my interaction with mentorship really began in my career
00:02:43.120
and to give you a little context for that i was studying software engineering at
00:02:48.160
the technical university of vienna and um i was ready to move out and live with my
00:02:54.319
partner and i had absolutely no experience so i was looking for jobs in things
00:03:01.200
related to caring for children or that sort of thing and my partner found a post on one of these
00:03:08.560
websites for jobs since what that said freelance mac os developer mac os x
00:03:13.840
sorry that's back when it's called os x mac os osx developer uh is being looked
00:03:19.200
for now at the time i had installed code uh uh xcode on my
00:03:25.840
computer which is the uh suite for developing mac os apps but i didn't have really any practical
00:03:32.560
experience but through the encouragement of my partner and i guess a rush of
00:03:38.080
self-confidence which is not terribly common for me i
00:03:44.000
applied and i said hey you know here's my cv i would love to try out for
00:03:49.440
this and i got a response i got a positive
00:03:55.280
response where um the person who was looking for a developer said all right
00:04:00.400
tell you what let's meet up next monday this was on a friday so i was like oh my goodness okay so we met at the cafe
00:04:07.519
mozart which i know is very vienna but it it's there
00:04:12.959
um so there we are we're at the cafe mozart everything's
00:04:18.000
everything's going well i'm there i'm very nervous and he we had a very friendly introduction and
00:04:25.120
uh this clip he said so ramon i've taken a look at your cv and i i had to ask you
00:04:31.280
why are you applying for this job you don't have any practical experience
00:04:37.199
and this was an incredible luck on my side that i was able to
00:04:44.240
somehow say something again something like hey look i've been
00:04:50.160
i really like what you posted really liked i really like what i've been learning in software
00:04:55.759
development i i had just purchased my first macbook so i was like this was back in 2008 and i was 2000 sorry 2010.
00:05:04.880
um gosh time flies um and i was just super excited about um yeah the the platform and learning
00:05:12.240
how to program and he said look i'll tell you what i can't hire you just yet
00:05:18.720
but here's a book and he gave me this the name of this book
00:05:24.479
um it's called coco programming for mac osx by aaron hilligas from big nerd ranch
00:05:31.840
and this book was kind of my first step into professional software development and he
00:05:37.520
said look read this book i will then hire you to do a very small task a very small bug fix for one of my
00:05:44.320
apps and then let's go from there so he kind of took a chance on me
00:05:50.560
along the way he was also teaching me things like publishing apps he was teaching me ruby
00:05:56.960
uh the the the tooling that he wrote to be able to automatically generate these these mac
00:06:03.360
app bundles was written in ruby so i was getting my experience with ruby there he was recommending me books he was
00:06:09.759
recommending me best practices and even code editors he got me on vim
00:06:16.000
and slowly i came i got more comfortable and we started a working relationship which actually
00:06:21.759
persists to this day but for me the most unforgettable day was about
00:06:26.960
two weeks in three weeks in where he sent me an email with the subject
00:06:32.160
highly pleased with your work and this was game changing for me
00:06:38.080
because i felt i can do this it was like a jolt in motivation
00:06:44.400
and many years later as i've been doing things related to mentorship i kind of
00:06:49.759
realized that philip here was and in several ways still is my mentor
00:06:56.080
and i'm extremely grateful for that so this is going to be the part of the talk
00:07:01.360
where we go into a definition of mentorship which of course i grabbed from the internet um so i'm going to
00:07:06.639
read it to you here mentorship is a relationship between two people where the individual with more experience
00:07:12.960
knowledge and connections is able to pass along what they have learned to a more junior individual within a certain
00:07:18.720
field which is all well and good there's a couple of things that this
00:07:24.960
definition because it's a definition doesn't go into that i really want to expand upon today
00:07:30.400
one of them is that mentorship big and small depend this the scale doesn't
00:07:35.759
really matter it's kind of happening everywhere be it for example i'm going to show you some examples
00:07:42.000
be it on a pull request here's a pull request from
00:07:47.120
three years ago that i made to the rails girl summer of code code base rails
00:07:52.319
girls summer of code was a program for helping uh underrepresented folks get into open
00:07:57.919
source software development that i helped organize for many years more on that later
00:08:02.960
and um what i what i loved about this is that i i made my pull request and as you
00:08:08.240
can see at the bottom here claphadler commented this looks solid i added some
00:08:13.520
small comments here and there i think it would be a good opportunity to clean up and remove some and i didn't i couldn't
00:08:18.879
screenshot all of it but it was some constructive feedback and this was in several ways a form of mentorship
00:08:26.479
mentorship is not just of course online but also in person what you see here is a photo from a
00:08:33.599
meetup this in particular is the vienna rb meetup which is
00:08:39.200
organized of course here in vienna i'm told one of the i or i hope one of the organizers is here one of the organizers
00:08:46.160
is here as well um i cannot see um this photo is
00:08:52.720
this is from 2014 2015. it's a long time ago and here we what we're doing at a meetup
00:08:59.279
like we are today is sharing knowledge sort of learning from one another um
00:09:05.440
talking giving feedback construct constraints together and actually i'm in this photo too you can
00:09:11.600
see me with much shorter hair right there mentorship can happen in the form of
00:09:16.640
workshops um this is a photo from a workshop in about the same time 2014 2015
00:09:24.320
of from the django girls meetup doing an introduction to flask
00:09:29.680
for those of you who are more familiar with ruby flask is kind of equivalent to sinatra
00:09:35.760
so it's a it's an a web it's a lightweight um web framework and these are these are all kinds of
00:09:42.160
workshops where folks can come in and be act as those mentors to come in and
00:09:47.360
help folks get either introduced or unstuck with several problems related to the content of a hack of a workshop
00:09:55.360
so in this context we've got mentors come in and be and help out with learning flask
00:10:01.760
they're of course equivalents for other for other programming languages there's rails girls rails bridge
00:10:08.240
rust bridge these are all workshops for uh in at least in these examples for
00:10:13.760
um encouraging underrepresented folks to get into these specific uh programming languages and frameworks
00:10:20.800
but mentorship doesn't happen only with adults mentorship happens with children um what you see here is a photo with
00:10:27.680
permission of course taken from an after-school activity that we used to run uh you can see my you can
00:10:33.200
see my my spouse there we were teaching um where we would teach kids to program
00:10:38.720
gay games this was called computer game programming we had a lot of fun doing so and it was sort of a one-hour weekly
00:10:46.000
session where we would get together and learn to code mentorship happens over long periods of
00:10:53.200
time mentorship happens over shorter periods of time this photo brings me so much joy this is a photo of the team
00:10:59.839
from 2015 of rails girls summer of code where i was one of the coaches my job
00:11:05.440
was to help the help the two under the the team of two um
00:11:11.519
uh learn to learn to get unstuck with specific programming challenges or even learn introduce them
00:11:18.000
to specific coding concepts excuse me
00:11:24.320
mentorship doesn't happen just over text or over in person
00:11:30.560
mentorship happens over video chat as well what you see here is also from rails girl summer of code with
00:11:36.560
different teams that i mentored over the years going clockwise top left
00:11:41.600
we've got teams from all over the world going clockwise from the top left we've got colombia we've got india and we've
00:11:46.959
got vienna it's been an incredible journey and some of the memories that i cherish the most
00:11:52.880
are from rails girls summer of code and of course mentorship doesn't just happen with
00:11:58.399
with software engineering specifically you know as coding as a as a practice specifically it also happens with things
00:12:04.720
related to tech like speaking what you see here is a photo from the
00:12:10.560
2020 edition of global diversity cfp day which is one of my favorite yearly events at the moment wherein folks can
00:12:17.680
come in and learn to pitch give
00:12:23.279
prepare slides for different programming talks and it's one of my favorite things to do
00:12:28.480
and i just some of my favorite people i've met here so
00:12:33.760
those are the different those those are some of the different forms that mentorship can take next to answer the question would be so
00:12:40.320
why be a mentor and instead of answering that question myself i'm going to let
00:12:45.680
the mentorship guide which i link here written by guilis cardenas
00:12:51.040
answer that much better than i can because there are three groups of people that mentorship helps
00:12:57.839
it of course helps others the person you're mentoring can help get a boost in their career their education maybe help
00:13:05.360
them with combating imposter syndrome help helping them get it unstuck in projects or how to communicate
00:13:11.600
effectively but being a mentor also helps you you learn more about yourself you expand
00:13:18.160
your worldview you make a new friend ally or supporter um you feel good you get this really
00:13:24.399
positive feeling about giving back you find knowledge gaps in your own thinking i found that really taking the
00:13:31.200
time to explain to try and verbalize something that i'm you know trying to get unstuck on can really help the other
00:13:37.200
per can really help me understand that concept a lot better and of course by be trying to mentor somebody on something
00:13:43.199
that might be less familiar to you you can learn something new as well but
00:13:48.240
as a community mentoring really helps us all to encourage each other
00:13:53.440
to collaborate and to be inclusive to be able to make to show others what it is like to be an
00:14:00.320
effective positive mentor and we all sort of give each other a leg up
00:14:06.320
so i want to take a second to make a distinction between mentoring and teaching um teaching from my experience this is
00:14:13.360
purely a opinion based from my experience in teaching i think of school
00:14:19.279
where i think teaching goes in where the knowledge kind of transfers in one direction the teacher teaches the
00:14:25.760
students the teacher would teach me french fabian not very well
00:14:33.040
anyway um my french that is the teacher was great um whereas mentoring i like to think of
00:14:40.399
being unidirectional but many bi-directional yeah going both ways
00:14:46.480
so the mentee that is the person that's getting mentored can also learn can also teach the mentor by asking questions by
00:14:54.399
having an open communication so next and i realize i've been going
00:14:59.440
for a while i want to um offer some of the pieces of advice that
00:15:04.560
i'd like to give that i like to give myself when entering a new when entering a new mentorship relationship
00:15:10.880
the first one would be to open with to when i started a mentoring relationship with somebody to really start at the
00:15:16.880
beginning and let them lead ask them what are your goals what is it
00:15:22.000
that you as a mentee hope to get out of this relationship right let them verbalize help them verbalize maybe it
00:15:29.360
helps them understand better what they need what exactly help them understand better what
00:15:35.279
what it is that they need by allowing them to verbalize that and i think the other thing that's important to bear in mind with that is
00:15:41.680
that over time this might change as they learn with you as as you learn from
00:15:47.279
one another as time goes on it's important in my opinion to have to make this a regular thing to
00:15:54.000
check in every few months depending of course on the nature of this relationship every certain amount of time and say hey is this what what does
00:16:01.600
your goal look like that has it changed has has has things changed do you have your priorities changed um yeah
00:16:09.839
let's let's talk about habits and i'm not going to talk about best practices per se
00:16:16.639
in terms of technology but in terms of how to be a community member for example a
00:16:22.480
community member and um a technologist i'll you'll see what i mean
00:16:28.480
um one good habit to to exhibit as a mentor is to ha is to
00:16:34.560
show empathy for your mentee the great thing about mentorship is that as a mentor you're in you're already
00:16:40.880
exhibiting empathy by helping the other person learn by guiding them by putting yourself in their shoes and by showing
00:16:47.839
that you can help the other person develop that habit of empathy as well
00:16:54.959
by being a mentor you can also show your mentee how to be an effective communicator by showing them your
00:17:02.320
problem solving um your problem solving by showing them your communication skills by showing them how you talk to
00:17:08.240
others you can you can ins you can inside good habits as to how to for
00:17:13.600
example communicate when something isn't going um as per the plan for example as a
00:17:19.280
freelancer when i'm behind schedule to say this is why i'm behind schedule this is how much time i think i'll need and
00:17:25.760
to be okay with that these things happen um yeah and and by and by
00:17:32.720
these these sort of these sorts of habits that one picks up i want to really emphasize they're not short-term
00:17:38.400
they are long-term because by being a mentor you're also teaching a mentee how
00:17:43.600
to be a mentor so you know by by by ins by by instilling these good
00:17:50.320
habits you then pass him on not just to the person that you're mentoring not just to your mentee but to the mentee of
00:17:57.039
that mentee the the grand mentee in a way um yeah by and and these really go a
00:18:04.960
long way towards helping the community grow
00:18:10.320
asking challenging narrowed questions i think is another really good habit to have that you can pass on to your mentee
00:18:16.960
when they ask you questions maybe you can help them narrow those questions down for example one question that i get
00:18:22.640
very often is something like hey ramon which programming language is the best language to learn if i want to work as a
00:18:28.880
web developer and of course with experience we kind of realize we realize that
00:18:34.240
there's no really clear answer to that because it depends not just on context but on time you know
00:18:41.440
so maybe a better question would be something like hey which programming language should i learn first
00:18:48.480
if i want if i want to work as a web developer better yet maybe not one which is best but what's a
00:18:54.880
good programming language to learn first if i want to work as a developer and by narrowing down this question it also
00:19:01.440
helps the mentee sort of understand that there's a lot more going on than one would realize at first glance
00:19:08.880
so on that notion of habits let's talk about um
00:19:14.080
opinions everybody loves the mit that's what people say isn't it that the myth that developers are
00:19:20.400
opinionated i want to i want to encourage i like to encourage myself when i'm mentoring
00:19:25.520
someone to instead of instead of just saying this is the best practice to show them why i
00:19:32.400
like this not impose it on them but to expose them to it and i
00:19:39.039
was um alluding i was talking about this earlier for example when philip was showing me
00:19:45.200
which why he liked vim that's why i liked vim same goes for programming languages when
00:19:51.120
philip showed me why he liked ruby i kind of went thinking like ah yeah i like ruby a lot and the same goes for
00:19:57.280
things like coding styles or or even technology some people prefer macbooks some people
00:20:02.960
prefer linux and so on and so forth some people prefer a track pad i like a vertical mouse and a clicky clacky
00:20:09.039
keyboard you know um i think 2020 has been a really good year
00:20:14.080
for for people to experiment with they like to do with their screens and stuff um
00:20:19.360
yeah for example i've got one horizontal and one vertical just trying it out
00:20:24.640
by showing people different things like for example that different projects are going different software projects are
00:20:29.760
going to have different get history styles instead of instead of saying this is
00:20:34.880
what this is it and this is this is the way it is to say these are ways that it can be done and these are ways this is
00:20:41.760
why i like this is why i like this methodology better can help a mentee
00:20:46.880
come to their own decision but also you know impart your wisdom
00:20:52.000
speak of wisdom let's talk about being supportive because oftentimes with mentor-mentee
00:20:58.080
relationships imposter syndrome is gonna play a role when it comes to software development
00:21:04.240
especially in my experience i've always struggled with imposter syndrome imposter syndrome
00:21:09.840
by the way in case you in case you're not familiar with the term this notion that some people get when they've reached somewhere in their career or
00:21:17.120
other otherwise where they kind of feel like a fraud and they're scared of being found out
00:21:22.240
may you know why have i been hired as a junior developer i'm no good i i'm having i recently having started doing
00:21:30.000
developer advocacy i kind of had a resurgence of that imposter syndrome
00:21:35.360
and to be able to empathize with your mentee and show them and show them that
00:21:41.360
maybe it doesn't go away and my in my experience impostor syndrome never really goes away it just you learn to
00:21:46.960
handle it or you learn or you either um yeah you deal with it in different
00:21:52.240
ways depending on how it comes in we you know depending on mood depending
00:21:58.000
on situation mood and all that um but i think it's important to also remember when you're
00:22:05.039
in a mentor mentee relationship that these perspectives are not the end-all-be-all these are the
00:22:10.480
perspectives from your experience as i was saying earlier with um in terms of votes i think the same thing plays a
00:22:16.799
role for perspective so explaining to making it clear to your mentee look this is the way i experienced x y or z this
00:22:24.320
is what these are the techniques that worked for me these are the communication techniques that helped me get out of this or uh come out better
00:22:31.760
this this is this is the algorithm that i coded in order to come out to incor in
00:22:37.200
order to solve this problem this is the solution that i went with
00:22:42.799
it's important to bear in mind that this comes from your experience and to really drive that home to your mentee as well
00:22:48.240
and on that note of salute same goes for feedback giving constructive feedback as a mentor is
00:22:55.919
critical because i'm sure we've all had situations in our career where we've either made a pull request or submitted
00:23:01.760
something uh submitted a a piece of work where instead of being given the
00:23:06.880
constructive feedback that we needed in order to improve that piece of work we were instead told this is we were
00:23:12.559
instead given distract this is terrible this is rubbish um close pr closed this is a waste of my
00:23:19.520
time and as a mentor taking the time to explain to someone how something can be can be
00:23:25.760
done better really helps um really helps encourage them really gives them that jolt and motivation as i alluded to
00:23:31.840
earlier to keep going to work past these feedback and
00:23:37.039
you know it's not like that constructive feedback can't be um
00:23:42.720
can't be difficult to work through sometimes getting that feedback can be very scary i'm like i'm oftentimes to
00:23:49.120
this day still scared of receiving um feedback just be kind of imposter syndrome i suppose
00:23:55.760
um one technique that i've picked up for giving constructive feedback is this concept of asking guided questions that
00:24:01.679
is questions that kind of lead into a discussion where you encourage your mentee to think critically and think
00:24:08.320
okay what what instead of giving them the answer you let them come to the answer themselves
00:24:15.200
so i'm going to show my two slides with code on them one of my two slides with code on them
00:24:21.919
so here we have an erb view in rails now what it does it's a it's a header
00:24:28.880
that shows a transl a localization for week as well as the week number
00:24:35.039
for this for the current week for the for a given date range so this is part of a pull request i was
00:24:42.720
given by my mentee and asked to please uh review it and um at first glance a couple things
00:24:50.159
that that come out to me as a as a as a as a person who has some experience developing rails for a while i noticed
00:24:56.240
for example there's strength concatenation going on which you which kind of is a in my experience a bit of a
00:25:02.080
code smell um but instead of strange going straight at that i instead
00:25:08.559
sat down with with my mentee and just asked these guided questions for example in this in
00:25:14.320
in this example with weak numbers i would say what happens if we had a spoken language look locale for which
00:25:21.679
the week number is in the middle of a sentence instead of at the end as you see here
00:25:32.240
so what we did with my mentee was we sat down we went through the rails guides we looked at at how the
00:25:38.279
internationalization the i18n gem which is the ruby
00:25:43.919
framework or library for how for how that goes how that works and we following we came up with a
00:25:50.320
solution together where we said okay we can have this locale and give it
00:25:55.679
that we can then use inside the locale at our own discretion so there's no more string concatenation
00:26:02.000
we just use that that this um i think it's called the local local variable in the context of
00:26:08.320
that lookout which was phenomenal and i did no coding myself i didn't do any
00:26:14.720
i didn't take over the keyboard i let my mentee drive by asking these guided questions
00:26:20.799
the last part that in my opinion is important about being supportive is this notion of maximizing help but at the
00:26:26.880
same time minimizing harm um will larson who wrote this incredible
00:26:32.480
blog post that i'll link at the end at the end here wrote this blog book called mentoring
00:26:37.919
from privilege and for me as a white cis man it's super
00:26:42.960
important to when i'm mentoring someone to stand that privilege to not give advice about things that i don't know
00:26:48.799
about right for example i for uh i myself don't have a very helpful perspective on
00:26:55.279
breaking into the technology interest industry from another one having studied comp uh software engineering at the
00:27:02.159
at the uni technical university um and in these cases to offer alternate values for
00:27:08.880
mentorship or learning possibilities when possible of course to ground my stories in the context of
00:27:14.960
my privilege as opposed to generalizing them and just saying something oh that's that's just what that's just the way
00:27:20.240
things are and as a mentor to explicitly as as um as i
00:27:26.080
learned from kim creighton recently to to gather my people to call out behaviors or experiences that i
00:27:32.720
understand to have hinged heavily upon in my privilege and would be risky if performed with less
00:27:39.600
with less with less of that with less privilege to really i said minimize that harm
00:27:47.440
let's move on to the to another tip which is to be attentive of
00:27:53.520
course when it comes to mentorship the mentor will do a lot of the talking but so will the mentee as i've been
00:27:59.679
getting at and i think it's incredibly important i like to think of myself when i'm mentoring to kind of think of myself
00:28:05.919
as a on-demand rubber duck if you're not familiar with it rubber ducky programming is
00:28:12.080
is this concept where you take a rubber dick i don't have a rubber ducky i've got this i've got this little penguin dog
00:28:17.760
that i will often talk to um where i explained my to whom to whom i explain my programming
00:28:24.880
challenges and hope by that by verbalizing them i can understand them better
00:28:30.799
um and i think it's super important even though for example if i'm in a situation where my with my
00:28:37.279
mentee where they're showing me a solution which i think is completely
00:28:42.320
incorrect or or wrong um even if i 100 disagree with them i think it's super
00:28:49.039
critical to let them voice out this full explanation patiently understanding
00:28:54.480
where they're coming from it's again this thing of empathy and going at it so that you can say
00:28:59.919
great and then asking those guided questions once again to get to a solution that
00:29:05.200
is maybe they could maybe by hearing them out you might realize that as a mentor
00:29:10.960
they have a better they have a better idea of how to implement or solve a solution and solve a problem than i
00:29:16.399
would going in so on that note of of of listening and
00:29:21.679
picking up on on issues um i think it's super important to go into mentorship with a mentality of
00:29:28.559
we're going to learn together as i was saying before with my on my slide with
00:29:33.840
minimizing harm i think it's important to avoid giving advice on topics that i'm not familiar with so i've even
00:29:41.279
though it's a little bit scary uh like with like when doing q and a at a conference and then you know you're like
00:29:46.480
oh my gosh what if they asked me a question that i don't know the answer to one of my favorite things to do in a
00:29:52.000
mentorship relationship is when somebody asked me a question that i don't know the answer to
00:29:57.120
to just straight away go ha you know what i don't know let's find out
00:30:03.279
and actually one of my i have a very one of my favorite stories that i've ever had in my career i got from teaching
00:30:09.120
kids to code so i'm going to show you um an example of that so what you see here is a very well
00:30:16.640
drawn i'm sorry i'm not a very i'm not very good at drawing a window of a game that i've been programming with the kids
00:30:22.159
and what we've been doing is learning to draw graphics on screen right so i tell the kids okay here you go uh here's your
00:30:29.279
character on screen and the the position of your character is determined by two coordinates the coordinate which goes
00:30:36.480
along the horizontal axis axis and the y coordinate that goes along the vertical
00:30:42.320
axis now these the the bigger these the bigger or
00:30:47.360
smaller these values are it'll look like your character is moving on the game now
00:30:52.399
when both are zero then in this context the position of our character will be at the top left of the
00:30:59.360
window and i'll never forget one of my kids one of the kids that i was teaching he was like oh hold on hold on sorry i
00:31:04.640
hit the microphone hold on hold on um that doesn't seem right and the kid goes like when we learned
00:31:10.720
this in um we learned graphs and that when y is zero it should be at the
00:31:17.519
bottom why is this framework why are you computer people doing it this way and i
00:31:23.120
had never stopped to think about why and i remember being stumped and i remember being tempted to just be like
00:31:30.080
come on it's just the way it is right i mean we've all been there um but i took a step back and i said you
00:31:37.039
know what ha you know what i don't know let's find out and so we did some searching and we we actually learned
00:31:44.000
together what the solution was i'm going to share with you because it's quite interesting um what you see here is um
00:31:50.000
an illustration of an old computer monitor or crt which stands for cathode
00:31:55.120
ray tube monitors and we learned me and this and the children was that the way
00:32:00.799
these old monitors would render an image on screen was by illuminating these
00:32:06.960
cathode ray tubes very very quickly from top one row at a time top to bottom and from
00:32:13.279
left to right so it just goes it's and this is why it was more convenient
00:32:19.440
for for for the programming frameworks to start from there which which we found fascinating and i actually have
00:32:26.480
i have uh an example of it running for you from um i from a youtube video that i that i've
00:32:32.960
got linked here it is incredible so i've got a gift coming up so
00:32:38.000
what you see here is the game super mario brothers played i believe at 10 000 no
00:32:45.679
10 000 times slower right than than you would normally see
00:32:50.799
and you can kind of see there it's going line by line from left to right it is
00:32:56.320
it's hauntingly beautiful um and again taking these opportunities
00:33:02.240
to go on a searching journey with your mentee is incredibly helpful because you also get to show them the skill of
00:33:08.880
looking stuff up for example here's a screenshot from duckduckgo how to exit vim
00:33:14.240
i've googled that a couple times i've searched that a couple of times um by showing them how you go on this
00:33:20.080
process you you kind of you also demystify a little bit this knowledge gap
00:33:26.480
one of my favorite questions that i was ever asked at a rails girls workshop again something i'd never wondered
00:33:32.240
before they go like they one of one of the uh one of the people attending the the workshop flagged me over like hey
00:33:37.600
ramon i got a question why is it called a div why is the html element called a div
00:33:44.080
and again i guess because i had been in it for a while in the in the game of
00:33:49.519
software development for a while i hadn't stopped to wonder why and i didn't know turns out it's divider
00:33:55.919
by the way we learned that together and again
00:34:01.519
using guided questions to help these mentees get to their answers is
00:34:06.559
something that's super valuable and it gives you an opportunity
00:34:12.720
when you don't know something or when you're stuck on something to show them how you
00:34:17.919
with your experience solve that problem one of my favorite experiences i think
00:34:24.480
was two years ago was walk watching um watching west boss's react introduction
00:34:32.480
guide because um in it he left in his mistakes and i
00:34:38.639
loved this because i would find myself following along and being like hold on
00:34:43.919
that looks like a typo is this gonna break and he just kept going and it would and it would
00:34:49.520
indeed break and instead of editing that out as is probably tempting i'd be tempted to edit
00:34:56.639
out my mistakes instead of editing it out he went oh no it's broken let's go and fix it and he
00:35:01.920
showed us how he fixed those problems and he talked out loud as he did it this is something that i really like about
00:35:07.359
streaming as well we no longer have that that that um
00:35:13.359
that ability to to edit out our mistakes and by showing how we solve those problems i think we also have an
00:35:19.920
opportunity to demystify what is mystical um
00:35:25.280
which is just fancy me being silly and fancy just being like to to to really
00:35:31.040
take away some of some of the to not let things just be magic
00:35:37.520
and so and every now and then when a topic comes up that i that i think hey this could be really interesting to go
00:35:43.440
into it's it's a good idea every now and then to check in and say hey how about we go into a deep dive of this concept
00:35:50.400
for example i have in several rails girls workshops just take in an opportunity with my mentee and just say
00:35:55.680
like hey let's learn how an http request works how how does that client-server
00:36:01.280
relationship look like i apologize this drawing is it's i'm i'm working on it i'm i've been
00:36:08.240
working on my drawing skills um but yeah by taking that opportunity to show them and draw a diagram with
00:36:14.720
them and show them hey this is this is how things work you also have that opportunity to also show them resources
00:36:20.160
and games i love games games that can help demystify these more complex subjects for example something i
00:36:27.359
love is this game here called regex crossword uh which is a lot of fun and
00:36:32.720
and helps you learn and get more comfortable with regular expressions and there's a lot of these i'm going to
00:36:38.079
show you a couple um css diner i love css diner so much
00:36:43.839
this is a game that helps folks learn and unders and better understand how to work with complex css selectors so you
00:36:50.720
know you select plates select the fancy plate select the apple that's on both plates and so on it's super fun and
00:36:57.200
there's a bunch of these there's flexbox froggy to help you learn um flexbox which is a css layouting
00:37:04.720
tool um there's not just games of course there's books i keep recommending
00:37:09.760
practical object-oriented design by sandy metz it is one of the best books that i've read on rails um
00:37:17.200
and i don't know where my copy is actually i probably lent it to somebody
00:37:22.400
um and by going on that i think another thing that i want to touch upon with with mentorship is that it's this is all
00:37:29.359
relative the what what the fact that a mentor has more experience in an area
00:37:34.400
than a mentee does not mean that that mentor has to be an expert and i'll explain what i mean in just a second i'm going to tell a story about my sister
00:37:40.640
pilar who attended a rails girls workshop and a few months after that
00:37:46.480
workshop she got called up hey do you want me maybe it was a few weeks
00:37:52.000
sorry she got called up and was asked hey do you wanna do you wanna be a ment a coach a mentor at one of these
00:37:57.920
workshops and pilar said but i just did this workshop a few months ago
00:38:03.200
and and the men and the organizer told us something that i really carry with me to
00:38:08.480
this day and that is that you have the best experience for being able to mentor
00:38:13.760
because you have that fresh perspective of trying to learn and understand what is rails
00:38:19.280
as as a concept nowadays what it is like to learn web development at this point
00:38:24.720
in time and i think having that experience closer to that of newcomer can be extremely valuable and conversely
00:38:32.240
can be applied at a higher seniority level just because i've been
00:38:37.520
developing software for 10 years doesn't mean that i cannot have a
00:38:42.880
mentor-mentee relationship where i'm the mentee and i learn from someone who's more experienced in something than i am
00:38:48.560
it doesn't necessarily have to be someone with more years of experience but just more time and experience at us
00:38:54.160
in a specific area say from in my case graphics programming is something that i
00:38:59.280
could stand to learn a lot more about so i realize i'm going for a while
00:39:05.200
there i'm almost done um i really want to touch upon as fun as it is meant as
00:39:10.480
mentorship is it is extremely important to bear in mind that as humans we have energy limits and we need to be
00:39:16.880
conscious of those because i have found in over time that if i'm doing too much
00:39:23.599
if i take on too many mentees at a time i will not be as effective the quality
00:39:29.040
of my mentorship will suffer so it's important for me as a person and for you as a mentor to take care of yourself and
00:39:35.920
to know and to be aware and respect those those limits that can that are malleable over time
00:39:42.880
so where can i so working so you might be wondering where can i go to mentor folks
00:39:48.720
and here's when i where last couple tips i want to give um find a local organization or event um
00:39:55.359
there's a ton of them here in vienna for example there's the veenkota ko vin koda dojo there's i said lots of there i
00:40:02.880
there's uh lots of rails girls workshop there's railsbridge rust i mentioned a couple of these there's there's also a bunch of others go check
00:40:09.839
them out they're online there's also some locally um one thing that i have been really
00:40:15.839
enjoying um doing over the internet is hosting open advice one on ones that this was
00:40:22.240
something recommended to me to my by my friend jess who um at least when i started
00:40:28.400
i'm gonna say hi hi jess she's here um yeah uh she gave she actually open sourced a
00:40:35.760
bunch of tips and advice for starting your open advice one-on-ones where you can just talk to folks and
00:40:41.520
in and just hear them out a lot of the time folks just want to be listened to
00:40:46.880
um other ways you can do this is by tagging your open source issues if you have a open source project tag some
00:40:53.359
issues if you have the time and of course uh the resources to do so and say hey i would love to pair with you on
00:40:58.720
this i'm available for pairing with you on this issue um lastly it's also totally cool to not
00:41:05.839
lastly sorry um to see if you're check out your if your workplace has an internal mentorship
00:41:11.520
programming a program and if not propose one um one thing that i've been doing for a
00:41:16.800
long time that i also really enjoy is uh this is the term that i got from from my friend joe nash um it's called start is
00:41:24.400
called a community of practice um which is something that i learned about from the book uh building successful online
00:41:31.200
communities so this is this is just a get-together kind of a meet-up kind of like we're doing now where folks just get together
00:41:38.000
and just learn stuff together on their computers bring their own open source project bring their homework bring their
00:41:43.920
bring whatever they're working on and just hang out and code together um we've been doing these online as well it's
00:41:49.760
been a lot of fun that's another talk of mine that i um happy to give sometime
00:41:55.200
um so we started our own it's called study jams it's it's a bit of a misnomer now because
00:42:01.359
it's not a coding community in vienna because right now it's online um and it's incredibly fun
00:42:07.280
um another thing you can do is learn in public oh there's this book i'm gonna
00:42:12.480
recommend it now um it's called working in public the making and maintenance of open source software by nadia agbal it
00:42:19.520
is fantastic and learning in public is something that's because that's becoming quite popular nowadays where you just
00:42:24.960
either stream yourself or write up your thoughts as you go learning stuff i'm told that jess might be streaming soon
00:42:31.760
about herself doing the free code camp um
00:42:37.280
lessons so that's definitely something worth doing and checking out so to conclude
00:42:43.760
as much as i like that definition of mentorship from the beginning i've come to think of mentorship not
00:42:50.240
just as the sharing of knowledge but sharing the joy of sharing knowledge
00:42:57.119
and i highly encourage you if you can if you want to to give it a try as as i hope to have uh illuminated it's
00:43:05.920
regardless of of skill level regardless of levels of experience because all these perspectives matter
00:43:12.560
and so does yours so folks here's the resources i promised check them out i highly recommend the
00:43:19.599
mentorship guide it's open source um there's just jess's open advice one
00:43:24.800
on ones the games the books um and other stuff i just want to say thank you so
00:43:31.119
much for joining me today and uh yeah if you want to get in touch you can write to me i'm at hola soy milk on twitter and um yeah
00:43:40.000
have a great rest of your day everybody thank you so much for a great talk ramon
00:43:46.880
um that was really wonderful so do we have any questions
00:43:54.960
thanks for coming chat which is great uh
00:44:02.560
sorry thank you very much i just realized my headphones were off thank you for having me
00:44:08.640
okay great uh so again maybe i'll start off
00:44:15.040
um i guess you mentioned also taking care of yourself not having too many mentees
00:44:20.839
uh how do you balance what do you choose as kind of too many um do you kind of set a certain
00:44:28.079
amount of time say per month for mentoring activities or per year or
00:44:34.000
something like this yeah different different folks will try different things i know that some folks
00:44:47.760
where they that they do that so i for example try to do that i'll i'll i'll sort of book i'll sort of tell i'll give
00:44:53.359
them um i'll use something called calendly which helps folks um coordinate ointments so you could you
00:44:59.839
could they can sort of pick a slot from your time from your that's synced with your calendar and then you can sort of come to a different time there and just
00:45:06.000
pick a day where you just do a bunch of those um yeah that that's that's what works for me
00:45:15.200
right thank you so have a question in the chat from jess uh can you talk to common concerns or
00:45:22.000
fears that hold people back from trying mentorship ah thank you for the question yeah um
00:45:29.119
totally i think i think from my experience uh so for example in in the story that from my from my sister pilar
00:45:36.079
wanting to go into it i think that i think this this notion of imposter syndrome was really holding her back um
00:45:42.000
which is something that held me back for a long time too um where it was just like why would anybody want to know from from me what
00:45:48.960
do i have to offer i think i think i think it's quite common for us not to
00:45:55.599
really realize how much we've learned how much we how much we can we can offer as
00:46:01.119
um as as mentors um as mentors uh sorry i kind of lost my
00:46:08.800
track i kind of i should i'm reading the chat at the same time my mistake
00:46:14.640
um uh yeah you know i think i think i think a lot
00:46:19.839
of folks will will find themselves thinking like am i good enough or um
00:46:24.960
either that or trying to bite off more than they can chew in terms of in terms of taking on too many mentees
00:46:31.839
at once or i said before trying to talk about topics with a with a certain level of
00:46:38.560
with a certain thinking that thinking that i'm with talking about topics that they might not know all that well
00:46:44.400
um being scared of leaving the bad impressions this is something that that that holds me back a lot as well is
00:46:50.800
having that fear of giving someone advice that might not be all that positive
00:46:57.200
instilling negative habits discouraging somebody i am very afraid of discouraging a mentee and these are
00:47:04.079
things that i think one just has to be aware of when working on a mentor-mentee
00:47:10.079
relationship i hope that answers your question thank
00:47:15.200
you feel free also for not so many so um
00:47:23.040
i guess there's one last question uh from joshua
00:47:28.720
uh how do you find out whether you're actually empathetic we work with things how are we supposed to work with people
00:47:34.960
could i be an npc imposter that is a terrific question um
00:47:42.720
yeah that i
00:47:47.760
don't know i i don't i don't know if i have uh an adequate answer for that from my
00:47:54.079
experience i have in the past found myself thinking that i'm
00:47:59.599
certainly let's say not empath empathic or not
00:48:04.640
empathetic story i don't know what empathetic um where i've thought from myself thinking i i haven't
00:48:10.079
but in certain situations been called out and thought no in fact in this situation you're not exhibiting empathy
00:48:17.040
and in those moments i think i think what truly what truly sets the bar
00:48:23.200
is to take that moment take that failure recognize it in my experience to take that in that
00:48:28.880
failure and learn from it and say wow you know what you're right i was not have exhibiting empathy at this time i
00:48:36.160
will do better in the future and turn that into actionable items that you can then say hey um
00:48:42.559
this is how to be to exhibit that empathy moving forward um
00:48:48.880
hope that answers your question