Instead of encourage people, I am here to discourage you a guy, who started / want to start web development.
The start
At the start your journey, you install either sublime or vscode or notepad++, then you start to make a website using HTML and know that HTML is a HyperText Markup Language. You feel proud of yourself as your HTML page is displayed in google chrome. Then, you color your page with CSS and make your page interactive with alert() and document.write().
framework hell
Slowly, you think you are very good, then you heard of React or Angular and you immediately jump into it. In the blink of an eye, you are overwhelmed. What the hell is Webpack? What is JSX? What is Nodejs? What is typescript? What is npm? What is Sass? Why a simple website need so much technology with weird names?
server-side programing
At the verge of giving up, you heard of database and server. You install XAMPP or WAMPP and then start poking around with PHP. You also play around with expressjs. Then, you are once again overwhelmed. What is composer? What is a session? What is phpMyAdmin and MySQL?
game development
After you learn one or two things, you think desktop application and game development is cool, so you install Unity. Oh my, Object-Oriented Programming in C# (pain in general). You think that ElectronJS is easier and want to give it a shot but because everyone critisize that it is less performant so you give up.
linux
Then, you heard that people keep telling you "I use Arch, btw" and "Vim is the best editor". You watch a few shitpost from Mental Outlaw (on youtube) and decided to install gentoo linux. You are once again overwhelmed. Why so much command (cd, touch, ls, emerge, time, ifconfig, vim and etc.)? Systemd called as soystemd? OpenRC? Init system? GNU and Linux is different? Display server? X.org vs Wayland? dwm vs bloated Gnome?
lower-level programming
Then as you get used to the tty and know how to edit some text in vim. You start to do some C and C++ programming. Although the OOP from C# or Java helps, you still feel overwhelmed. CMake, Ninja, gcc, tcc, clang, llvm and etc.
Maybe you also step on some assembly language and suffers.
Ok I will stop now. All these painful learning + failing + imposter syndrome + mental illness is all because of you decided to install sublime / vscode to create a HTML page.
In conclusion, don't create your first HTML page.
Top comments (12)
Just because something is hard doesn't mean it is not worth doing. Also the advice I keep coming up on is for a beginner to focus and get good at one area while dipping in to others rather than floating between topics constantly because they think the next one will be easy.
Also your knowledge that a topic exists and that the topic is complex is a good step. There are many quotes on the wisdom of realizing that as one learns one knows little still.
azquotes.com/quotes/topics/knowing...
I'd rather work with someone who thinks they nothing than someone who thinks they know everything. The first one is teachable and humble while the first is proud and resistant to learn and adapt.
Even if the individual is teachable and humble, if there is no good teacher, it is still wasted.
Well, I myself really don't know which region should I really take deep dive into it. I only do some coding and stressed out. That is it.
I learnt to code mostly thanks to free content online including Codecademy. And so did many others. A mentor or teacher can help with the right direction and speed up pieces where you feel stuck but you can teach yourself.
The advice I come across on what area to learn is figure out what you want to build that inspires you as one thing (a website, a social media app, a dataviz tool).
And start by learning just enough to do something and apply it ie don't study for 6 months on tutorials and build nothing.
and break it up into smaller pieces. There are plenty of roadmaps out there to keep focused on a topic. You can skip Java, Python, etc. if you want to just make HTML website witn CSS and add JS later.
And if you are into data science then search for beginner guides to that and learn the tools and languages it suggests
Another resource
youtu.be/HfqZHcev-og
I actually want to learn about machine learning but there are really few good quality tutorial about it, everyone just teaches python and didn't teach about the techniques, do you have source for that?
I'll see what I can find and make a blog post about it for you.
Anything in particular you want to do with it like handling audio, language, chatbot, predictions, image recognition, generating art...?
Generating art? I like arts
deepdreamgenerator.com/
Play around with this no code tool and see what other users have made
youtu.be/n7JhRDRK3Gg
Get out of "tutorial hell" by learning from videos for a month and after that no videos, only building and "learn as needed" from StackOverflow etc. Not just learning for the sake of it and forgetting.
I haven't really bothered with mobile apps, game development and low level C++ kind of optimization. I dabble in it but I don't let it my distract from my interest in web dev for browsers and in data science, which are themselves already broad.
So watch videos and articles to be aware of things but learn something if it aligns with your goal to build something or be skilled in that area so you can build more web dev and data science type things in future
Dont walk. You want to walk around like the big professional adults around you. So you try to stand up. Your legs cant even support your body. You dont even know how to get about making yourself straight. Then you hear people saying: Just do it, go! But you cant do it. So much failure day in and day out. You are exhausted every day from trying to the point of sleeping 12 hours a day. So much disappointment for weeks when you could go on all four for the rest of your life and enjoy yourself instead of going through all that suffering.
In conclusion: dont take your first step.
Yea, I am regreting taking my first step