Haha just kidding 😅
Lemme take you on a flashback
The story begins with my desperate desire to be called a developer. It didn't matter what kind of developer I become, as long as I could build something with code. I was limited to programming syntax and found it difficult to break through the barrier :/ So, I decided to call for HELP. I randomly came across Angela Yu's Web Development course and without a second thought, I enrolled in it.
Before I kicked off the course, I didn't know much about HTML and CSS. The backend stuff was also not my strong suit, so I just went with the flow of the course and let it take me wherever it went.
Whoa! Can you believe it's been over a year developing web apps now? My skill set has gone from zero to hero, and it's blowing my mind! When you invest enough time in something, it's like putting on a pair of magic glasses - suddenly, everything looks different!
Let's look at a bigger picture
Starting out in whatever field in tech is like exploring the never-ending map of Minecraft. There is so much to learn and to keep yourself updated. it might turn out to be overwhelming and annoying after hitting the threshold of brain power to suck up every ounce of information present there. Instead, I would recommend enjoying the process which, I didn't do, haha how paradoxical I'm being here.
Enjoy the process
What do I exactly mean by "enjoying the process"? You don't necessarily need to force yourself to enjoy rather you should focus on tweaking the learning mindset. grasping concepts little by little via project building. This could go in a cycle, you learned something new, just make a project on that or, You made a project which made you learn something new.
Lemme make it clear that I'm totally focused on the web side of things but also will brief about everything else present on the map, just to give a broad understanding.
Here is an example of what an HTTP server looks like without a framework in Node.js --> https://github.com/Blaize15/raw-node
There is a list of never-ending backend frameworks you might look into. Btw I learned Express.js.
Each framework provides its own functionality, some functionality makes it stand out from other frameworks. therefore we need to choose frameworks wisely. For instance, Express.js provides Routing, templating, middleware, etc.
You might know browsers live in noisy and chaotic environments where we cannot guarantee cross-browser compatibility. To have maximum utilization across multiple leading browsers frameworks need to make sure of it.
Module bundler: A module bundler is a web development tool that bundles different kinds of modules with dependencies into static assets.
A transpiler, also known as a source-to-source compiler, is a tool that translates source code written in one programming language (the source language) into equivalent code in another language (the target language). Transpilers are commonly used to convert modern or alternative language features into a more widely supported language, allowing developers to leverage new language capabilities while maintaining compatibility with existing platforms.
Some of the cool-sounding transpilers are :
Typescript - The Grandaddy
Elm - purely functional in case you are wondering.
npm ecosystem to build your native apps.
React Native for Mobile - https://reactnative.dev/
Electron for Desktop - https://www.electronjs.org/
This could be fairly new stuff in front of web developers, but there is a great saying
Dig deeper into whatever scares you the most haha.
$ npm i mqtt
& You are good to create your next IoT product 💥 ( Smile in pain ) 🥲
A mess, How?
Js wizards 🪄🥲
It ain't consistent
I mean there is a billion other way of doing the exact same thing. it has a multitude of frameworks, libraries, and tools for various purposes, such as frontend development, backend development, testing, and build processes. The rapid pace of innovation has led to fragmentation in the ecosystem, with new tools and frameworks emerging frequently. This can create decision paralysis for developers and a steep learning curve when trying to navigate the ecosystem.
Lack of standardization