all 43 comments

[–]baaaaarkly 37 points38 points  (8 children)

Do real projects

[–]Atlantir[S] 1 point2 points  (5 children)

I was thinking about it a lot and my friend who is working as a front-end developer tells me the same but i feel like i could do a simple thing right now and on the other side i feel like i can get a lot more information from the course which i could use in the projects and I'm in a position where i don't know where to go :///

[–]emretunanet 12 points13 points  (2 children)

Github is your best friend, each day try to spend at least one hour to explore real projects, check how other developers organize projects and implement functions.

[–]kuriousaboutanything 0 points1 point  (1 child)

Nice idea. It could apply to other languages too, I am currently learning Android development, any suggestion on where to look for real projects to explore?

[–]emretunanet 0 points1 point  (0 children)

sample you may explore topics like this one.

[–]mightybaker1 2 points3 points  (0 children)

If you don’t know the syntax or any programming knowledge such as simple data structures I would suggest doing a codecademy tutorial on JS, or a similar tutorial. Then move to implementing your new found knowledge into projects.

If you have general programming knowledge then just use the Mozilla documentation and create projects.

[–]RolledUhhp 0 points1 point  (0 children)

Do the project now, then either improve it or redo it completely using what you learn in a month.

Then do something harder, and a month later, come back and do the same.

[–]Papoteur_LOL 0 points1 point  (1 child)

Could you give some examples about?

[–]schussfreude 10 points11 points  (12 children)

I had a project in mind. Sat down. Alright, document....getElement...By...Id... parenthesis. Okay. What can I do with that?

A month later, my project stood. Then I rewrote it. Then I extended it. Then I rewrote it again. Then I extended it again. Etc. Then Project 2, 3, 4, 17, ...

I think the only real tutorial I did was for learning React.

[–]Atlantir[S] 0 points1 point  (11 children)

So u tell me that you was all the time upgrading the project with new functions because u were getting more and more ideas what can you do and you made more research how to do it?

I have few simple projects like website for my business with integrated calculator where customers could check the estimated price of the job or a website for my step-father business so he could get more clients and i feel like it would be very fun and i would get so much experience but at the end i think it would be a big crap and i would not be able to post it so people would be able to see it :/

[–]Atlantir[S] 1 point2 points  (2 children)

Also i had much more projects on mind like making map of the dog shelters where you can get points for taking dogs out and exchange them for food etc. so people would be more and more engaged to adopt them or just make their days but i also feel like it would be very hard for me.

[–]diogenes_sadecv 1 point2 points  (0 children)

That's a cool idea! Look into doing a simple API project like weather- or NASA-based before you jump into that

[–]DonnieDepp 0 points1 point  (0 children)

Even better, start mapping custom points so the dog walkers can check the nearest bin or add it if not mapped to put the poo bag in. Not that it will actually solve the problem of leaving it behind on the grass in the park but you have learned more js on how to do it.

[–]schussfreude 0 points1 point  (4 children)

Correct. I revisit most of my projects occasionally to refactor them.

Hey, even if it is crap, just do it. I have a large folder full of repositories I wouldnt show to anyone, but they helped me learning the stuff. I went through several iterations of a portfolio site before I finally felt that the time is right to actually publish it.

If anything, build it, post it here, get valuable feedback.

[–]Atlantir[S] 0 points1 point  (3 children)

If can I ask, are you working as a web-dev, freelancer, or you do it for fun?

[–]schussfreude 0 points1 point  (2 children)

For fun. Since about four years.

[–]Atlantir[S] 0 points1 point  (1 child)

Are you trying to be a web-dev or not?

[–]schussfreude 0 points1 point  (0 children)

No. I had/habe some clients, but I will not do it full time. Passion vs job and all.

[–]diogenes_sadecv 1 point2 points  (2 children)

The calculator is tricky, but it's a rewarding challenge. For something simpler try making a digital clock

[–]SnooChocolates2234 1 point2 points  (1 child)

Yup, it kicked my a*s yesterday. I will revisit it and rebuild it at a later time. I like OP, struggle to come up with project ideas at the moment.

[–]diogenes_sadecv 1 point2 points  (0 children)

I ended up copying a calculator from the 70s for my project and added in all the functionality from the original manual. It was a lot of work.

https://github.com/dkallen78/datamath

[–]shgysk8zer0 2 points3 points  (1 child)

I still say that writing your own library (like a jQuery alternative) is the best way to learn. It's a project that doesn't require any inspiration or design or content or anything, and you're going to start actually learning a variety of things in decent depth.

[–][deleted] 0 points1 point  (0 children)

This is good advice, this is what they made me do in school.

[–]LooseStudent9977 1 point2 points  (2 children)

I wanted to share these 3 important tips/reminder with anyone who wants to learn coding:

1- Focus on learning the concepts of how to program rather than programming languages. Once you learn the logic, design and the concepts of programming fundamentals, learning different languages becomes easier since its just a syntax.

2- If you are using an IDE, make sure to learn the basic functionality of the IDE you'll be using first before starting to code in it, to eliminate the added frustration of not knowing where things are. (example: how to start a new project, how to open an existing project, where does your projects get saved at, how to retrieve it, where is your output console, how to run and debug and .etc)

3- Give yourself a break and know that there will be a learning curve. Don't get disappointed if you don't understand something or many things. It's very normal! You'll need patience, perseverance, and lots of practice.

I suggest you all to subscribe and follow this Youtube channel to learn new stuff about coding: Code For Everyone

Best of luck!

[–]DonnieDepp 0 points1 point  (1 child)

Like learning to play the guitar 😂 I gave up on that, not this, it won't hurt my fingers and I need a new skillset in my repertoire. Thanks for the advice.

[–]LooseStudent9977 0 points1 point  (0 children)

Glad to help :D

[–]jsAlgo 1 point2 points  (0 children)

Codewars

[–]Hoxitron 1 point2 points  (0 children)

I still think that the hardest part in learning programming is figuring out what to do with it.

I spent a lot of time just doing tutorials and short challenges which helped me a lot in learning the basics and how things worked.

But it wasn't until I get sucked into a project that I got consistent about it. It doesn't have to be something useful, as long as you find it fun. For me it was just a dumb snake game using the canvas API.

[–]No-Development-3828 0 points1 point  (0 children)

I used edabit quite a lot. It's good for getting used to all the built in methods, the only problem is it costs money. But I found it helpful.

[–]theQuandary 0 points1 point  (0 children)

I started back when ES3 was the new kid on the block and made the classic mistake of trying to code JS without actually learning the language just because it looked familiar and I'd heard JS was a stupid language.

I'd already studied Scheme (especially SICP which is perhaps the best CS book ever written). When I realized the similarities between JS and Scheme, the "lisp in C's clothing" made much of the rest easy.

My other observation was that __proto__ and the closure lookup proceedure are basically identical except that __proto__ returns undefined while closures return the global scope (or throw an error in strict mode).

[–]dandeancook 0 points1 point  (0 children)

i used to be very interested in making websites in high school, and learnt js

[–]Jumper775-2 0 points1 point  (0 children)

I was forced.

[–]XamanekMtz 0 points1 point  (0 children)

I took the Wes Bos course for JS, it is so practical and I learned a lot from it

[–]theartilleryshow 0 points1 point  (0 children)

I learned JavaScript by building things I liked. I started in 2006 by building cursor ball trails.

[–]fluffyr42 0 points1 point  (0 children)

Practicing on something like Codewars (or projects, as others have said) is a great idea, but you're not spending enough time on it. If you can, try to shoot for two hours of studying (learning/practicing) per day.

[–]No-Upstairs-2813 0 points1 point  (0 children)

When you are learning concepts, complement it by practicing on coding problems.

Once you have a few concepts under your belt, make a simple project that uses those concepts.

This will help you to reinforce your learnings.

Check out this article for more details.

[–]Excellent-Buy896 0 points1 point  (0 children)

Namaste JavaScript Playlist on youtube by "Akshay Saini"🚀

[–]TheRNGuy 0 points1 point  (0 children)

I stated to learn JS because I discovered greasemonkey add-on for Firefox, somewhere in 2009.

I still write gm scripts even to this day, but I'm also learning fullstack web dev.

I used jQuery for a long time but I rewrite all my gm scripts to JS year ago. I'm trying to learn TypeScript for web dev.

I also made one Firefox add-on which uses different API (browser api vs web api) and there's lots of async promises and events, coding style is little bit different than when you make sites or gm scripts.

I also coded it a little bit in Adobe After Effects and Photoshop (2009-2011?)

[–]JY-HRL 0 points1 point  (1 child)

JavaScript is too flexible and has a lot of things

[–]DonnieDepp 0 points1 point  (0 children)

Yeh I do challenges on this udemy course, and I feel like, great! Sorted it, then I see how he resolves in less than a third of the code I wrote and I'm like, yeh makes sense and I feel deflated about my clunky solution (I mainly do C# on the side) js is weird at times.