Q&A with Tracy Hinds: Improving Education and Diversity at Node.js

278

To increase developer support and diversity in the Node.js open source community, the Node.js Foundation earlier this year brought in Tracy Hinds to be its Education Community Manager. She is charged with creating a certification program for Node.js, increasing diversity, and improving project documentation, among other things.

“We are recognizing the very wide range of users the Node.js space has and trying to make sure they are all taken care of when it comes to learning Node.js,” Tracy says.

Tracy Hinds, Education Community Manager at Node.js
Tracy has been involved in the community from early on and was a major player in helping to grow the Node.js community in Portland, Oregon, through meetups, an early NodeSchool, and NodeBots. She has organized or founded three conferences annually (CascadiaFest, EmpireJS, and EmpireNode) and is the founder and president of GatherScript, a non-profit that provides educational and financial advisement support for technical events.

“This is a really exciting time to get to support and grow all of the communities that have been contributing to Node.js all these years,” she says.

Here, Tracy tells us more about how she got started as a developer and with Node.js, her goals for the year as the new Node.js education community manager, and the best ways for new contributors to get involved in the project.

Linux.com: Tell us a little bit about your background, how did you get introduced to development, then Node.js and then education?

Tracy Hinds: My prior work was in healthcare administration. It was a purpose-filled field, but that didn’t reduce how colleagues and I were constantly frustrated by all the technology challenges that came with the vertical. I was in the field when the industry was adopting electronic medical records. I found myself spending far too much of my day trying to teach my really savvy coworkers how to use really poorly designed software.

I decided that I wanted to start solving these problems instead of banging my head up against them, so I learned how to code. I was mainly self-taught and was first introduced to Python. At the time, I was living in Portland, OR and through connections that I made in the community learning Python, I got my first job programming professionally at Urban Airship.

I was hired as a junior engineer under the condition that I would learn JavaScript. Of course, like in many cases, JavaScript introduced me to Node.js. There was a small, but very enthusiastic Node.js community in Portland, OR, and I went to several of their meetups, spoke at a my first conference (NodePDX), and got involved with organizing various events and helping to build the community through seeing all these opportunities to help.

Linux.com: As a developer that really learned on your own, what advice would you give others to get started with this?

​Tracy: Be patient.​ You’ll be exposed to so much information early on and you’ll be excited to be good at it. It’s so much information to take in and apply. Much of it takes time and experience to learn, not just theoretical readings.

There will be times where you’re feeling like you’re up against a brick wall. That’s okay! As a programmer, you’ll be paid to solve problems you very likely don’t know the answer to yet. You’ve been hired because you know how to approach the journey of finding a solution.

Find a community of people who encourage and support you, and you’ll be setting yourself up for success. No programmer is an island. OSS relies on a lot of wonderful people collaborating to make things work!

Linux.com: How about landing that first job, what are some things that people should be aware of in trying to get a job as a developer that you wish you would have known or that you found really helpful?

Tracy: I’d had friends who were programmers and had insisted I’d make a great one time after time. With the help of so many communities, friends, and mentors, I learned how to program in Python and some basic web engineering. I was unbelievably fortunate through my networking to find a job that was willing to hire me as a junior and asked that I deep-dive into JavaScript as a primary language.  

It’s really important to introduce yourself to people, go to these meetups to try to learn more, but also show that you are open and persistent enough to never stop learning. Developers are problem solvers, so if you show that early on and have the added skill of being able to communicate well (and therefore collaborate), the better. Making those connections, showing that I could keep an open mind while also being a bit stubborn, and being willing to really immerse myself in the world of programming helped keep me on track from a big career switch.

Linux.com: Let’s get back to Node.js, tell us a little bit about what you are doing for the Node.js Foundation?

Tracy: I was hired to be the education community manager at the Node.js Foundation. Essentially what I’m trying to do is create materials that will help introduce developers to Node.js (new developers and those that have been in the field for a long time), help ensure that education is embedded in the process of learning Node.js through documentation, and promote diversity in the community through education.

Linux.com: What are your other goals in creating education opportunities for the Node.js community at large?

Tracy: I have three major goals this year, the first is how to create and provide a certification program for Node.js.

The second is to help build out the diversity of the Node.js community and I believe that education is the best way to do that. I’ve been trying to take a look at what workshops and in-person events exist that help create a supportive, inclusive learning environment so that I can assess how the Node Foundation can support future work. People getting to learn together form bonds and lets down barriers a little, enough so that they are open to making friends through the challenges they are facing. It’s easier to build camaraderie when you’re struggling with the same problem in a NodeSchool workshop or fixing a broken route in a NodeTogether class with a little help. These events draw much more diverse groups underrepresented communities, career transitioners, other language users because they create spaces that are hellbent on being forgiving, friendly places to learn.  

My third is to improve the documentation in Node.js to help facilitate learning. Currently, that means lots of discussions with different types of Node.js users on what it means to improve documentation. I wanted to encourage API docs improvements because they felt sparse. However, the more conversations I’ve had about docs in Node.js, the more I’m finding that our lack of other spoken languages being supported is a huge barrier for folks to level up or even step into Node.js. I can’t begin to imagine how difficult it must be having to translate the essential documentation I would need into the language I speak in order to write code. It’s an incredible barrier. There’s good work being done in our working groups for this, but there aren’t enough folks to support such a big challenge. We need to be smart about how we’d approach this.

Linux.com: What are some interesting things you are finding in creating this certification program, why is it important?

Tracy: Certifications are extremely important to developers that have previous coding experience and are employed by companies who require it for hiring or promotions. When you look at some older technology languages, like Java, they have fairly deep certifications process and plans. Those that have experience with these languages have expectations to have something similar when they convert to newer platforms/languages like Node.js.

Certifications can also be useful for what we see often in the Node.js ecosystem smaller companies and consultancies. It could be an interesting space when a group of engineers can show that they have their certifications and establishes them as competent and potentially more competitive than another group that isn’t quite there yet.

We are having our first meetings with the newly formed Education Advisory Group, which will allow a good representation of perspectives from Node Core, Foundation members, NodeSchool, and the ecosystem to help form the scope of the certification. We’ll move forward with what we establish as tasks a competent Node.js engineer could complete. It’s definitely a work in progress and will take about 9 months to accomplish. We’re partnering with the Linux Foundation to build this out as an in-browser, 3rd-party proctored remote test.

Linux.com: Any sources currently that you would recommend to those that are interested in getting started with Node.js or that might need to brush up their skills?

Tracy: First, Ashley Williams has created a really great opportunity to introduce folks to Node.js and development in general that do not have experience in this space at all. The series is called NodeTogether and for the most part they are held wherever we are having our Node.js Live events. She is looking for those that want to participate and mentors, so definitely worth checking out.

Jon Kuperman released nodecasts.io, which is awesome for folks who like video learning. There’s about 6 courses that add up to a pretty great, free intro to Node.js.

Finally, NodeSchool is filled to the brim with free workshoppers that cover such an incredible variety of essential skills in Node.js. I recommend checking out one of the local events in your area where mentors will help you run through many of these modules, and the website has support for 20 different spoken languages! The NodeSchool community events are so warm and friendly, and the online repo with active organizers is very encouraging and helpful.

Linux.com: You joined the Foundation a few months ago, what are some of the major roadblocks you’ve been able to overcome or key initiatives that you’ve been able to launch or are going to launch (fairly soon)?

Tracy: We are making strides towards unearthing a lot of the really incredible activity that’s been happening in different corners of the world in Node.js and making plans on how the Node.js Foundation can elevate those communities. My strength is in seeing good people doing awesome work and removing their roadblocks by helping with processes that might be standing in their way.

The certification planning is moving forward. The Education Advisory Group is meeting and will have big ideas for years to come. We are recognizing the very wide range of users the Node.js space has and trying to make sure they are all taken care of when it comes to learning Node.js, be it through turning over rocks to find out which problems we can rally to in Documentation or elevating programs that help build out inclusivity and diversity of perspectives in our language. This is a really exciting time to get to support and grow all of the communities that have been contributing to Node.js all these years.