Ksenija Stanojevic first became acquainted with the Linux kernel community after being accepted for an Outreachy internship. She was one of 14 aspiring IT professionals to receive a 2016 Linux Foundation Training (LiFT) scholarship, announced last month.
After experimenting a bit with the kernel, Ksenija quickly began submitting patches, specifically working on splitting an existing input/output driver to better support a multi-function device (MFD). She is looking forward to learning more about device drivers, and eventually writing her own drivers.
Linux.com: How did you learn Linux?
Ksenija Stanojevic: A few years ago I decided to try Linux and it was surprisingly easy to install and use. Since I started with Ubuntu there were already lots of tutorials online for beginners. Initially I was interested in learning about the Linux kernel but using Linux led me to discovery of new tools such as vim, git, and bash shell.
I started experimenting with the kernel over a year ago when I wrote a simple hello module and loaded it into the kernel. After that I started making simple fixes using scripts such as checkpatch.pl and submitting patches. My confidence grew and eventually I joined the Eudyptula challenge to deepen my knowledge and I started making even bigger changes to the kernel tree. After being accepted into the Outreachy program, I had the opportunity to learn more about driver development and also got to work on embedded ARM devices running the Linux operating system.
Linux.com: How did you get involved in the kernel development community and how are you contributing?
Ksenija: My first interaction with the Linux kernel development community was over a year ago, when I decided to apply for an Outreachy internship. In a short period of time I became familiar with sending patches and using vim and git, tools that were previously foreign to me.
During the internship I worked on splitting the existing I/O driver into MFD with adc and touchscreen parts (patchwork: https://patchwork.kernel.org/project/linux-input/list/?submitter=130571). This was very exciting because I got to work on embedded hardware and test my patches. Also I contributed to the y2038 project led by Arnd Bergmann, preventing the crash in year 2038 on certain 32-bit systems.
I learned a lot by working with the community, especially from comments made by other developers, which are usually very detailed. Every time a patch got accepted I felt happy and driven to continue contributing. I want to learn more about device drivers and make more valuable contributions, and maybe eventually write my own driver. You can see my accepted patches.
Linux.com: Why do you want to be a kernel developer?
Ksenija: I love the idea of making code that will make certain functionality of hardware work and that gives me a sense of accomplishment. That also pushes me to have a deeper understanding of the underlying hardware and I like the challenge of using a wide variety of skills and components.
Linux.com: What is your dream job and how will the LiFT scholarship help you achieve that?
Ksenija: I am currently seeking a full-time position as a linux kernel developer, preferably in open source. This scholarship will directly help me achieve my goals. Apart from giving more job opportunities it will allow me to work in a field that I love and am passionate about.
I want to be a more valuable contributor to the Linux kernel open source community and eventually a reviewer. I believe that hands-on contributing is one of the most effective ways to learn, because it allows interaction with more knowledgeable developers while giving back to the community. This Training Scholarship could help me get closer to that goal. I’m very hard-working, passionate and curious and also make the most of opportunities presented to me.
Interested in learning more about starting your IT career with Linux? Check out our free ebook “A Brief Guide To Starting Your IT Career In Linux.”