I've been trying to code for the last 2 years. I got to say that it was more of a hobby then a full time commitment as I'm still in high school, but I'm completely lost. Best case scenario, I would like to be able to work as a developer this next summer as a part job. My problem is that I feel like I don't even know how to code, I know Python syntax, HTML, CSS, C#, Git, but I'm overwhelmed by all the libraries and frameworks and this and that. It feels like all I know is useless to create something. I'd want to create a website, but what do I use? Django, React or/and Node.js? Oh I could try using that WordPress thingy I keep hearing about, hell it's something TOTALLY different. I "know" how to code, but I can't find a way through all these resources, it's overwhelming.
From this, I have a question: How to "learn to" code in 2019?
This is a rant and a cry for help, SOS.
Sincerely yours, Jay
Top comments (4)
The tech world is so massive it's impossible to know everything, remember that. If what you want to do is make websites, take it one step at a time! First make a static site with just plain HTMl, CSS, then maybe another with some client side javascript for cool animations and whatnot. Eventually you can try adding a backend with some framework like Django or Node. Take your time! It's all about being exposure and focusing on the fundamentals.
The funniest part is everyone feels the same, given the pace at which industry is moving. But..there are few things you can try do in the first place..
1) Don't even entertain the thought that don't serve you. For ex: thinking "I don't know how to code is not something that will help you". Instead focus on what is the smallest part I can do/learn/perform in order to move forward. No matter how small that is. It will give you confidence that you can learn and get better. Just focus on making progress.
2) Be ultra specific about what problem you are trying to solve. Write it on paper if possible. Now work backwards to write the steps needed to solve this problem. It's not important how many steps.. may be 100 or just 10. But these steps will give you an idea how far you are from solving that problem. Also you will develop a mindset of breaking down bigger problems into smaller pieces. This is valuable skill in software development.
3) You must know the why of everything you do. So before picking a technology, programming language or a tool, understand why you are using it. Can you do it using some other library or plugin etc. This will help develop the reasoning part of your brain.
Django, React or/and Node.js are all frameworks built on top of the core languages.
If you are thinking about learning Django, make sure you know how to write Python well enough.
If you plan on learning React or Node, make sure you learn, practice and understand Vanilla JavaScript first. Else you will keep feeling frustrated when you see the code in those frameworks that you don't understand.
Hope that helps!
You're going to learn JavaScript one way or another in web development, which is a decent argument for reorienting towards that. But your existing familiarity with Python can get you started faster if your next project needs to run code on the server (if it does not and you're decently comfortable with the fundamentals of flow control and so on, it might be a good time to learn JavaScript). Either way you'll still need to choose between web frameworks at least, and possibly databases, templating languages, and other such concerns; but right now focus on that first decision, since that's what's going to determine your options.
Assuming you're career-minded, it also probably wouldn't hurt to look at job boards to see what there's a market for in your area.
To quote every other Indian tech-worker I have ever dealt with: "Do one thing".
Pick a project that you need to have working and try making it work, you'll find yourself learning about tools and techniques you'll employ immediately and will get a handle on because you need them. When this project is done to the point of it working for you, start another one. After 3 projects get "completed" go back to the first one and see if you can find some of the bad decisions/ugly implementations/missing features and fix them. There may be a better framework to do what you want that you didn't know about the first time, or a new language to try out.
Jay you said you were in high school; don't stress too much about learning what the hot thing is right now, 90% of it will be out of fashion or found to cause cancer by the time you're old enough to rent an SUV.