“In the beginner’s mind there are many possibilities, in the expert’s mind, there are few.” –Zen master Shunryu Suzuki
One of the responsibilities of teachers of beginning programmers is to answer the question “What do I do next?” Possibly even more importantly, experienced coders should pause for a moment the next time they are in a position to answer a beginning programmer’s question, and carefully consider how that beginner will feel when they hear your answer.
That’s a key takeaway from the most recent New Relic FutureTalk — held Monday evening, May 12, 2014 in our Portland offices — featuring Selena Deckelmann, data architect at Mozilla and long-time mentor to beginner programmers. (A video of the talk, called What Beginners Can Teach Us, is embedded below.)
As a core contributor to PostgresQL, Selena is deeply invested in getting more people started with programming, and encouraging those new junior devs to contribute to open source software. Part of this requires that the open source community create a welcoming environment that gives new devs a way to contribute that’s compatible with their skill level.
For more on Selena’s views, see our pre-talk Q&A with Upcoming FutureTalk Speaker Selena Deckelmann
Selena acknowledges that a fundamental part of programming is the rollercoaster of elation and despair as you find new things to learn and also confront challenges that threaten to derail your perseverance. In order to keep beginners from abandoning programming or open source altogether, the community needs to find ways to welcome and support them. One goal: Help them keep their confidence above the level of “minimum viable despair.”
In her FutureTalk, Selena explained how we can better tailor educational environments for beginning coders, drawing from her own experience running the PyLadies Python workshops in Portland, which she founded in 2012. Here are five of her key suggestions:
- Pair students together: the best teachers are those who just learned a skill
- Make Sure to provide all the resources a student needs to succeed
- Build levels of increasing difficulty into tasks
- Engage students by using a 1:3 ratio of instruction to doing
- Give beginning coders a support network to fall back on when they hit the inevitable roadblocks
Finally, Selena noted that teaching new programmers isn’t a one-way street. She claimed that her many years of teaching beginners, has taught her to write better code, create better docs, and enjoy a better perspective.
You can follow Selena on Twitter @selenamarie and on her blog at chesnok.com.