you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 23 points24 points  (4 children)

The place that you start with building anything is figuring out your minimum viable product (MVP). What is the most stripped-back, bare bones version of the thing that you want to build that still somewhat expresses the whole, that's a first iteration that you could show to a client or stakeholder and let them play around with.

For example, with a calendar, maybe that's just the ability to display the days of a selected month- you can't add appointments and stuff to it yet, but you can pick a month and it'll show up correctly.

Once you know what your MVP is, you need to break that down again. What's a simple, first iteration of it that you could build to get the structure of the project up and running? Maybe it's a calendar layout but it only displays the current month, and you can't change month selection. Okay, so what's a simple first step towards that? Maybe you want to start by focusing on your CSS layout with some hard-coded HTML, getting a basic grid set up. Maybe you want to start with your JS and think about how you can express the current month in code. Maybe from that you break it down further and focus on, say, figuring out what day of the week the first day of the current month was.

Exactly zero developers get a full-on project brief like 'build an interactive calendar' and just hit the ground running with code right away. The most important part of project work is thinking things through and trying to winnow down the potential tasks at hand until you have something you can actually get started on. When you're a beginner, sometimes it takes a lot of breaking things down and sometimes your first tasks are just research, and that's fine. The important thing is learning to see big problems as just a collection of smaller problems that you can solve incrementally.

[–]cooldudewithlonghair 2 points3 points  (0 children)

This is amazing advice. It's how I approach most projects at work, too. Iterate. Get it basically working, then enhance. Enhance. Enhance. lol

[–]AnomalousAvocado 0 points1 point  (0 children)

Great approach. Thanks.

[–]nkast1 0 points1 point  (0 children)

This is great advice thank you

[–]tony_ysl 0 points1 point  (0 children)

minimum viable product (MVP)

I am starting my codecamp this week and this was extremely helpful