A little update

05 Dec 2017

Background Info

It has been a little while since I last wrote on here. Partly because I’ve been busy and partly because I kind of forgot about it. Not that anyone actually reads this, but I like to have little snapshots in time of what I’m doing and what I’m interested in over time.

The real stuffs

So, I’ve been doing quite a few things recently. My birthday was yesterday and I’m now officially 16 years old! It seems like lots of things happen at 16, like being able to drive and minimum work age or something like that. I’m not sure, but it’s certainly exciting. I’ve also been participating in the 2017 Google Code-In event. I’ve done six tasks so far and I like it pretty well.

I’ve noticed that a lot of the tasks are pretty vague in their instructions and could use some touching up and the documentation on many of them is sub-par, but what did I expect? A perfect and active documentation community for every organization? That’s unrealistic and I need to get to understand that jumping into an existing codebase is something that I have to learn how to do, even with minimal support. That’s just how it is in the real world.

I feel kind of bad when I say this, but I’ve been really picky about which tasks I choose. I’ve been limiting myself to primarily JavaScript tasks and minor documentation, while avoiding things that I don’t know. This is definitely the wrong thing to do, as I want to learn as much as possible, but I can’t help but feel some pressure when claiming a task. I’m only really confident in more web-based technologies and not exactly in C++, Java, etc. I recognize that I need to branch out, but it’s just a little difficult to put myself out there, especially when it’s being reviewed over.

I’ve also been reading the wonderful series of You Don’t Know JS on GitHub and really have learned a lot. I wholeheartedly recommend it if you want to get a more in-depth and deeper understanding of JavaScript. The language definitely has its flaws, but I’ve come to learn to love it even more after getting to know it better.

Another thing I’ve been doing is working a lot on personal open source projects (which you can find here), including some npm packages and a chrome extension! Those were all super useful experiences that taught me a lot about different technologies and practices. Oh, and I also switched from Chrome to Firefox Developer Edition with the release of Firefox Quantum.

In addition to that, I’ve been making it a point to try and understand the technologies I use more thoroughly before using them. I have adopted a general rule of thumb to using frameworks and utilities since then: If it seems like magic, then take a step back and try to understand it before using it. You will have a much easier time using the library/framework if you understand its inner workings. tl;dr use a library because you don’t want to make it, not because you can’t make it.

This isn’t to say that you aren’t allowed to use a tool before fully understanding how it works (in fact, I fully encourage learning the tool’s API first and playing around with it for a bit), but rather encourages you to be curious and informed about the tools you use eventually. Basically, if you use React a lot, try to understand the codebase. Don’t try to understand the codebase while you’re learning React, but rather after you’re comfortable with the API.

In alignment with this previous standard for myself, I’ve dived a lot deeper into things like how a computer works at a really low level and have been watching lots of conference talks on many different things. Just a couple included things like machine learning, webpack, the future of frameworks, ESNext and polyfills, HTML 5 APIs, and many more things.

My overall goal is to be a well-rounded developer that is not limited to just one area or skillset. Ideally, I would want to be fluent in multiple languages, not just JavaScript. I don’t want to be confined to one single way of problem solving or thinking, as that just limits my ability to solve problems. Once I feel really comfortable with JavaScript, then I’ll probably try to start learning some other languages. I’ve already played around with GoLang and Rust and will probably continue to more and more in the future.

Oh, I’ve also tried to become a little better at actually designing the web apps I make and making them look good. I’m awful at CSS and I really don’t like it, but that’s only because I’m awful at it. I’m fully confident in the fact that once I know how to use it, then I’ll be a lot more inclined to use it.

Another thing I’ve done is applied to a summer internship in 2018 at Mozilla. I’m not holding my breath or anything, as the chances are quite low that I will get it, but I’d rather try than not. Here’s to hoping for a wonderful experience that I’ll never forget, amirite? clink

Uh, and I found a pretty awesome YouTube channel called Fun Fun Function.

I’m probably forgetting some things, but that’s about all I can think of writing for now. I’m not promising anything, but I might write a little more frequently than I’m doing currently. In a way, it’s nice to know that my articulated thoughts are out there somewhere for people to see.

Until next time, stay curious :)