• Home
  • About
    • Zaycodes photo

      Zaycodes

      An Introvert who loves tech and watching movies.

    • Learn More
    • Email
    • Twitter
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

Everybody Struggles

28 Dec 2019

Reading time ~4 minutes

My internship with wikimedia officially kicked off on the 3rd of december 2019. I had a chat session with my mentor where my project tasks were outlined. My first task was to work on pages that weren’t completed during the contribution period. I started working on my first task and so far I’ve been able to work on three pages, create 3 PRs and currently working on the fourth one. The journey so far has been a lot easier for me, thanks to the reports and resources from my mentor, but that’s not to say that I haven’t encountered some challenges.

Major Challenge Faced So Far

The major challenge I think I’ve faced so far is working with git. I have worked with git in the past but not like I’ve had to within this past few weeks on this project. My issue with git started during the contribution period when I had to rebase my changes with the upstream master, there was a lot of back and forth between me and my mentor because she couldn’t merge my pull request due to the conflicts. All these back and forth and time wasting happened simply becuase I was ashamed to tell my mentor that I had issues with git especially since it wasn’t an issue with the project itself. I thought it would make her look down on me but I was wrong. This issue took me days to resolve and after trying all I could, I just opted to delete my branch and create a clean branch to work on. At that time I was happy and relieved since I had found a way to get rid of the problem, but the truth is I didn’t fix the issue I only found a way around it, which wasn’t sustainable because I can’t keep deleting branches whenever there’s a merge conflict but I didn’t think of this at that time.

I came across the same problem after I started my internship, and since I only bypassed it the first time, I couldn’t solve it, my commits kept increasing trying to resolve conflicts that still resurfaced when my mentor tried to merge, It was like I was going in circles, I was stuck again, and I couldn’t delete my branch again like I did initially so this time, I sought for help from my mentor. We had a chat session where she put me through merging commits, rebasing my branch with the upstream master and from this session I got to see all the errors I was making and fixed them. I also made sure to note down all the commands we used for future reference. And that was how I was able to solve a problem I had battled with for days in just few minutes with the help of my mentor.

Lesson Learnt

Nobody is perfect, just as no man is an Island. I could have saved so much time if I had simply just asked for help from my mentor or the community when I encountered difficulty in fixing the issue the first time, but I didn’t. There is no shame in making mistakes and facing challenges, it’s a something everyone at the top has passed through and can relate to, and the best thing to do when such situations happen is to fix them and learn from them so you don’t make those mistakes or face those challenges again and even if you do or encounter someone else facing the same challenge which is possible, fixing it wouldn’t be a problem.

Another improtant lesson learnt is do not take shortcuts. As a developer, I know how frustrating challenges and bugs can be especially when you are on a timeline, and how tempting it can be to take the easier route which in most cases, is just a workaround and not exactly a solution to the problem. Yeah, it may seem better at the moment but the truth is most times, these solutions aren’t sustainable and can even lead to even more bugs to manage, thereby wasting more time and resources. So my advice will be to ask questions, research and don’t stay glued to your screen for long hours trying to solve the same problem because at some point you start to try the same things over and over again, expecting to get a different result and when you don’t, you get dissapointed. So instead of working long hours at a stretch, take breaks, when you get back you might be able to look at things a bit differently and when you finally fix that bug, issue, mistake, challenge or whatever it may be, document everything. Do not just assume you have known it and can’t forget, be sure to put down your findings so when you or anyone else passes through the same issue, you can pass your solution on to them easily and save yourselves a lot of time.



Outreachy Internship Share Tweet +1