As a programmer, I am always aspiring to learn new skills. In this post, I outline my programming goals for 2019.
I have two personal programming goals this year:
-
Become more proficient at “traditional” coding problems like the ones a software developer encounters in interviews.
-
Learn a new language that complements my existing knowledge.
(And a bonus professional goal!)
-
Write a blog and build a personal brand.
A quick bit on motivation
As a relatively new developer (about 2 years of experience at this point), I am beginning to realize just how much I don’t know. Meanwhile, I can see myself already starting to get pigeonholed into my domain at work (Javascript, React, front-end development). While previously I have relied on internships and work to keep my skills fresh, I am beginning to realize that I need to take more personal responsibility for the sharpening of my skills and the development of new ones.
These goals are motivated by what I identify as two of the biggest gaps in my programming knowledge.
-
Being that I come from a less traditional coding background and am not the greatest at math, I’ve always felt uncomfortable around algorithms. Algorithms-heavy classes in University nearly crushed me multiple times, whereby I struggled to complete midterms and assignments that had questions that just felt over my head. As a result, I’ve inadvertently felt inadequate as a developer. To solve difficult coding problems like in interviews is about more than just acquiring skills, I see it as a way to gain confidence and pride in my abilities.
-
JavaScript is an interesting language. And by interesting, I mean that programming in it feels like I’m constantly a few minutes away from my entire codebase exploding into a million tiny fragments that only a google search can reassemble. I just don’t think that programming in this language is very sustainable long-term, nor is it good for my health. Even more hazardous than writing JavaScript on the daily for web apps would be making it my primary programming language gasp (it’s already happening). This is why I want to learn something new, robust, and versatile.
Cool, what now?
Here’s what I’ve chosen to do to address my goals:
-
I am going to solve problems on Leetcode.com in Rust and blog about it here!
Pretty simple right?
Why Leetcode?
Leetcode seems to be the place to be for answering “interview” questions. I hope to become proficient at solving a large variety of algorithm questions using this platform. They have premium services and resources that I may consider investing in someday.
Why Rust?
Rust looks like a dope programming language! This is what I find appealing about rust:
- It is strongly typed
- It is low-level enough to have access to system resources (and great performance)
- The compiler is very stringent
This last point should hopefully stop me from shooting myself in the foot.
Know what else is sweet, especially for a web developer: web assembly
Why blogging and WordPress?
I think it would be really beneficial for my own learning process to have a clear document of what I’m learning as I embark upon this journey. In the beginning I want to stay focused on the content so I’m going to keep the customizations to a minimum and the design simple for now.
Finale