4RD3N

RETURN

ざくん | Z | 21 Sep 21

Understanding

It's difficult to be the judge of my own self. I started seriously learning programming almost two years ago. I had made attempts in the past when I was younger, but I lacked the maturity and drive to follow through when challenges arose.

I enjoy frequenting sites like Hacker News and various Programming Subreddits. I also like podcasts such as Syntax and JS Party. They help me feel immersed in the latest "need-to-know" stuff, and keep me open to differing opinions in the programming world.

It's easy for me to notice all the times I don't understand something, where someone's expertise and experience clearly outshines my own, making me feel small in comparison. A list in my mind starts to bubble up; "I need to know tool Foo, and how to Bar, and I need more experience with Bazz." People like to say, "This is the thing all software developers should know!" And maybe they're right. But wow, the world of software development seems endless. And I have to remind myself that no, it's okay to just focus on what I like.

Of course, I try to pay attention to "industry best practices" and what types of tools and languages might get me a job. I still try to explore things somewhat broadly, but it can be overwhelming at times; and I'd rather be able to sound like an expert in one thing rather than fumble over a little bit of everything.

And, as I talk to some people who've been in the web development industry for 10+ years, I'm shocked to realize--although they know way more than me, there are still some things I know that they don't. I don't mean that oh, my opinion is better than theirs. I mean, there might be fundamental aspects of the web browser that they had no clue about, even though I thought it was fairly standard. But it makes sense. There's just so much that you can't possibly know it all.

And so I realize that it's easy to watch someone nerd out about a particular area you don't know much about, and feel like you're lacking. But then maybe there's something else that you happen to be able to nerd out about a bit, that they can't. And that's what keeps software development interesting to me. There's always something fun and new to explore. It's tiring, but I think I'd be even more tired if I had to do the same thing over and over again forever.

When I look back at how far I've come since starting out, and realize just how much I can talk about, I briefly feel proud of myself. I still have a long way to go, but I'm not completely helpless when it comes to making stuff of value on my own.


I want to briefly leave off with a link to Obsidian.md because I really like it. It's a great tool for keeping notes and making plans that I've been using for both web and game development. I'm sure the website can sell it better than I can.

I've been using Obsidian as a knowledge base for E. There's a folder for gameplay features, but there's also pages dedicated to an outline of the project's requirements, RESTful API routes, user stories, how auth will be handled, and many other things. I also plan on having a folder for writing my reflections after development sessions. I'm hoping it will help me organize thoughts better and improve my memory. One struggle I have is that, after I've made a project, it's very difficult for me to discuss it in detail once a month or two has passed. Now, at the very least, I can skim through reflections before an interview so I can better answer questions as they arise.

Okay, one last thing. The Obsidian Git plugin is my favorite. You can back up your notes with the press of a button. I get paranoid about losing what I've written, but this is so easy I barely have to think about it; I just instinctually press the hotkey whenever I'm at a good resting point. (There's automatic options too, but I still prefer being in control of when everything happens.)


Focus on the things you enjoy, and other details will fall into place.