
From Novices to Experts: Building a Community of Engaged R Users - posit::conf(2023)
Presented by Natalia Andriychuk At Pfizer, we have over 1500 users with R installed on their machines, along with an R community on MS Teams comprising over a thousand colleagues globally. How can we effectively engage with Pfizer R users and celebrate the successes of this community, while sharing best practices? Additionally, how do we avoid isolated groups duplicating efforts to solve R-related problems across different parts of the organization? To address these challenges, we established the Pfizer R Center of Excellence (CoE) in early 2022. We focus our efforts on bringing together a rapidly growing community of colleagues, providing technical expertise, and offering best-practice guidance. A well-established, maintained and engaged R community promotes an inclusive and supportive learning environment that drives innovation within organizations. Our aim is to help colleagues thrive in their R journey, regardless of their expertise level. During my talk, I will share the techniques we used to build a supportive R community, the tools employed to increase community engagement, and the successes and challenges encountered in building an engaging community of R users. Presented at Posit Conference, between Sept 19-20 2023, Learn more at posit.co/conference. -------------------------- Talk Track: Pharma. Session Code: TALK-1066
image: thumbnail.jpg
Transcript#
This transcript was generated automatically and may contain errors.
Hello, everyone. Thank you for coming. My name is Natalia Andrychuk, and I'm a statistical data scientist at our Center of Excellence. And today I'm here to talk about what it takes to build a community of engaged R users and how we approach this at Pfizer. But first, let me take a step back and answer the question of why building community was important for us.
Here's my favorite quote from Alice in Wonderland. My dear, here we must run as fast as we can, just to stay in place. And if we want to go anywhere, you must run twice as fast as that. And in my opinion, this perfectly describes what's happening in the pharma world when it comes to adoption of R. And I won't be diving into details of why this is happening. I just want to let you know that Pfizer is not an exception, and R adoption happening fast. So building the community, connecting people and their experiences is very vital for success.
So building the community, connecting people and their experiences is very vital for success.
The README framework for community building
But what if we approached building the community like the README file for our project or package? README file is very essential, and I'm sure a lot of you in this room either interacted with the README file or created one. This is the first file that programmers read when they actually approach your project. So let's look at the typical structure of the README file together, and I'll let you know how this translates into the community building terms.
When you open the README file, the first thing you look for is the installation instructions, how to install the package. Is it on CRAN? Is it on GitHub? Are there any dependencies you have to take into account? This is the foundational knowledge you need to obtain in order to move forward with installing the package. You can't move forward without that. And in the community building terms, this translates into establishing the foundation for your community. And to be successful in it, you need to assemble a dedicated team of colleagues who will take on the community building project and will make it their priority.
Establishing the foundation: the R-SWAT team
And we do have such team at Pfizer, and I'm very lucky to be a part of it. And at Pfizer, we have the R-SWAT team. This is our SWAT team. It's part of a bigger RCOE team. And the SWAT stands for scientific workflows and analytic tools. We're very proud of this acronym. We are the internal consultancy group for those parts of organizations that don't have experts on hand. So we are the art experts. And on top of that, we are the professional community builders. Building the community is not our side project. This is one of our priorities. So we have the community building initiatives in our semester goals, and we treat it as a project deliverables. Because if we won't do that, then there always will be the project that's going to supersede community building initiatives, and the process would be slow.
However, it's very important to acknowledge that we won't be able to make the progress that we made without the help of our IT experts. Because we're our community builders, and we need our infrastructure to achieve our goals and the goals of our colleagues. At Pfizer, we use a suite of professional tools to support our projects, and our IT experts support all of them. And the SWAT team works closely with IT to define the best practices. We also have regular check-ins to address any questions or concerns we as a team have and our colleagues have. So we're this connector between our programmers and the IT department. And the relationships we established with the IT colleagues help us to support our community.
Having tools is great, but we all know that we need a proper documentation for those tools. And we needed a single source of truth and a single source of documentation where our colleagues can access all the documentation regardless of where they are in the world at any given time. So for us, the R at Pfizer conference became this single source of truth. So the conference website is an internal website where we host all our documentation, how-to articles. We promote best practices. And this is also the place where our IT colleagues post all their best practices, guides, and information.
And the rule of thumb is, if we get the same question from multiple colleagues a few times, we need to write a knowledge article on it and post it to the conference website. With this, we accomplish a few things. So first of all, we're saving ourselves time in the long run because we're only publishing the article once. Of course, we need to maintain it, but the bulk of work done just once. And then the second thing is that everyone will get the same uniform advice to the question they ask, the advice that we as a team agreed on if this is consolidated in the knowledge article.
Usage: training and keeping colleagues updated
Perfect. We went through the first part of our readme, the foundation part. So let's go back to the typical package readme and see what the next section is. And the next section is usage. So you install the package, and now it's time to dive in and learn whether the key functionality of your package and learn whether the key functions of the package are. And in the community building terms, this translates into creating, delivering, and maintaining proper training for your colleagues. Everyone's learning approach is different, and everybody can be in different places when it comes to their R journey. So it was very important for us to deliver training that will fit everyone.
We all learn programming by doing. Therefore, we create this series of hands-on mini projects where our colleagues can get their hands dirty. So far, we have 13 R projects. Those are the R Markdown files, and each R Markdown file dedicated to a specific topic can be how to create a function or visualize the data. And all of the exercises are relevant to clinical programming, so they're relevant to our colleagues' day-to-day job. Trainees can access those exercises at any given time, and they can perform them and complete the challenge at the end at their own pace.
It's also important to learn from experts. Therefore, we make an effort to, once in a while, invite the expert from POSIT or within our own Pfizer organization, and they can come in and give a training on a dedicated topic. Again, it can be a workflow or a package. And then we record all those sessions. Those are typically one- to two-hour sessions, and then we post it to Microsoft Teams channel. And we have a bunch of recordings, so we divided them into sections. For example, master the tidyverse training sessions are the videos where each recording dedicated to, for example, the tidyverse package. And the R for beginners, those are the videos with the beginner-friendly topics. They're very short videos, actually.
However, we all know that R is moving fast, so you recorded the training today, you post it, and then tomorrow they release the new version of this package or the new function. So we have a couple of initiatives to keep our colleagues updated. In the function of the week initiative, we highlight and we post about the function we want to highlight, and we find it very useful into day-to-day programmer's life. And in the package of the month initiative, every month or every other month, we release a little training, the R markdown for the package of the month that colleagues can download and go through.
We also utilize a form of newsletters to distribute knowledge. So there are two types of newsletters we distribute. Advances in our newsletter is the one that highlights latest and greatest in our community and in our tools, and it's also pharma-tailored, so it's very Pfizer-focused. And in external outreach newsletter, our colleagues who are involved in external initiatives, like FUSE, our consortium, they highlight their group's latest updates, upcoming events, and the working group progress.
Contributing back to the community
Perfect. We finished the second section of our readme, and now let's move on to the last and my favorite part on how to contribute back. So in your typical readme package, there's always a section on how to contribute back, because open source projects, they encourage collaboration and they encourage innovation. And maybe you downloaded the package, you played with it a bit, and then you found a bug and you want to propose the solution, or maybe you would want to request the feature. And in the community-building terms, this is actually perfect as is. That doesn't translate. And I want to emphasize that I notice this is a common misconception, that you have to be a seasoned programmer in order to contribute back to the community.
To prove that this is not true, I want to show you a quick example. This is the issues tab of the GitHub page for the very well-known package, usethis. And you can see there are a lot of issues filed for this package. This package is by thousands of programmers. And each issue has a tag associated. And amongst those tags, you can find a good first issue. This shows that even the most complex projects, that they have tasks that can be achieved and that can be done by beginner programmers. So by picking up this issue, working on it, and contributing the results of your work back, you're helping yourself, you're learning new things, as well as helping programmers who are developing the package and programmers who are going to use this package.
We kept this in mind as community builders when we were creating the initiatives and tools where our colleagues can contribute back. So let's take a look at a few of those.
First and foremost, anyone can join the R and Pfizer Microsoft Teams channel, comprising over 1,100 colleagues so far. It's a great resource for sharing news and answering and asking questions. And sometimes when you're battling the programming issue, it might seem like you're the only one in this world facing this very niche issue. But a lot of times you're not. There's always someone out there who already solved this issue and has a solution for you. Or there's someone who's battling the same issue and you can join forces and look for the solution together. So by asking the question on Microsoft Teams channel, our colleagues are getting closer to solving the issues they have. And then once they build the expertise, they can also contribute to the community, give back, and assist others by answering their questions.
Another great initiative I would like to highlight, one of my favorites, is the Book Club. We established the Book Club earlier this year and we picked an R for Data Science second edition book. And this is a great initiative for our colleagues to collaborate and put the time dedicated to learning new things in their day-to-day schedule. So we initially had 130 people sign up for the Book Club. And our colleagues were divided into 14 different groups. And the geography for those groups spans from North America through Europe to Asia. And we divided those groups so that it's the same time zone and also we have different expertise level in the same group for our colleagues. And each group has a dedicated group lead.
And throughout the time of like working on this initiative and leading one of the groups, we learned that one of the biggest obstacle for this particular initiative is the day job commitments. As the day job commitments increase, it becomes harder for colleagues to join the session and read the book on a dedicated scheduled basis. However, for those teams that became tight-knit and for those colleagues who are very consistent in reading the book and joining the session, even if they haven't had a chance to read the chapter that week, we received incredibly positive feedback and willingness to join Book Clubs in the future.
The Community of Practice event is a monthly meeting where we have two 20-minute presentations followed by 10-minute questions. And this is not an exclusive event. Anyone can get on the schedule and showcase their art projects, lessons learned, and ask for the feedback. The presentations vary in scope to keep all colleagues engaged. And this is a formal event. So the presentations are recorded and they're prepared in advance. So this is one of the ways you can contribute back.
However, there is another one which is informal event. We adopted the Data Science Hangout event led by Rachel Dempsey at Posit. So if you haven't heard of the Data Science Hangout, it happens every Thursday at noon Eastern Standard Time. And anyone from the data science community can join. So please join if you haven't already. So similarly, our internal Art Advisor Hangout happens every other Wednesday. And anyone from Pfizer interested in our programming can join. During this event, we invite a featured colleague. It's our guest. And we ask our colleague different questions. For example, their art journey, what excites them about art, what projects they're working on. And this is the informal event. So all the questions are audience-led. And this is also not recorded, just in case you want to ask interesting questions.
Why community building matters
And here you have it. We successfully went through all of the sections of our readme. And now it's time to summarize why we put so much effort into creating this community and building it. Building a community is like putting the puzzle pieces together. It's hard at times. It's time-consuming, but very rewarding. Because engaged community solves business problems faster in a more efficient way by connecting people and their experiences. It promotes knowledge sharing, collaboration, innovation.
Because engaged community solves business problems faster in a more efficient way by connecting people and their experiences. It promotes knowledge sharing, collaboration, innovation.
And if you are just starting your community building journey or thinking about one, just remember to be patient. We at Pfizer are trying out different formats to keep our community engaged. And some of them are getting traction right away. Others take time to get on track. However, we know that being consistent and persistent and listening to our colleagues' feedback is the key to figuring out what works best for the organization. And with that, I would like to thank you. Please feel free to scan the QR code to connect and view some other resources that I linked.
