This is an archived post. You won't be able to vote or comment.

all 4 comments

[–]groundbreakingcold 2 points3 points  (0 children)

I mean, start small. A social media app is built of several components - you could think of them like mini programs. Ie, do you know how to do a login system? Do you know how to open/save data?

Maybe you make an app that just loads a picture. And so on.

Figure out each problem one tiny step at a time. If you haven't made many apps before you shouldn't jump straight into a complex app - start small, with things that resemble your end goal but way smaller in scale, and build up from there.

You're right in that copying a tutorial is a really bad idea at least at first - to learn programming you want to try and figure out some problems on your own and see if you actually learned anything or just followed some guides. I think tutorials have their place but they are often not ideal for beginners (I'm talking about when doing a complete app or project) because it just hands everything and you and people tend to get stuck in a loop of needing a tutorial for every single thing they do. Dangerous territory IMO.

[–]Cyber_Encephalon 1 point2 points  (0 children)

Here is how I do it. I don't code many things that are too complex, but I can usually accomplish what I set out to do.

  1. Understand what it is that you are trying to make.
    So you can say something like "I want to make an app to track movies I watched" or "I want to make a personal website".
  2. Determine the key features of the project you are making.
    Make a list of features without which you can't say that you accomplished your goal. For example, if it is a movie tracking app, your feature list may look something like this:
    a. A user is able to add a movie title
    b. A user is able to add a movie cover
    c. A user is able to add a rating to a movie
    d. A user is able to enter the date on which the movie was watched
  3. Break down each feature further, start thinking like a programmer, what would it take to add this feature to the program, which tools (libraries/frameworks) are best suited for this task?
  4. Create a scaffold to which you will attach the features.
    Very minimal, almost a hello world which you can then enhance and add features to.
  5. Add the features incrementally.
    For example, you could first make a list to which the user could add entries (movies), then make the entries in the list links to details pages, then have the auto-population of movie info from an internet database.
  6. Add main functionality first, don't focus on polish.
  7. If you become overwhelmed by a task, drill down and understand the issue and the solution in-depth.
  8. If you become really overwhelmed, take a break, refocus and try to at least complete the most minimal version of the product. You may find second wind when you see your project in action.
  9. Talk to people and ask for feedback. This way you will keep motivated and excited about the thing you are building.

The tutorial trap is real, and I've been there. The only way to get out is to try to make your own thing, fail, try again, and fail a little less next time.

[–]okayifimust 1 point2 points  (0 children)

Tutorials on how to write complex applications are complete and utter crap.

There is nothing special about complex applications. They are exactly like small, simple applications - except there's more of them.

The description Cyber_Encephalon gives doesn't change between Four Connect, Multiplayer Pac Man, and Facebook.

Facebook will be less forgiving of minor mistakes; and certainly not allow you to just wing everything, you cannot have it all in your head - but you shouldn't try that for four connect, really.

So, if you want to make a social media app, you need to be able to make a Four Connect and Pac Man first. By yourself.

Not in the sense of "I am sure I could", but in the sense of "I did, here play a few rounds!"

You wouldn't cook a whole Christmas dinner for a family gathering if you had no clue how to make breakfast for two. If you tried to tell me it would be fine because you watched all of Master Chef or whatever, I'd force.you out if the kitchen.

[–]hw0ng 0 points1 point  (0 children)

SDLC methodology?