#100DaysOfMERN - Day 53

Subscribe to my newsletter and never miss my upcoming articles

✏ Halfway There (?)

It's been a while since my last post, because I took a month off to finish my homepage. Naturally, that was mostly frontend stuff, I built out some portfolio projects and gained more experience with React. There was no need to include a database or any backend code (creating a functioning contact form with a few lines of PHP doesn't really count), so where am I standing after ~50 days of learning the MERN stack?

It's not really been only 50 days. I learned and coded almost every day, but didn't blog about it each day. Sometimes you spend hours fighting a bug that you just can't figure out, and I see no point in posting a 1 minute read about one tiny little fact. I wanted each post to have some substance.

This one being the exception. I'm just typing away what's currently drifting through my head to get back into blogging mode.

✏ What I've learned about blogging

First of all: Every developer should have a blog. I'd say there's two categories of tech blog posts:

Blogging WHILE learning

Blogging while learning is an amazing way to make things stick, because you don't proceed too fast and really think about what you learn. You also instantly realise where your knowledge still has gaps - if you can't explain it in a blog post, you haven't understood it.

It's questionable how much value such a post has for others, so I call this "selfish blogging". I think I'm the one who gets the most out of this #100DaysOfMERN series, I've already consulted my own blog countless times to look things up again.

Blogging AFTER learning

Once you've gained a lot of experience with a topic, you start "blogging as a service for others". You still get something out of it (otherwise you probably wouldn't be blogging at all), may it be clicks or reputation or just the satisfaction that your content helps others to learn and grow.

As a consumer, I definitely prefer the latter kind of post.

✏ What I've learned about MERN so far

I'll quote myself from Day 1:

By the end of this challenge, I want to be able to

  • set up and configure a server
  • include user registration
  • build/connect to a database
  • deploy a full-stack app

"Being able to..." means that I know what I'm doing when I'm doing it. That I don't have to look up every step, and that I understand what each step is for. It does not mean that I can showcase one project where I "prove" that I'm proficient in the above.

That list is pretty much covered. I can build a backend/API with connection to a database and know how to deploy it to Heroku. User registration (done right) is the most difficult. I'm not 100% confident with it, but I can build it and I know what to pay attention to regarding security.

So, am I a full stack developer now? Not really...

But have I learned tons of new things and tools? Hell yeah.

Coding is hard, progress is slow, so it's important to look back every once in a while, to actually see that progress. When I started this, I barely knew how to use npm or what an API is.

✏ What's my next project?

I'm always most motivated when

  • I build something for myself, something that has value for me
  • I'm not 100% certain yet how to do it exactly, but have a feeling that I can figure it out, so it's a challenge, but not an impossible one

I've two full stack project ideas, both of which I'm going to build next.

The first one: My own private radio station

I know there's spotify and youtube and whatnot... but I'll just ignore that those exist. I want my music to be available for me everywhere, so I'll throw it on my webspace, and to avoid getting sued, it'll only be accessible with a log in. I'll dive into user authentication and authorisation again, and the only user I'm potentially harming through incompetence would be me... so that's sort of fair, I guess.

The second one: Games statistics App

I like board games, card games, dice games. I often play with friends and it would be awesome to have an app for keeping track of win/lose statistics. Every player would have a login, an avatar, maybe a profile - so this goes a little further, almost a mini social media application.

✏ Should I keep blogging about #100DaysOfMERN?

I've covered Node, Express, React and MongoDB/Mongoose. So that's it?

Gaining a new skill happens in two steps - first you learn the theory, then you practice it. How do you write a blog post about the second part? Is there any point in writing about how I set up a backend and database for the umpteenth time?

Of course not. But (full stack) development includes more than just those four letters. You also have to know Git/Github. Once your React App reaches a certain level of complexity, you'll likely need Redux. What about tools for deployment besides Heroku.

So there's still a lot to learn and write about for the next 47 days. Starting tomorrow with:

Advanced Github 🚀

✏ Thanks for reading!

I do my best to thoroughly research the things I learn, but if you find any errors or have additions, please leave a comment below, or @ me on Twitter. If you liked this post, I invite you to subsribe to my newsletter. Until next time 👋

✏ Previous Posts

You can find an overview of all previous posts with tags and tag search here:

#100DaysOfMERN - The App

No Comments Yet