Everybody Struggles ๐Ÿ˜ข

Everybody Struggles ๐Ÿ˜ข

What doesn't kill you, makes you stronger...cliche, but true.

ยท

3 min read

It's been almost 3 weeks since I started my internship at ChRIS. I thought that I was going to adjust smoothly into my working environment and kick ass. However, I've had quite a hard time trying to fill huge knowledge gaps, the main areas being:

  1. git commands
  2. asciidoc documentation format

##1. git commands I thought I had git and version control figured out because of my previous experience with initializing git repositories and pushing commits to my remote repositories. However, I was proven wrong when I encountered two problems:

  • trying to keep my forked repository in sync with the origin project repository.
  • pushing commits to the right remote URL repository.

After a deep dive on the internet, I found a couple of useful articles, especially one by Jill Cates on How to update a forked repo with git rebase. Her article helped me understand a bit but it didn't quite solve all my problems. I had to put on my big girl pants and ask for help from my teammates. I asked a colleague for his take on the issue. He was very kind and helpful to answer my questions. I also consulted my mentor who offered a better alternative to what I was using. I ended up understanding git even better than before.

##2. ASCIIDOC documentation format If you're a developer, chances are, you've probably heard of Markdown. Well, ASCIIDOC isn't so different from it. It's a text document format that could be used for writing notes, documentation, blogs, and even web pages. I was also supposed to figure out a way to do 2 things:

  • dynamically fetch GitHub wiki pages from the project repository
  • wrap the wiki pages - written in asciidoc, with jsx, sprinkle some CSS styling to make it look pretty, and render it to our site.

I started by googling what ASCIIDOC like a normal developer would, and found a bunch of documentation and articles, but they weren't sufficient to make me understand. So, I went on to youtube to see the differences between ASCIIDOC and markdown, and sure enough, I wasn't disappointed. I found a video by Gevious explaining fluidly how ASCIIDOC works. Now that I fully understood the power of ASCIIIDOC, I was on a witch hunt for a viable solution for my problem. Since the Github API doesn't support fetching wiki pages, I had to find an alternative. I ended up with two options, writing a script to clone the wiki pages into the site or using ASCIIDoctor to generate HTML files that'd convert to jsx.

It's all in your head

I was initially very hesitant to ask for help because I'm usually afraid of what people will think of me if I don't know such "simple stuff", yet I call myself a Software Developer. But I realized that even the more senior developers at work don't know everything. They consult each other about areas they aren't sure about. Different people know different sections of the project better than the others; it's like they specialized in certain areas. Teamwork is what keeps us going.

In conclusion...

One of my core values for this internship period was courage, and I acted despite my fears. Learning all these new capabilities of git that I didn't know before, didn't mean that I'm done. I mean, I still made more mistakes later on and pushed the wrong changes to a branch ๐Ÿ˜…. Anyway, I believe an essential part of being a Software Developer is being willing to learn from mistakes and asking for help when you're stuck.

ย