GopherCon 2018 - The Importance of Beginners

By Ryan Blunden for the GopherCon Liveblog on August 30, 2018


Presenter: Natalie Pistunovich

Liveblogger: Ryan Blunden

Title Graphic: Amy Chen

image

Summary

Natalie talks about the massive growth in the GopherCon community and the need to prepare for and embrace the huge amount of beginners that will become Gophers in 2018 and beyond.


When Natalie first started learning go in 2015, her biggest challenge was that there was not enough online answers. She is thankful to have had people help her online and offline, and the in-person bonding proved to be the most valuable.

Natalie wants us all to "Ask Stupid Questions" and not to be afraid to do so. To not be afraid to look like a beginner.

But how can we help beginners and why is this important?

Go is changing!

Yesterday, Russ announced big changes for the Go language.

The community doubled its size in the last year.

Total number of Go users from last 9 years = number of new Go users in 2018. Lots of people new to the language.

If this trend continues, we can predict over a million new users to be adopting Go in 2019.

With Growth Comes Change

A modern day Gopher is different than a Gopher from years back.

tech-adoption-lifecycle

As Go is entering a maturity phase, people are coming to Go because they are joining teams and companies that are already using Go, not just because they think it's a cool language.

While good ideas will come from smart people who are familiar with Go, new ideas often come from new people.

How do we think about beginners?

  • The obvious repetitive questions.
  • Naive.
  • Require training.
  • Requiring mentoring.
  • Slower and doing things in a less optimal way.
  • Costing people time helping them learn.

It's scary being a beginner. But we were all beginners once.

Being new is hard

Lots of new terms, concepts and ways of doing things, e.g. channels, GOPATH, goroutines.

New communities to become apart of. Gophers Slack, Meetups, Reddit and more.

Being new can bring a feeling of being unqualified.

If you're coming from a job or language where you weren't new, it can be especially hard.

What can make it harder?

  • Being outside the US. Most of tech is US centric.
  • English as a second language.
  • Being a minority.
  • Working at company that can't afford to send you to training or conferences.
  • Being non CS educated as many terms and concepts in the documentation may be foreign to you (its presumed you know them).

Why are beginners important?

  • Fresh perspective.
  • Think outside the box because they don't know the box yet.
  • Fresh points of view (why do we do this?)
  • New critique to the Go APIs.
  • Excited to learn something new.

Natalie's journey with Go and the Go community

  • 2015: Started learning Go.
  • 2015: Took-over the Berlin Go meetup..
  • 2016: Started mentoring and running GoBridge workshops.
  • 2017: Spent a year teaching Go in Nairobi.
  • 2018: Started organizing GopherCon EU

She still feels like a beginner in many ways, e.g. beginner keynote speaker.

She has taken on more responsibility over the years and its hard when imposter syndrome kicks in.

What can we in the Go community do to help?

Only 0.1% of the Gophers are here today (we are the 0.1%).

How can we who are knowledgable in Go help beginners?

  • Encourage Asking Stupid Questions (although no question should be thought of as stupid). This is a good practice to adopt everywhere, e.g. when onboarding new devs in your team.
  • Be patient, e.g. answering the same question for the 100th time.
  • Understand that many people don't work exclusively in Go.
  • Go global. Share your knowledge online, e.g. Gophers on Slack and at conferences.
  • Go offline. Share knowledge at Meetups.

Groups that help beginners

Women Who Go: Group for women and gender minorities of the Go community. GoBridge: Building Bridges that educate and empower underrepresented communities. Community Outreach Networking Group: Conduit between the broader Go community, it s organizers and the Go project.

Organizing Meetups

This could mean proactively helping to organize a meetup. It can also mean providing resources (venue and/or food) for meetups.

Ask:

  • Is there a budget for drinks and food at my company? How can I access it?
  • Can I host an event at my office?

Help people who are looking for a space to host events so that they can concentrate on finding speakers and attracting attendees.

Sharing your slides with the global community

Introducing Go Community Slides..

go-wiki-community-slides

Conclusion

Beginners are the future of the community, let's make the community better for beginners.

You can help by:

  • Improving online documentation.
  • Encourage asking stupid/naive questions.
  • Mix Go with other languages and technologies.
  • Engage in more general tech events.
  • Share your slides with the community.
  • Help out at your local offline community.
  • If you travel, consider offering a talk at the local meetup.
  • Attend smaller conferences.
  • Be future compatible and open for changes.

If you attended GopherCon, hopefully you've made some new friends. If you're at a conference or meetup and you see someone by themselves, ask them to join your group. Maybe you'll be asking them for help one day.

be-excellent-to-each-other

Let's be kind to beginners as they're a huge part of the future of the Go communities success!