This is the final post for my Outreachy internship! It’s amazing how far I’ve come these past 3 months. I’ve been exposed to new technologies, new ideas, a new level of confidence =) and I’ve met some really wonderful people. In this post, I’ll be sharing my general experience throughout the period.
Fears
I had some fears at the start of my internship. I first felt like I was chosen by accident and that Outreachy would eventually realize the error and withdraw me! I also felt at different points during my internship that my mentors would realize I couldn’t meet up and have me withdrawn. This thought scared me a lot especially when a bug seemed impossible to fix, but I’m glad none of my fears ever became reality.

Growth
I wasn’t very good in school and that really messed with my confidence. When I faced a challenge that I had no idea how to fix, I’d usually just leave it cause I was sure I couldn’t fix it.
The most amazing thing about this internship for me, was how it got me out of that shell. I met problems I had no idea about, but I actually ended up fixing! That’s huge that is for me! I was determined to understand what I was to do. Sometimes I’d look through scripts like 10 times, google random questions, I just kept trying something until the light bulb effect and I knew what needed to be done. Sometimes though, it wasn’t a sudden light bulb, I just kept making changes till it worked.
My mentors Julia Kreger and Iury Gregory had a large part to play in building my confidence. Sometimes, it’s not that you can’t solve the problem as a whole, you just need to break things down and focus on one thing at a time. Julia always said “wait….don’t overthink this” and then she’d gently guide me through a pattern till I realized what to do. That helped a lot and as I grow in my career, I want to keep remembering not to over-think issues.
This internship was my first real-world use of coding. Before now, I was only writing code for myself and personal projects. It has helped me understand from a high level how things are connected, what my code is actually doing and how this all affects a user. My mentor encouraged me to learn about embedded systems and with what I’ve learnt so far, am able to connect more dots.
My troubleshooting skills have also improved. In this post, you would see that I was having problems reading error logs. First, I learnt to be patient and not assume the logs were just computer stuff unreasonable to humans (I always did). I’ve learnt to take time through the logs, but also how and where to search for errors. I also learnt to test Ansible modules using bifrost – this also gave me some understanding of how a user would apply the modules I was working on.
Communication
The Ironic IRC channel was very helpful in my journey. Due to different time zones, my mentors couldn’t always answer my questions on time but I was encouraged to ask on the channel. I was extremely nervous the first time, not because of shyness but rather fear of the response I’d get. But they replied and helped me out as I needed. Reviewers also gave critical reviews on some of my changes, that helped me understand general programming better.
The chats and questions from other contributors always seemed so ‘smart’ and my questions felt so basic. This was the main reason I was always scared of asking, for fear of looking dumb. But after the first few times, they made me feel a bit more comfortable.
The Outreachy Zulip chat was also very helpful in making me feel comfortable. I got to chat with other interns and mentors from around the world, and hear stories not too different from mine. This always reminded me that I wasn’t alone.
My Contribution
I worked on Ironic’s Ansible modules. I’ve explained a bit about what they are here. As new features were added to the baremetal API, they had to be added to the Ansible modules – this is where I came in. These modules would allow a user avoid repetitive tasks when dealing with multiple nodes. I got to understand the benefits of Ansible for productivity.
In total, I made 9 contributions in total during this period, along with a few tests. You can find all my contributions here. As mentioned in a previous post, I plan on continuing my project, so depending on when you read this article, you might find more contributions after my internship period.
My first contribution is the only one that has been merged so far, while the others are still in review. This contribution was adding new fields to Ironic arguments for creating a node. The other contributions I worked on were mostly adding more node actions meaning a user could do more with a node using the Ansible module. This included node validation, setting provision state, setting boot device etc.
I also created a new module, which was a major win for me. This module served as support for virtual interfaces – to attach or detach a virtual interface from a node.
My final change was support for node traits which are basically attributes (characteristics maybe) of a node. I added the function to set and delete all traits, as well as to add and remove a single trait.
Next Steps
I plan on continuing this project of extending Ansible modules. I loved all of it and I learnt so much in the process. You can see all the features I have to add here. You would see some that I have already added and get an idea of what is left to do.
Finally, I think what Outreachy is doing is so amazing and I’m glad to be a part of it. I’m also extremely grateful to my mentors and the open source community. I’m glad I got to start my career like this.

Leave a comment