Don't know how or where to start on a project?


#1

I see it a lot on here… you get to a project, read it and then completely and totally lost as to where to begin. You look at the example of what you are supposed to create, “They expect me to be able to do that?!” Confusion sets it, your heart sinks, you are completely overwhelmed and…just don’t know were to even begin.

A common theme I notice is the determination to not look at code and make sure to do it all on ones own and figure it out…how else will you learn right? Well, let me give you an analogy…cause I love analogies. :smiley:

Say you want to learn how to bake a cake. You learn about the tools you need and you’ve got em all…an oven, some bowls, measuring cups, spoons… and you learn about the ingredients that go into making a cake… flour, milk, eggs, sugar, vanilla. You also have a completed cake on the counter that is your goal to create…

Here is where it gets interesting… You decide that you are going to figure out how to combine the ingredients and use the tools simply by looking at the cake on the counter. And you are so sure…determined even, that if you stare at the finished cake long enough and just keep mixing ingredients together you will figure it out. Madness right? No wonder you’re frustrated!

Alternatively, you could use every resource available to you:

Get yourself the Joy of Cooking cookbook to read about the science of baking, what the ingredients do and how they work together to make a cake - ie Read documentation for a clear idea of what pieces of code do to make sure you are using it the right way.

Look up cake recipes and read them so that you can see exactly how the ingredients and tools work together - ie Look at the code of completed projects to see how they did it.

Check out cakes on Pinterest for pretty pictures of cakes and read the blog to see how they did that - ie Do a Google search for what you are trying to do, and when you find something you like, look at the code to see how they did it.

Watch the cooking channel to see someone in action making a cake while explaining what they do as they do it - ie Watch Youtube lessons and tutorials to watch someones workflow and learn from their commentary.

If after all that, you run into trouble and can’t understand why your cake tastes like cardboard, call your mom …tell her what you’ve done so far and she’ll give you some advice - ie post your specific problem in the forum for help.

What you want to avoid, and not ever do is simply go to the grocery store and buy a cake like the one you want to make…that teaches you nothing… ie copying and pasting someone else code. Look, but touch…the only way to learn is to physically write it yourself.

No matter if its your first cake or your millionth cake, you have to work on it step by step…So dont look at the final product and go ugh…thats a lot. Look at what goes into making the project, break it up into the individual tasks you need to do.

Another thing…just cause you make one cake doesnt mean you will never have to look at another recipe again.it’s only through repetition and experience that you will reach a point where you can whip a cake out in no time without any help. Even so, after you are a baking pro with your own bakery and everyone is raving over your cakes from heaven, you will come across a cake that is moister, or fluffier, or sweeter than yours that you’d like to make too… and to recreate the same effect in your cakes, you will go need to go back to basics and look at the recipe to learn how they did it.

Learning is not banging your head and making your brain leak by trying to just figure it out by yourself with no help at all. There are too many resources to help you get where you want to go…use them! So If youve been struggling, I hope this helps adjust your perspective a bit and helps you out. :blush:

…aaaand…now I want cake :joy:


#2

This might/will make a good medium article…

“coding from scratch is like baking a cake” or something like that…


#3

Me… getting inspired by other programs.


#4

@DarrenfJ Ohh! Interesting idea, thanks! I’ve never posted on Medium before, but Ill see…hrmm!

@owel Indeed!! :joy: :joy: :joy:


#5

The trick is to break the program down into its simplest parts, build one part, and then slowly make it more complex.

Here are the steps I did when making my Pomodoro Clock:

  1. Build a website with nothing but a paragraph with two spans and the number 59 in the second span. Once every second, a function would decrease the number and replace the old number with the new one until it got to 0.

  2. In the first span, put a really small number, like 1 or 2. Modify the JS so that when the second span gets to 0, the first span will decrease by one, and the second span will go back to 59.

  3. Add a button so that the user can start and stop the clock.

From there, you would just slowly add more functionality to the clock, layer by layer. Part of being a good developer is taking a complex problem, breaking it into the smallest parts, and then solving each part one by one.

Back to the cake analogy, you don’t just throw ingredients into a bowl, mix them up, and expect a cake to come out an hour later, at least not if you’re doing the cake from scratch. You have to sift the flour, beat the eggs, and cream the butter and sugar together. And a good cook is tasting the parts along the way. You take each part one by one, step by step.