Thumbnail image

New Things


The Struggle

When everybody introduced themselves on the first Outreachy internship chat, I was a bit overwhelmed mainly because most people had or were pursuing a computer science or computer science related degree. I have a degree in Quantity Surveying, which means my vocabulary for the last 5 years was construction related. My main courses in University were Building Measurement, Construction Cost control, Construction Contracts and Administration, Structural Mechanics and Strength of Materials (You get the idea).

When you work on a construction site, there are words you have to learn, almost a language of sorts to effectively communicate with the construction workers, the project manager, the engineers.

I am a new developer and new to Open-Source too, basically a newborn in a new career; it is equal parts exciting and frustrating. Participating in a new field means learning the language of the field, adopting a new vocabulary. This means hearing something new and Googling the meaning immediately to figure out what it means. The “What is ——” and “Explain —— to me like I’m five” Google searches are a part of my day-to-day activity.

We had a conversation with all the other Outreachy interns and everybody talked about how they are struggling too, for some the technologies are new, for others the vocabulary is unfamiliar and there are a bunch of abbreviations. While we spoke I started to have a shift in perpective, the fact that I was struggling meant I was trying. Trying for me is showing up everyday and immersing myself in new tech, asking questions, reading, learning, googling, debugging

No one starts out being an “expert”, we all start from nothing. We all learn practise and grow. Plus it’s the third week on the job, not really sure why I thought I’d be an expert in 3 week. The concept is almost laughable.

A few things I’ve learnt

  1. Signing Key: Android applications get signed with a unique signing key. The signed application key defines which unique signature is associated with which application; different applications run under different unique signatures. Application signature keys ensure that one application cannot access any other application except the keys are a match.

    When a developer works on an Android application and builds it locally,

  2. Automated Testing: If you get a new dress made, you have to try it on to see if it fits. If it doesn’t the tailor works on it to ensure it fits. It is basically the same with software, it has to be “tried on” to see if it does what its supposed to do and it meets the set metric for success. However, an application could have many parts, often built on each other (one part could be needed for another part to run) is written with an end-goal, to do a particular thing.