top of page

Guild Diaries #17: November Top 5 Highlights

Hello December and goodbye November! Yes, it's been a while since I last post an entry. I have been busy working on side projects while studying CS theories that I would have learned if I majored in it. Plus, stuff. This is gonna be long.


1. PRACTICE MAKES PERFECT


The biggest highlight in November was definitely putting the theory and coding knowledge I have accumulated into practice. Practice, practice, practice. That is essentially how you become better at something.

ree

So I signed up an account at HackerRank and started the 30 days code challenge. I solve Daily Coding Challenges aka DCC every day. Hence, it's called Daily Coding Challenge lol. I am now on Day 28! And in those 28 days, I can really feel that I have improved a lot. At first, it was tough just getting into it with little knowledge of Java and exposure to coding questions. But it does get better the more I practice!


I realize that to be better at coding, theory is nothing if you can't put it into practice. Just like riding a bicycle - you can watch as many videos about how to ride a bike but, if you never try to ride one yourself, watching 1000 videos will be a fruitless effort.


ree

So around the last week of November, I turned up my practice routine(?) or intensity(?). Basically, I challenged myself to learn Android Studio. Unity was my first exposure to an IDE - well Unity is an engine - but it is sort like an IDE where I have to learn how to use and navigate its complex systems and interface.


In a week, with many many many many many hours of researching solutions and fixing bugs and... those stuff (I really get my hands dirty), I made my first prototype using Android Studio! Yay!


2. OBSTACLES ARE NOT TO MAKE YOU FEEL LIKE YOU LOSE, BUT TO MOTIVATE YOU


So, my next highlight of November is facing obstacles. That's right. Even excellent programmers and software engineers will encounter problems in their code one day so a noob like me should be facing thousands more problems and issues. In fact, if I don't encounter problems while developing a project, that means:


a. The project is too easy and simple, with not enough learning value for me

b. Android Studio is broken and ignores all bugs


But thankfully, a && b == false (see what I did there?) because I encountered countless problems while just making my first supposedly "easy" project. Let me explain what it does in ONE sentence. Here goes.


"An app that receives a user's cvs file from internal storage and automatically sends a batch email from the list of emails cvs."


Darn, that's ugly. In short, a batch email sender. There. Seems simple isn't it? Not for this amateur. But again, this serves as a learning experience which I value a lot. I spent a week on it. And here's some screenshots of the app to celebrate my small victory.


After completing this project, I immediately start on another, based on PhantomMorph's idea. I had PhantomMorph tell me the base functions the app has to do and made a simple checklist on what this app (MarkYourself) is about.


In simple terms, a course organizer that can set goals for a student.

ree

I will spare the details of how much harder this project is compared to the 1st one. But I hope these screenshots can explain how exponentially difficult it is (for me).


Despite the difficulties, ultimately I overcome them and that's what makes coding a truly wonderful skill(?), thing(?) or activity. It has taught me to persevere, even when my head feels like it's going to explode. But it didn't. My head is safe and I learn something valuable while enjoying the process of making something.


3. DON'T STOP CHALLENGING YOURSELF


This highlight relates to the 2nd one. Android Studio is definitely a higher level amount of learning for me than Unity. And similarly, coding competitions are definitely at a higher level of difficulty than my daily coding challenges. But I signed up anyways, nothing to lose. See the Coding Challenges page to see upcoming battles I attempt to conquer.


Anyways, here's the outcome of the first attempt:

ree

Yes, it's terrible, seeing a red streak of failed test cases but if you look closely, the last case passed dramatically, which is to me, a glimmer of hope. Nah.


It's not my level at all, I hardly understood the questions so I knew I have no chance in that competition at all. But it was good exposure for when I get better. That's why I won't stop challenging myself. But maybe find challenges that push me a little instead of too much next time.


4. LEARNING FROM OTHERS WILL GO A LONG WAY


For my most recent projects, I would like to thank the entire world, or basically, people who suggest solutions on StackOverflow. I could not have even progressed an inch without the community's help. This is another aspect I love about programming - it's made of kind and helpful individuals and together, they grow the community to what it is today. Amazing.


So I get tons of help from StackOverflow although some of my problems were sometimes too specific that I could not find a solution. Or it could be that the solution is buried deep inside StackOverflow's "stacks" that I cannot see it lol. But anyways, I watched this video about the human brain. Apparently, the brain is efficient at solving problems by taking previous solutions to previous problems and combing them to solve a new problem. Like a puzzle. Takes pieces of solutions and create a new solution out of them. That's very fascinating to me. And I realize that this problem-solving behaviour also applies to programming. When I cannot find a solution online to a coding issue/bug I encountered, I break down the issue to its simpler form. Then, I search up answers to those simpler problems first. And gradually, as those simple-form problems gets resolved, the big problem is no more.


Again, it is thanks to learning from others and taking the essential pieces of their solutions that helped me learn to become more efficient and a better programmer.


5. LET'S GIT IT!


It's finally the last point. My hands are getting shaky from typing now. Since now, I am practicing my skills and making projects, I decided that it is time to create my Github account. As I knew nothing about CS before, I don't have the slightest clue what Github is or what it even does. Heck, I am not that sure even now. I see it as a social media platform for developers to show off their projects to other people. I can find tons of open source projects there, APIs or even some source code for tutorial projects.


Now that I am building my portfolio gradually, I finally set up my Github account! I can't wait to start adding projects to it.


So I guess the last point is the most concise point. These have been my Top 5 highlights in November as I journey to be a software developer. The goal is still nowhere in sight, but the road to get there is full of beautiful things to see and experience - so I'll enjoy every step of the way!


Let's git it! (Get it?)

Comments


©2019 by Game Guild Studios. All rights reserved.

bottom of page