The University Partnership Program (UPP) is a targeted effort to encourage collaboration between the OpenInfra Foundation and universities and colleges all around the globe to get more students involved in open source and build up the pipeline of young professionals in open source.
Meet Ashley
I am a Proud member of the Class of 2021, studied in the College of Engineering at Boston University. Now, I am a Software Engineer working at Red Hat, working on manila service in OpenStack.
How did you get involved in the UPP?
I started working on Manila in OpenStack as part of my capstone project in my senior year, fall of 2020. My primary mentors were Goutham Pacha Rav, Victoria Martinez de la Cruz, and Maari Tamm. Funnily enough, I missed the deadline to choose a project myself, so I was assigned to a team along with Nicole Chen and Mark Tony. I have never been happier to miss a deadline in college, because it led me to work with such a great team and be hired by Red Hat after graduation.
What was your experience in the UPP? What projects did you work on while in the UPP?
The project we started at that time, which has been a recurring internship project since then, was adding support for Manila APIs in the OpenstackSDK. I had a great experience, after some hiccups in the very beginning. There was definitely a learning curve, for both students and mentors. It was my first experience with a real-life product as a student, a software product that is in use across the world. During the virtual expo in May 2021, at the conclusion of the internship, I commented that the highlight of my college career was having my name being included in the list of contributors in the OpenStack Wallaby release.
What was the hardest part about the UPP?
Onboarding during my internship took weeks longer than any of us expected, primarily due to resource allocation. Student AWS accounts got us started by introducing us to devstack and the headache it can sometimes be to set up the first time. That lasted us maybe a month or two, during which we familiarized ourselves with the code by resolving low-hanging fruit bugs and writing up a spec for our project. Mohammed Naser, the CEO of VEXXHOST, graciously offered us accounts to use to spin up VMs and that greatly helped us in getting the actual work on the SDK started. After that it wasn’t exactly smooth sailing, as none of us had worked in the OpenstackSDK previously so it was a learning experience for all of us involved.
What was the hiring process like? How did your involvement in the UPP assist with where you are now?
Now, I am a Software Engineer working at Red Hat, working on manila service in OpenStack.
I like to think that the fates were smiling down on me the day I was assigned to the OpenStack project while in the capstone program. Near the conclusion of the internship, my mentors offered to provide feedback on and to share our resumes with their internal recommendations program at Red Hat. I was happy to share my information, as I had yet to start my job search at the time, focusing more on finishing my studies than looking beyond graduation. It just so happened that there was an opening in the Manila team at Red Hat and since we had such a great experience with the internship, my name was put forth as a candidate. The interview process was pretty quick, though I admittedly don’t have much other experience to draw on. That May, I interviewed twice with who would later become my first direct manager, and with two others, an engineer working on Cinder in OpenStack and a quality engineer, Manila’s own bug tsar. We discussed some of the expected topics: strengths, weaknesses, and relevant course material. It was also a bit of a learning experience for me as I had no notion of what it was like working in the industry before the internship. It was very nice to have the opportunity to ask those questions and get an idea of what it would be like to work for Red Hat, and what my day-to-day could look like, who I could work with. Having the knowledge and first-hand experience of working on the same product as my interviewers gave us some common ground to navigate, and definitely eased my nerves. I started working at Red Hat in June following graduation.
What skills/experiences from the UPP have helped you in your professional career?
Participating in the UPP is what led to my hiring at Red Hat, my mentors recommended me internally to their manager. Beyond that though, I learned some hard and soft skills through the UPP. I mastered git and python, and how to navigate the open source communities and tooling such as ZUUL and IRC. I learned what it takes to be a good leader for a team and how to be a good team member as well, something we start as university students in group projects. Communication skills trump all, without it, it’s impossible to make progress on a product that takes a whole team to put together, and for the product itself to come out well-written, and well-tested.
How have you contributed to the community?
Every cycle since making my first contribution I have participated as a mentor in various internships. Some with universities like NDSU and CMU, and several rounds with Outreachy either as a formal co-mentor, or support for my coworkers who lead the effort. I have also worked with AnitaB Org, as a mentor during open source day and as part of a level-up lab last year. I am a huge proponent of mentorships, as it’s a great way to contribute to the community. It’s an opportunity for a new contributor to gain first hand experience in a safe and guided environment, where they can learn from their mentors personal experiences. It’s a chance to inject new life into the community, something that can only bolster the health of our product. It’s a point of pride for me to say I’ve helped dozens make their first contributions to open source, some who stay in this community and some who don’t but have learned from the experience and used it in their future endeavors.
What are some future goals you have for your involvement in the OpenInfra Community?
My current goal is to become a core maintainer for Manila repositories, manila, python-manilaclient, and manila-tempest-plugin. This would allow me +2 privileges to help move patches along for the community. Core maintainers are an essential part of the community, they have a huge responsibility to their projects in organizing work, pushing reviews, maintaining stable releases, and assuming leadership roles in the community like becoming Project Team Leads. I recently gained +2 privileges in devstack-plugin-ceph from all my work in enhancing and stabilizing our CI, and improvements I’ve made to the cephadm installer. I’ve also gained bug administrator privileges on launchpad to maintain our Manila bugs backlog current and accurate.
What recommendations do you have for others considering the UPP or currently in it?
For professors, I encourage you to propose a partnership and let us work with your students. I would caution that your course should work with the internship itself, whether its a capstone or project oriented course with less coursework so that students can have dedicated time to work with their teammates and with their mentors, or perhaps a cloud computing or software design course where the topics you teach are directly related to or evident in the project they work on.
For students, this program is simultaneously fast paced and slow moving. Onboarding happens pretty quickly as we’ve streamlined the process and provide a multitude of resources to get you started on your project quickly. You hit the ground running so to speak, so you’ll need to dedicate some time familiarizing yourself with the open source tools we use in the community, maybe do some independent research on the features you’ll be implementing. You won’t be alone, there’s an entire community within reach on IRC to ask questions, or request reviews and I actively encourage you to interact with us on IRC, we’re more than happy to help. IRC can be confusing to new contributors, look into using Matrix as a bridge.
Reviews are where things can go slowly. It’s not uncommon to see open patches with dozens of patchsets in its history that have been in the review process for weeks or even months. Your mentors will dedicate time to review your work, and invite core maintainers to review and push your code along, but it’s a whole process. Don’t be surprised if at the end of your internship you have open patches. You’re more than welcome to stick around and shepherd those patches to merge, and even beyond that as a continuing contributor to our community.
For those of you who are currently in the UPP, dedicate one of your meetings with your mentors to sharing and receiving feedback on your resume. OpenStack has an entire page dedicated to job listings with affiliated companies. I encourage you to browse it, and if you’re interested, apply.
- From Student to Full time Contributor: Meet Ashley Rodriguez - May 17, 2024