2018-12-28

The first breakthrough

I knew a quick and easy way to debug my code. When I studied in college, I waited in line in front of my professor's office with other students during his office hours, and he gave me clues to fix my mistakes as soon as he glanced at my printed code. He didn't tell me exactly how to fix them, but he shared with me how to approach that.

Compared to schoolwork, where the person I was asking prepared the assignment, the colleagues at work whom I bring questions to do not always know what I'm trying to accomplish. To ask questions, I should explain what I'm doing, the background, and the problem that I want to solve. One of my managers taught me not to ask questions in a way that wasted people's time. My questions should be well-prepared, and they will help my work and others'.

As soon as my mentor, Michael, gave me a task for the project, I started learning more about the project so that I could ask questions. I carefully read the email from him and tried to follow code line by line. Unfortunately, that didn't immediately help me to come up with questions to ask.

I dreamed that I would prepare my questions in emails and receive answers from Michael and his team. That stressed me out. I only could understand a line here and there, and I could not put together the bigger picture. I was confused. I felt that I lost my words. This was not writer's block, I think. I was frustrated.

During the first week, with the most courage I had, I sent them an email that I didn't have any questions at the time. I felt miserable. I wanted to ask questions, maybe not well-prepared questions, but I really wanted to ask questions so that I could explain what I understood and didn't understand. I felt lost.

However, I didn't just get stressed out and frustrated: I was also studying. I read the material Michael gave me, and I became happy when I found a small piece of information that I could understand. I tried to break through and come out from struggling.

Toward the end of the first week, a light shined through my clouded sky. Michael emailed me that he could talk with me on the phone. At first, I thought that I would like email better than calls because I like writing. He gave me times when he would be available. I had to prepare questions to ask him on the phone! I saw an immediate goal that I might be able to reach.

Michael spent about an hour answering my questions. He also shared with me tips on how to set up a Linux VM in Azure that I can use. I wanted to use the tool! Learning that became the next small target that I could shoot for.

I thought that, when the internship started, it was an assignment without a syllabus. Michael clearly explained my task, but my knowledge was too immature, so he had to hold my hand and nudge me in the right direction.

I am still struggling, but in a good sense. Today, I received answers from Michael and another mentor, Sasha. I hope that I will fix my bugs with their answers and be ready to ask them more questions soon.

2018-12-19

Applying to Outreachy and selecting a project

About a year ago, September 2017 to be exact, I was looking for an opportunity to use my C++ programming skills. One of my family members introduced me to an internship program called Outreachy, which he noticed when someone he follows on Twitter mentioned it. I was interested in a Linux kernel project, but I thought that I should not apply for it because I only used Linux for some small programming projects.

When I was working for a team that answers questions about their software development kit in 2016, I was asked for help with troubleshooting an issue in my application. I could not solve the bug, and I was told later that my application didn't work on Linux because the operating system is case sensitive. I created the application on Windows, and all internal teams were happy with it. When a team that wanted to share it with an external team tried to launch it on a portal running on Linux, they encountered the bug. I wanted to learn the differences between the operating systems, so I purchased a beginner book on Linux to study.

This year, I studied it and was fascinated to learn more about Linux. Right after I finished, coincidentally, a new round of Outreachy internships was announced, but I didn't see any Linux projects listed on their web page. At least, I submitted my initial application for eligibility at the end of September. The application was approved the next day.

I noticed that the number of projects was increasing, so I went back to the website to see other projects. When I completed the initial application in September, there were about 30 of them. Early the next month, that became more than 40, and I noticed that Linux kernel projects were added.

I narrowed down the project list to the ones that had C++ programming for their required or preferred skills, looked for technologies that I was interested in, and read about their mentors. I used VirtualBox Linux VM's, so the Hyper-V projects caught my attention. Because I was a programmer writer, I like to work with or learn from people who can write. As soon as I read about the mentorship style of one of the Hyper-V project's mentors, I really wanted to apply for that project: he prefers reports from his mentee and frequent email interactions.

Fortunately, I was accepted to that project. I am busy learning tools and reading and researching to write code for my tasks.