How do you plan for your projects?

This may need to be moved to another part of the forum since it technically is not a javascript question, but I wanted to get the attention of those actually looking at the coding section. So if I violated the rules, please feel free to move it.

With that being said I feel so overwhelmed…I have gone through a lot of the sections here. Javascript, data structures, refreshed on some jquery, and css, react, redux, and about to start react with redux. I feel like I have a good grasp on the sections here, and when you go through the lessons its not difficult because you are only focusing on one part. However I have not made my own first project yet, and honestly trying to plan it out, and work through it stresses the heck out of me. I was going to do a react app, but I was so flustered on what goes where? Should I put this here? How can I get to that then? That it just pretty much discouraged from me to keep going. Honestly I should trash it and start over

How do you guys plan your projects? I mean even in school 90% of the assignments were done for us, just fill in the blanks really. But when its from scratch I just have no idea where to go, where to start, or anything. I feel dumb for saying that, but sitting at my computer and getting flustered is not helping any

A good starting point would be to watch some videos on how to make a quick example app and follow along. After a couple of tiny projects I think you could try starting the project again with more confidence.

Yeah, most of us have been there. It’s one thing to learn all the building blocks, but then how do you put them together. I liken to learning to swim - you can read all the books about swimming there are but you won’t really understand until you get into the pool and struggle and swallow a little poll water.

So, relax, your confusion and frustration is normal.

I might suggest looking through some youtube vidoes. It might be instructive to see someone do it and code along. Also, if you’ve done codepen projects, you can export them to a zip file that will show you the basic file structure.

Other than that, if you have a specific question to ask, please do. I guarantee there is someone on here who is just as confused but is too afraid to ask. And usually the more specific the question, the better the answers.

As @kevinSmith notes, this is a totally normal feeling that everyone has.

My suggestion is to make something from scratch. Anything at all. The FCC projects are good starting points, but honestly anything will do.

The first thing I built totally from scratch was a little app that played some music and a countdown timer to encourage my sons to get dressed for bed more quickly. I made about 1,000 mistakes and poor design decisions. But the next project was better and so was the next and so was the next…

It’s a cumulative process, and you just have to get started. Honestly, if you want to have someone to bounce ideas off of, feel free to shoot me an email. It’s just my name above at gmail. I’m not an expert, but I’m also currently working on some projects and I often feel confused about how to structure them. It would be helpful for me to have an additional perspective.

I might have to do that! Honestly after going through all these sections, and learning a lot…I thought I’d be able to make some pretty nice applications. Then I sit down and think “what the heck am I doing!?!”

I always say, if you want to write good code, first you have to write a lot of bad code. You’ll make a lot of mistakes and have to start over sometimes. But gradually you’ll get a sense of how to plan things. I don’t think it can be taught (for the most part), it has to be learned through suffering.

1 Like

First of all, don’t judge yourself. If you feel overwhelmed here might I suggest the Odin Project as a starter instead of FCC. Thats what I did and it took me by the hand and hammered a very well thought out coding etiquette in my brain. FCC is great, but coming to FCC with some prior knowledge about S.O.L.I.D principles, closures, scopes, promises, async… made it so much better.

FCC has big gaps in difficulty if you don’t solidify knowledge. Odin projects, you can’t fake it. So it actually worked better for me for the basics.

Keep hustling!

Yes, it’s worth pointing out that FCC is not a comprehensive, hold-your-hand tutorial. It tends to move kind of quickly. Nearly everyone is going to have spots that give them difficulty and need to consult outside sources.

But I always say this is a good thing because this is how the job world works. If you boss asks you to do something, s/he isn’t going to hand you a tutorial explaining how to do it… S/he may not even be a coder and know if it’s possible. You’re just going to have to check google, stack overflow, and the docs and figure it out.

Yes, it’s frustrating. Yes, with practice you’ll get better at it.

3 Likes

Appreciate it all. I guess a big part is I’m trying to do it all out of memory. Which is stupid because I’ve written documentation of all the lessons I’ve gone through. But I keep thinking “if I have to look up something every time then obviously I’m not good enough” that kind of thing. I know developers still use google, and stack overflow all the time. It’s just this stupid mindset I guess. Sounds weird I know

No need to feel stupid…we’ve all been there before. I found what helps me when I feel that way is I actually sit down with a pen/pencil and paper and draw out how I want the project to look. Then I take another piece of paper and while looking at my drawing (as rough as it might be!) I start breaking down each element of my design. I roughly sketch out react components and write down in plain english what I want them to do.

This might not be everyones cup of tea so to speak, but it helps me plan and then I can sit down and start writing code from my notes. It helps me get started anyways :slight_smile:

I also agree with everyone who commented here - YouTube has lots of tutorials to get started on that are extremely helpful. I have watched several of them myself! And lots and lots of practice!! I’ve never written something right and perfect the first time. I have to go back and try it again, and make more edits, and practice some more!

1 Like

Doesn’t sound weird at all. Even the most seasoned programmers have moments of doubt. We’re human after all right? Plus I think a healthy level of doubt and humility can be beneficial. It keeps you grounded and pushes you to improve. The real problem occurs when that doubt becomes crippling to the point where you stop.

As for planning, I personally like to break things down into simplified bits whether it’s brainstorming a layout or a program. As CandiW mentioned, something as simple as drawing with a pen and paper can be massively helpful with visualizing what you’re looking to do.

For programming, there’s nothing wrong with writing pseudo code (I do it all the time). Basically you write in your own words what you want to your script (for example) to do. Break it down step by step and you’ll start to make connections with what you learned:

//I need to target xyz button on the page and listen for when the user clicks it

//I then need to take this given value and check to see if it's higher or lower than this other value

//if the value is higher do this

//if the value is lower do this

//Finally I need to output the given response back to the user

Which gets you thinking “Okay, how do I target a button and make an event listener?” “How do I check a value against another?” “How do I execute something based on a condition?” “How do I return a value and display it to the user?”

And feel free to use the hell out of your notes, in fact keep writing and using them. The more you work with all these concepts, the more apparent it will be when to utilize them. And when it doubt, ask. You’ve got a forum full of folk here ready to help you out :grin:

3 Likes

hey, I think these two article Is you looking for?


and

when starting it was understandable HTML marking CSS make it good JavaScript gives functionality but still HOW I DO ALL THAT.
This helps me out on my first project.

1 Like

I don’t know whether I am answering your questions or not, but let me just say that there are a lot of times, whenever I start to do a project I went through the phase of:

  1. find out this tutorial about thing X
  2. follow the tutorial step by step
  3. trying to do the same thing without any tutorial
  4. failed
  5. went back to learning (on freecodecamp as well as other places)
  6. came back to the same subject realized where I did wrong, whether it is too difficult for me
  7. few weeks later picked another project to do thing Y, Y is a lot easier than X
  8. Y becomes the stepping stone of achieving X
  9. finished Y project
  10. finished X project

See?? There is a back and forth going on. And be honest with you I rarely get things right the 1st time… sometimes (especially when doing real world project) just to set up everything right is gonna take you a lot of time. I don’t know whether this is only me or others have similar experience.

1 Like

Looking things up is part of the job. You cannot know everything. You have to know the core things by heart though.

You would never better yourself if you kept rehashing the same stuff over and over again. Reapplying the core stuff in a new light with new features: that’s fun to me. I always try to do something new when i build something or a new feature. Make it better. And always try to make my code better.

1 Like

Appreciate everyone’s input! I do have a white board in my room that I got a week ago. I will start using that to plan out before I even start to write any code. As far as the tutorials…I haven’t found anything really that great. Most of it is listening people trying to get out a sentence when talking. A lot of jumping around with code.

If you have github (if you do not, you must), use it.

Create a new repo for your project, open a issue there and throw all your ideas there.
I do that. It’s a nice way to have all the brainstorm in one place.

Then, if you have a “team”, can work on that ideas, open new features / branchs, testing, etc…
If you do not have a team, it does not matter. Use it anyway :wink:

1 Like

I’ve been telling myself to start GitHub/git, but then I always end up doing something else. I need to do it sooner rather than later