By Usman Haider, Open Source Enthusiast
After just finishing my presentation slides for the Open Source Summit Europe 2018, I am writing this blogpost to document my very memorable experience during this summer with Open Mainframe Project (OMP) Internship Program. The purpose is to highlight value of this internship program for future interns and potential job seekers.
Upcoming Panel Discussion
On Wednesday, October 30 at 2:25 – 3:50, John Mertic, will lead a session titled, “Panel Discussion: Open Mainframe Project: Training the Next Gen Mainframers.” This year, Open Mainframe Project recruited 9 interns to work on six projects including compliance engine, dockerHub development stacks, BoringSSL, Kubernates on Z and Zowe, Open Mainframe Project’s framework that strengthens integration with modern enterprise applications. In this panel session, this year’s interns will present their experience and best practices.
I participated in Google Summer of Code (GSoC) previously. I read about OMP Internship Program while searching for the programs similar to GSoC. After going through eligibility and application process I decided to apply which turned out to be right decision.
I was looking to polish my skills during this summer and wanted to contribute to open source projects. After learning about the Open Mainframe Project internship, I searched for proposed projects on OMP’s GitHub page. The good thing was there were several projects and details for each project like complexity, required skills, and expected outcome were listed. This was very helpful for me in selecting a project as there were couple of projects matching my skills and interests. Unlike other internships programs potential mentors were from different big companies like SUSE, IBM, etc. Sounds great. Isn’t it? Important dates like midterm and final evaluations, amount of stipend, start and end date were all available on the GitHub page. Another good thing the program offers is two schedules to choose from EU (June-Aug) and US (May-Jul). The schedule can vary by a couple of weeks. All this information gives you flexibility and enables you to make a very productive plan for the summer. After some thinking and keeping in view my schedule, I decided that I shall select the EU schedule if I got accepted for an internship.
Selecting a Project
As mentioned before there were very good projects and I selected the “Increase the number of s390x packages in SUSE Package Hub” project because although I had development and very basic software packaging experience. I had never used something like Open Build Service (OBS) for packaging. A large number of developers are using OBS for packaging and many companies are also making use of it. OBS has very active IRC channels and mailing lists for discussion and collaboration. So, I saw this as an opportunity to learn from and interact with experienced individuals and professionals. The information of the potential mentor for my project was also available in case I wanted to discuss the project further. I was very excited as my mentor was from SUSE since it is a very well-known company.
Some prior experience with open source projects and remote work can be very helpful and increases the chances for selection. If you have fixed a small bug or did some documentation even that can be helpful. I would suggest to future applicants to mention all this in the application. Further, it is very important to interact with mentors as well as other students. You can ask for improvements in your project, get some feedback and learn about related technologies. The overall application process was very simple, just an email, and involved answering very basic questions along with development methodology and plan of action. So, I was able to do that easily without any trouble.
I got an email from the project’s mentor to schedule an interview. During video interview the mentor first introduced himself and his job role. Then he discussed project details, milestones and expected outcome. After that, I introduced myself and shared my previous experience with open source projects and skills. He asked technical questions related to skills required for the project. During the interview the mentor made sure that I do not get panicked by keeping the conversation relaxed. After the interview, I was very hopeful that I’ll be selected.
Selection and Kick-Off Call
After waiting anxiously for a few weeks, I got an email that I am selected. I got super excited as I really wanted to work on the project and mainframes. Next, we had a conference call in which all the selected interns and mentors participated. Members from OMP introduced the internship, important dates for the year, and guided how interns can approach them in case of any difficulty. All interns introduced themselves, their past experiences and talked about their projects. I liked this idea very much as it provided an opportunity for a quick networking among all the interns. Emails of all the interns were shared in case we want to discuss anything during the internship.
After the conference call, I contacted my mentor and started preparing for my project. I read relevant documentation, installed the required software on my development machine and created an account at IBM LinuxONE Community Cloud to access the s390x machine. I was all set to start my internship work.
During my internship, I worked on packaging the open source software for s390x architecture. The project involved building and testing Free and open-source software (FOSS) for s390x machines. I got online access to a s390x machine using IBM LinuxONE Community Cloud. I got myself familiarized with Open Build Service, SUSE Package Hub, and worked on multiple server monitoring packages. A total of four students were working on this project and two were on US schedule. Me and Mohit (another intern) were working during EU schedule. We created a dedicated IRC channel for our project and all interns actively participated in the project discussions, progress and related issues in the channel.
The help I received from my mentor and fellow interns was remarkable. My mentor Wolfgang who oversaw my work gave me valuable feedback. He was always there to clear my doubts and gave me clear directions which in turn helped me improve my skills and efficiency. During the work I was able to talk to maintainers of different projects and identified different areas of contributions. I have written a separate blogpost that details my work during the internship. If you are interested please read the it here.
Although internships are meant to gain experience, it is always good to have some associated perks too. There are many benefits for doing this internship including latest technology learning, networking, mentoring from professionals and a stipend. The internship offers a $6000 stipend and a fully funded trip to an industry conference where students can present their work. Participation in such a conference introduces you to big potential employers and technical experts. I also received a very nice backpack as a gift for doing my internship. While writing this I am all set for my visit to Scotland for participating in the Open Source Summit Europe 2018 where I’ll be presenting my work along with fellow interns. I am very excited and see this as chance to grow my presentation and communication skills, professional network and learn about lasted trends open source.
I want to build up on my internship work and continue working on packaging software for s390x architectures using the open build service. For this purpose, I am still in contact with my mentor and related OBS users. I am also looking to further expand my knowledge of Mainframe. Master the Mainframe is also in my TODO list. Further, I shall continue my contributions to open source projects and OMP in whatever capacity I can.
Doing an internship with the Open Mainframe Project has really been a very useful experience both technically and personally. I’ve met (remotely) so many amazing people and learned so much along the way. I am looking forward to meeting new people at the conference too. Certainly, this internship was more than I could have ever hoped for.
I would highly recommend to anyone interested in latest open source technologies, apply for an internship and/or job there, and you won’t be disappointed.
I want to give special thanks to John Mertic, Director of Program Management – Linux Foundation, for his continuous and swift support throughout the internship. I also want to give a big thanks to Linux Foundation Open Mainframe project for a very fruitful summer and wonderful experience.