From Fedora Project Wiki

Revision as of 19:03, 29 March 2017 by Sartre (talk | contribs)

Contact Information

Name: Armins Stepanjans

Email address: armins.bagrats@gmail.com

Phone no: +371 29231702

About Me

I have been leading development of an open-source underwater robot for the past 2 years(link to the Github page) written in Python and Arduino language. I am in my senior year of high school, where I am taking two CS classes (besides other subjects) — Java based and Python based. I have been accepted to a CS program in a university, where I'll begin my studies next academic year. I want to study computer science, because I find it fascinating how much a programmer can do just with a mind and a computer.

When programming my main source of motivation is interest in learning new concepts and possibility to accomplish amazing things. I've found the most effective organization tool to simply be a detailed "To Do" list written using pen and paper. I stay focused by creating an environment, which facilitates state of flow through minimizing multitasking and distractions.

Why I Want to Work with Fedora Project?

I want to work with Fedora Project, because I have been using the desktop version for long time, but I have had hard time figuring out how to begin contributing to the community. Therefore, I see this as an opportunity to give back to the community that has given me a lot. After GSoC I would like to further work on Directory Services and I see work on administrative tools for 389 Directory Server as a spring board for my further work on Fedora Project.

Why I want to Work on 389 Directory Server?

I am interested in developing the Python administration tools for 389 Directory Server. As I understand the goal of the project is to update the DSconf functions from Perl to Python language (or for some to create from scratch). Therefore, my personal end deliverable from this project would be two DSconf functions written in Python. I find this task especially important, since it will facilitate further contributions to the project, because of Pyhton's popularity. Regarding my related experience to this project I am currently leading development of an underwater robot, for which majority of the software is written in Python, I have also contributed to Histogrammar Python library and have completed an internship in web development company, where I refactored RSpec unit tests. I have worked on personal projects involving LAMP server, but I don't have much networking experience beyond that.

By completing this project I want to learn how to effectively code as part of a team (how to give and receive code reviews, adhere to style project's style guidelines and document my code). I also want to learn how to design code dealing with large quantities of data and how to ensure efficiency of an implementation, because I am interested in professionally data analysis.

Project Schedule

I plan to familiarize myself with 389 Directory Server during the community bonding period (May 5 - 30) and discuss with my mentor which two DSconf functions I can work on during the coding period.

Then I plan to spend the entire month of June working on first DSconf function, which I will have selected during the community bonding period. During this period I will focus on keeping close communication with my mentor and the community to make sure that my work adheres to the standards of entire project.

After I will have finished work on my first DSconf function, I will submit it for review, review the work of others and make modifications to my code accordingly. I plan to spend a maximum of 10 days on this process.

Then from 10th July until 10th August I will work on my second DSconf function with a similar approach as employed with the first one, while using the feedback received from my first function to improve my general workflow.

After finishing the second DSconf function I plan to spend the last 10 days of Google Summer of Code on giving reviews for other people's code, submitting my code for review and improving my code according to those reviews.

Why You Should Choose Me?

By choosing me for this project, you will gain a dedicated partner to further development of Directory Server and Fedora Project in general. While I do realize that I might be considered as 'fresh' in terms of experience in this field, I have substantial experience programming as part of a team by working on an underwater robotics project and refactoring code in an internship, I work well with projected deadlines, whether it is a school Computer Science class assignment or a team project and, most importantly, I am highly motivated to learn and work hard to effectively contribute to the team.

Personal Plans

At the beginning of the May I have exams and on the second week of May I will be visiting CERN laboratory, however during the rest of May I will be able to actively collaborate on the project and during the summer months I plan to work on this project for 8 hours per day, five days a week.