Everybody Struggles

A week into the internship, I felt like giving up. In an attempt to regain my motivation I reached out to my mentor Philip Chimento, to find out about his experience. Surprisingly, he faced challenges too. My journey as a programmer has often been met with me trying to find out if I was meant to be on this path or if I had to do something else(obviously because I found myself taking so much time to grasp some concepts). Three weeks spent as an Outreachy intern @GNOME has thought me that everyone, experienced or not struggles. Today I will be sharing a challenge I faced.

Adding context to the discussion that follows, GNOME JavaScript(GJS) is a JavaScript interpreter based on Firefox’s interpreter. My internship project is Improving on the debugging experience of GNOME’s JavaScript Engine. Currently, I am working on adding the backtrace full command to the debugger. This command prints out information about a stack frame together with it’s local variables and their values, helping users to be able assess why a program crash occurred and also coming up with a solution to the crash. When this task was first assigned to me by my mentor, I didn’t know exactly where to start. I read the issue description on gitlab countless times but it was just so confusing. I also went through the link that was added in the description but realized that there was some background knowledge needed which I didn’t have. I didn’t feel comfortable asking my mentor things which in my opinion were expected of me. I spent some time researching on the terms which were used such as “stack frame”, “backtrace full” and “backtrace”. With some understanding of these terms, I could now ask my mentor some questions with regards to this issue. After our conversations and going through the resources he shared with me, I was able to get started on the issue.

Here are a few points that helped me overcome this challenge as well as others I have encountered in the past.

  1. Consistency. Consistency in software development(programming in particular) is a habit you cannot do without. The more consistent you are, the more familiar things get and the easier they become too.
  2. Company. The phrase “you are the company you keep” really does apply in all aspects of life. Surrounding yourself with people who can motivate you to work harder is a plus. When you are tired or bored, you can find them all motivated and high spirited. This can encourage you to keep trying.
  3. Mentor-ship. The opensource community is so big today because so many people have adopted the habit of giving back. With the opportunity given by Outreachy, some of us are chanced to be mentored by people who serve as a great motivation. Finding a mentor who is willing to sacrifice their time to help you get better is one of the best ways of coping with your challenges, getting over them and finding long lasting solutions.
  4. Don’t be shy. Most people have inferiority complex when they feel like they do not know something and are often scared of asking “stupid” questions. The truth is there is no stupid question especially when one is eager to learn. The best approach is usually to come forward with attempted solutions so that the person helping you out should know that you tried hard before not succeeding. That way they will feel more comfortable offering their help knowing that their efforts are not going to waste.
  5. Usually, when you are stuck, the best thing to do is change your activity- maybe go for a walk or take a nap. When you get back to looking the devil in the eye(I call my challenges devils), there will be a new approach you can use to win.
  6. Research. The internet is a world of information which if used rightly can help us solve so many problems. If the task you have to do is not so urgent, spending a few hours doing some research online usually puts you on the right path.

These steps just help you reach the milestones and it is necessary to remember that there will always be challenges. The way forward is to understand how to get pass them rather than stay stuck and stay discouraged.

One thought on “Everybody Struggles

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s