Puget Sound Python Programming (PuPPy) is a user group dedicated to proliferating a diverse and talented Python community in the Puget Sound region. Its mentorship program was founded to connect aspiring developers with experienced members in the tech industry.
The goal of this project was to design beyond the early adopters and expand our reach to help more companies meet their sustainability goals.
In 2018, I participated in a hackathon to design an open source, responsive web application to automate the administrative tasks of the mentorship program in the interest of scaling and sustaining its success.
How to create an effective management framework that eliminates the time-intensive tasks and hassle from a mentorship program?
I led the whole UX and UI design process of the responsive web application and worked alongside with software engineers, product owners and a project manager. The free open source application is being built now and you can check the current progress here.
Previously, managing the PuPPy mentoring program has been a time-consuming and low-tech task. It involved manually reading through Google Forms, updating Google Sheets and sending numerous emails. The tedious work has contributed to the high turnover rate of volunteers and it has become burdensome for veterans to keep training new volunteers about the system.
The program owner sought help to build a responsive web application that streamlines the administrative tasks in hopes to alleviate the workload. The open source project strives to become a tool which any tech community can use to start and manage their mentorship programs.
The high level goals were to:
After gathering insights from stakeholders, I began to analyze the UI patterns and mentor matching process solutions from competitors. From the research, I learnt that there are two common ways mentors and mentees are matched.
The most popular method, which is also PuPPy’s pre-existing method, is assignment. This experience is to do the heavy lifting on behalf of the mentees; volunteers manually sort through mentee’s applications and assigned mentors based on their preferences, skill sets and characteristics.
The second method is self-selection where mentees can browse and dive into mentor’s profiles, request to match with the people based on their needs. The new application will adopt this method, where we assert control back to the users on the mentor selection process thus minimizing administrative loads of volunteers
Administrator roles will change from primary to ancillary. They will provide suggestions if mentees struggle to seek the appropriate match. And with the new structure, they will focus on overseeing the overall program operations and act as mediators to resolve conflicts between mentors and mentors when they arise.
Based on the insights and findings I got from competitive analysis, I created personas to cover the three main audience groups that will use the application.
Based on the insights I gathered from the product owner and market research, I proceeded to lay out the information architecture and user flow to cover the primary use cases. The application will be introduced and used in PuPPy meetings, hence the design utilized a mobile-first approach that lets participants to sign up via mobile and allows me focus on the necessary contents and elements on the page.
With the increasing number of participants joining the program in the foreseeable future, there are three design questions that helped shape my design strategy.
After some brainstorming and research, I proposed four key feature ideas: Hassle-free reassignment, Mentorship Pause, periodic status check-in and progressive personal information disclosure to better streamline the overall administrative process and protect the privacy of mentors. Central to the features were these key ideas:
Even with the best effort to find the perfect match, a mismatch between a mentor and mentee can occur. The mismatch may result from difference in areas of expertise, career goals, conflicting personalities, or any number of other reasons. Mentees can discontinue the pairing on the app and administrators will subsequently be notified and step in as mediators to resolve disputes or/and help mentees to identify a more appropriate mentor if desired.
Once users successfully paired with a mentor, I use tooltips as an onboarding mechanism to grab users attention and give users a brief overview of the Pause mentorship and Discontinue pairing features
The tooltip messages are short and concise and they provide users information in a friendly and unobtrusive way. The result aims to be educational rather than unnecessarily disruptive. They help take some of the guesswork out on the button functions.
Besides the feature tour to guide users through the mentee profile page, it is essential to have periodic status check in with mentees every three months to have the latest updates of their mentorship statuses. I believe that such handholding and guidance is necessary for effective mentoring to occur.
The automatic prompts serve as a reminders on the possible overlooked feature and encourage mentees to check on the progress of the mentoring session and take actions accordingly. The tooltips language are designed to have a personal, human tone to get users to pay attention and take action.
It is natural that an existing mentorship will enter the maintenance phase. Another way to promote users to notify the program when the mentorship is inactive is to provide incentives. Since we have a limited number of mentors, all mentees can only be paired with one mentor. And it is common that the challenges the mentees face when they are starting out are different from what they face 2 to 3 years in the industry. Later in the career, mentees might want to seek out different mentors to expand their network or get a fresh perspective and guidance.
If a mentee already been assigned to a mentor and wants to initiate new match, we provide a pop up that is shown explaining the new pairing request is prohibited. There is information that inform them that all mentees can only be assigned to one mentor. In order for them to request a different mentor, they have to pause on the current pairing before they can proceed with the new mentor request. The popup helps users to be accustomed to the idea of “pausing a pairing” and to minimize the user’s frustration. And mentees are encouraged to maintain connections with previous mentors who they can turn to when desired.
The PuPPy matching process will focus on self-selection. It raised the question on how much information to display when mentee is browsing through mentor’s profiles. The application takes privacy very seriously . Before the match, only mentor’s usernames, expertise, introduction are displayed. It does not release the mentor’s full name, slack handler, e-mail information until mentors accept the match request.
Intended to be modern and distraction-free, the style of design places emphasis on important information such as call-to-actions, and contact information.
By the end of phase one of the Hackathon, we completed the core functionality of the product and delivered a presentation to share the prototype with the community.
During the application presentation, we highlighted the major features and presented the vision we have for the application. The project owner was happy with the design and reception of the project is positive. The demo also served the purpose to persuade developers to support its vision and cause.
It was incredibly meaningful and rewarding to design an open source solution that helps the tech community to implement and scale their mentorship programs. This project is especially close to my heart because I graduated from a coding bootcamp several years ago. I remember vividly the frustration and nerves I experienced when I was starting out in the tech industry. And it was the formal and informal mentoring I received from the community that has enriched me on a personal and professional level that help me along the way.
This project gave me the opportunity to not only touch upon some basic user research and I was able to take the project from an early prototyping stage, giving me a chance to not only work in a group setting, but also the whole design process. Designing for PuPPy mentorship was a successful project in more ways than just a completed mobile experience. It allowed me to be part of the effort that helps foster mentorship in the community and provide a means for me to express my gratitude on the embarrassing amount of free pizzas 🍕 I have had in their meetings.