We kicked off our intern program a few months back and are pleased to welcome our first group of OPNFV interns! They work directly with the community and receive hands-on development experience in NFV. Each intern works closely with an active OPNFV developer as their mentor on a project that suited interest and community need. This blog series aims to showcase these interns and the projects they work on, the mentors who are helping with their professional development, and their experience working in an open source community to help accelerate NFV.
About Akshita (in her own words):
I am Akshita Jha, currently in my final year of a dual-degree course of B. Tech in Computer Science and MS by Research in Computational Linguistics from the International Institute of Information Technology, Hyderabad (IIIT-H), India. I love development and contributing to open source projects. I am also interested in NFV, Machine Learning and Artificial Intelligence. In my free time, I like to paint and love trying out different cuisines.
Currently, I am working on ODL –>OPNFV integration for better automating package builds, adding .deb support to OpenDaylight’s configuration management tooling (Ansible, Puppet) and pre-built images (Docker, Vagrant) and working with OPNFV installers to help them use upstream tooling (upstream/improve JOID’s ODL JuJu Charms, help Compass use Ansible role with .deb/RPMs).
How did you hear about OPNFV and what got you interested in this internship?
I first heard about OPNFV during my internship with OpenDaylight in Summer 2016. As an ODL intern, I worked on creating a .deb package for OpenDaylight. One of the best things about this project was that it enabled OPNFV installers that support non-CentOS scenarios (JOID, Compass) to consume ODL pretty easily, using upstream tools. I attended OpenDaylight Summit 2016 in Seattle, WA where I got a chance to interact with inspiring people from the OPNFV community. We spoke about the scope of ODL–>OPNFV integration and that resulted in this internship.
Can you talk about your experience working on an open source project? Any previous experiences you can share or key learnings from working on OPNFV so far?
I had the opportunity to work with Debian as a Google Summer Of Code intern in 2015 and as I have previously mentioned, as an OpenDaylight intern in 2016. Most of my technological knowledge is due to my experience with open source projects. I feel the best way to learn a technology is to contribute to an open source project that uses that technology. The constructive feedback that you receive on your code from the community helps a lot. In the beginning, I remember being miffed about receiving continuous -1’s on a gerrit code-review! I now understand that the willingness to take that criticism and improve the code is what makes you a better developer. It’s about sharing and learning through collaboration.
Another, amazing thing about an open source project is that you can see the real-life impact of your work. What makes it even more appealing is that the entire source code is ‘open’. Moreover, you are aware of the entire pipeline of the product. And in case of any confusion, you can always reach out to the community for help.
What’s the best thing you’ve learned from your internship?
I have learned a lot from my internship. I was relatively new to many concepts and I found myself asking, more than once. ‘am I good enough?’. But over time I realised that it’s a mental block more than anything else. One step at a time. One small task, one small bug at a time and voila! before you know it, you have the solution to the problem you thought was impossible to solve. I think this is the best thing I learned during my internship.
Who is your mentor and what’s the experience been like?
My mentor for ODL–>OPNFV integration project is Daniel Farrell. He is the Project Technical Lead of OpenDaylight Integration/Packaging, committer to Integration/Test, OpenDaylight TSC member, PTL of OPNFV’s Controller Performance Testing project (Cperf) and committer to the CentOS NFV SIG. My experience with him has been wonderful. From the very beginning, Daniel has been very welcoming. He encouraged me to be proactive and make self-directed choices. He is extremely patient, very helpful and gives excellent in-depth code reviews. I’ve learned a lot from him, be it writing good commit messages or working with complex modules of Puppet, Ansible or Vagrant. He’s someone I look up to. I don’t think I could have asked for a better mentor.
What’s your advice to other aspiring open source folks out there?
I was encouraged by my mentor, Daniel Farrell, to make docs contributions to get started in the open source community. I suggest the same. As new contributors read the docs, you see what’s unclear, what’s missing and what’s wrong. That’s the ideal time to update the docs for the next person.
The codebase may seem intimidating at first and you might think that you are not making any ‘real’ contribution. But trust me, you are. My first ever open source patch was to make a python codebase pep8 compliant! Small contributions help in getting a feel of the larger project.
Also, don’t get bogged down by looking at the required skills for the project. It’s okay if you meet only 51% of the listed requirements. Join the mailing list. Ask questions. Don’t ask to ask. And learn as you proceed.
Open source is a very diverse world. The community wants you to succeed and being self-motivated and proactive really helps. If you are determined to learn, then you are in the right place.
What gets you jazzed to work with open source? (e.g., listening to music, drinking coffee, chatting in IRC, etc.)?
Drinking green tea! Trying to adopt a healthier lifestyle. 🙂
Being in open source allows you to work from anywhere in the world and interact with lots of different people. What have you found most surprising about the open source developer community?
Exactly that! It’s amazing how diverse people from completely different time zones come together to work on one project. New developers join. The community grows. The uniting factor here is the interest and the motivation. The dynamism of the open source world blows my mind. No matter what your interests are, no matter how varied your skill set, you will still be an important part of this thriving community.
What do you want to do next? What is your dream job?
Actually, I am still trying to figure this out. I love the work that I am currently doing in SDN and NFV. Side by side, I am also trying my hand at certain fields that have piqued my interest for quite some time such as NLP and psychology. Let’s see!