summaryrefslogblamecommitdiffstats
path: root/2023/talks/mentor.md
blob: 21b5304558644ec6fdb3b741830b4d732ee58881 (plain) (tree)
1
2
3
4
5
6
7
8
9







                                                                                                                
                                                                                                                         

                                                               





                                                                                                                                                                                                                          
                                                                        





















                                                                        








                                                                       


                        
                                                                   
         
                                                                   
                
                                                                   



                                                                                                                           
                                                                     
                                                                     
                                                                       
                                                                       
                                                                    
                                                                
                                                                  
                                                                     
                                                                    
                                                                   
                                                                    
                                                                      
                                                                      
                                                                        


                                                                     


                                                                       
                                                                      
                                                                      
                                                                       
                                                                       


                                                                   
                                         
                                                                    



                                                                       
                                                             
                 
                                                 
                                                                      
                                                                 




















                                                                                                                                                                                                                                                                                                                                                                                                                                            




                                                              
[[!meta title="Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)"]]
[[!meta copyright="Copyright © 2023 Jeremy Friesen"]]
[[!inline pages="internal(2023/info/mentor-nav)" raw="yes"]]

<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->


# Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)
Jeremy Friesen (he/him) - Pronunciation: JERR-im-EE FREE-SEHN, https://takeonrules.com, <mailto:jeremy@jeremyfriesen.com>

[[!inline pages="internal(2023/info/mentor-before)" raw="yes"]]

[[!template id="help"
volunteer=""
summary="Q&A could be indexed with chapter markers"
tags="help_with_chapter_markers"
message="""The Q&A session for this talk does not have chapter markers yet.
Would you like to help? See [[help_with_chapter_markers]] for more details. You can use the vidid="mentor-qanda" if adding the markers to this wiki page, or e-mail your chapter notes to <emacsconf-submit@gnu.org>."""]]

<https://takeonrules.com/2023/12/03/mentoring-vs-coders-as-an-emacsian/>

Join me as I share some anecdotes and approaches for mentoring other
developers who use tools different from mine; all in service of
furthering a shared understanding, sharpening my own toolkit, and
hopefully helping others grow their capabilities.

Most everyone I mentor has chosen VS Code as their editor; yet I don’t
use VS Code. Our pairing and mentoring sessions are about me being
curious about their habits and modes of operation. I use my journeyman
knowledge of what Emacs can do to help these VS Coders navigate
pathways towards sharpening their skills. I also learn a few editor
tricks from them.

I’ll talk about remote pairing sessions, one-on-one sessions, and
larger show-and-tell efforts; each with the purpose of revealing
potentially different approaches. The idea being that asking questions
and showing alternate approaches can begin to illuminate previously
unknown pathways.

The underlying goal is to ignite in folks a desire to improve their
understanding and usage of their preferred tools; and show
alternatives that might peek further interest in learning and
exploration.

About the speaker:

Jeremy Friesen is a long-time software developer but only recently an
Emacs convert (as of May 2020). For most of his career he has been
writing open source software for educational institutions such as
universities, libraries, archives, and museums. He’s mentored several
dozen developers at his places of employment as well as through
volunteer efforts. He strives to meet people where they are, learn how
they are looking to grow, then working with them to grow; often by
nudging folks to practice and explore their tools.
# Discussion

## Questions and answers

-   Q: re: super-. -- which key do you bind to super? then where is
    meta?
    -   A:mac: ctrl-meta-super---space---hyper-meta-ctrl (caps lock
        as ctrl)
-   Q:Great talk; what's the package you use to make the Org slide?
    -   A: prot's logos, olivetti mode?  I have a minor mode that I
        turned on: 
        <https://github.com/jeremyf/dotemacs/blob/2c5d37c2d0cc3f0433bc4588352bd6bf5bd09460/emacs.d/jf-framing.el#L109-L123>
-   Q: If people do get interested in picking up Emacs because of what
    they see you do, how do you recommend they get into it? 
    -   A: A lot of it comes down to the problems that they're trying
        to solve. I worked in TextMate for a long time, then Sublime,
        then Atom... I chose Spacemacs, and then I chose Doom, and then
        I said, wait, start over, erase everything, start with the
        tutorial. I said, I really want this functionality. Then I went
        and figured out how to do it. Helping ask them, "What do you
        really want to do?" Ex: okay to advise people to go back to
        vim, develop ownership of their editor. **Understand the
        problems they're experiencing,** which tends to be what we
        should do in software development. Take the time to walk with
        them on their journey to understand what's frustrating them.
        Story about a mentee learning to ask questions earlier (not
        focused on navigating editor).
-   Q: I've been using Emacs for about 30 years and I find it really
    difficult to figure out how to help people get started with it. Uh
    ... so I guess my question is the same as the green question right
    above this.
    -   A: My wife a while ago talked about the idea of being in between
        someone who's more informed and someone who's less informed.
        Introducing someone who's new to Emacs might be too hard
        because you're too much an expert. Pedagogy. Sharing what you
        have where you're at will by nature move the entire queue of
        people behind you, will help move them together forward. Not an
        only one person thing, improving shared understanding.
        -   Zone of proximal development; just i + 1 - Lev Vygotsky
        -   It can be very challenging to unwind things. Muscle memory.
            I know how to do it on a keyboard... We've internalized so
            much. Being curious with them and close to them, trying to
            diffuse questions and not ask overly leading questions... 
        -   What is the question that I can ask the group so that I can
            ask the question? ex: not "Why do we suck at sharing
            code?", but before that
    -   I'm also 30 years in (at least) and just recently picked up
        JF's method of only giving away a little bit of the
        functionality of emacs at a time.
-   Q:Have you encountered anyone that are being... "nagative" about
    the fact that you're using Emacs? (Assuming that they just don't
    know/have misconceptions about Emacs and nothing malicious.) If so,
    how do you handle these kinds of people?
    -   A: Analogy with a pen: my goal is to write something, who cares
        about what kind of pen I use?
    -   I want my text editor to flow with me.
    -   I don't need it to multi-thread-- it's just me on the
        computer.
    -   "My goal is to be better at computering."
-   Q: I love the attitudes and worldview that infuses your blog posts
    and your talks this weekend. Learn something every week: it's
    CUMULATIVE. English class was the most important. What other advice
    do you have, and how is it generalizable to those of us who are not
    devs?
    -   A: fountain-mode (package for writing screenplays)
    -   Wonderful answers! Thanks so much!
    -   Broad curiosity (ex: background is liberal arts, very little
        computer science classwork/theory; Lord of the Rings, poetry,
        etc.)

## Notes

-   Presenter blogs at <https://takeonrules.com>
- such valuable work being described
- I wonder if there is still reasons to use ag compared to ripgrep
  - it can search compressed archives better, so I like using it on emacs sources
    - <https://github.com/aswild/the_silver_searcher/commit/7b571a8a94d0e22a06e3313cb0d9672b416fb2c1>
	- yeah indeed, ripgrep shells out and is five times slower than ag
- Hyper modifier is tops. On normie keyboards, I like super, meta, space, meta, hyper. 100% do not regret switching to a split ergo mechanical QMK board.
  - On my work Mac, caps is control, I don't have a super, and it's meta-space-meta-hyper.  But I almost never use that, because the keyboard is deeply unpleasant to actually type on. The sole thing I like better about Emacs on macOS over Emacs on Linux is that it's a oneliner to set the Hyper modifier.  Linux requires delving deep into the forbidden territory of xkb. <https://codeberg.org/ieure/xkbsucks> if you need a guide
  - my mac setup is the same as him but reversed: command is control, option is meta (like him) and control is super cuz i use super all the time. and hyper, like him, is on the right of the keyboard.
- (discussion about fountain pens)


[[!inline pages="internal(2023/info/mentor-after)" raw="yes"]]

[[!inline pages="internal(2023/info/mentor-nav)" raw="yes"]]