Everyone Struggles

Learning can be hard! We may struggle to understand something. We may make a lot of mistakes when we practice new skills. And that’s okay, because


I am almost at the end of the third week of my Outreachy internship and the journey has been nothing but phenomenal so far! I’ve learned so many new things! Outreachy has been a journey filled with learning for me, right from the contribution period. This was my first time contributing to open source and was confused by a lot of things.

Though I have sufficient knowledge of all the required technology stack like Git, JavaScript and Python. It still took me few days to understand what was going on in the community “how the open source contribution works”, “how to make the first contribution” and the list goes on..! To get started, I joined the GNOME matrix channel, introduced myself and started interacting. All the community people were really helpful and suggested me some issues to start with(basically to gain the confidence) and then slowly guided me towards some more technical issues.

Talking about the vocabulary term, Do you know what AST is? Because I didn’t. It scared me at first. My first response after hearing this keyword was “What!, Another thing to add in the list of unknowns.”. Later it turned out to be a familiar word from compiler design.

Let’s see what Abstract Syntax Tree (AST) is!

Structure of Abstract Syntax Tree

An abstract syntax tree (AST) is a way of representing the syntax of a programming language as a hierarchical tree-like structure. This structure is used for generating symbol tables for compilers and code generation. An AST focuses on the rules rather than elements like braces or semicolons that terminate statements in some languages.

ASTs are widely used in compilers to check code for accuracy. If the generated tree contains errors, the compiler prints an error message. For example, a tree for a conditional statement has the rules for variables hanging down from the required operator.

I feel a lot of times it’s just about taking a step forward, out of your comfort zone. Things are new to us until they’re not. Sometime, It takes time to understand the existing code base and to reach the solution of any issue.

Yeah, there were things that took time and I had to give some extra hours to understand the concepts behind them. There were moments when I got stuck and struggled to make things good in my code. And that’s where the “learning” comes into the picture! Even after trying for weeks, I haven’t solved the issue, but until I’m trying I can solve it.

It’s important to remember that no one starts out being an “expert”. We all start out knowing nothing. We all learn, practice, and grow.

Real knowledge is intrinsic and it’s built from the ground up.

Naval Ravikant

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

Create your website with WordPress.com
Get started
%d bloggers like this: