Getting lost in a big project

I have been working on a simple todo app for the past few weeks, and have been having a lot of trouble with it. Admittedly, working my way through said problems has been great for helping me learn. But I’m beginning to wonder if I’m just spinning my wheels on this project.

I keep reaching a point where I’ve no clue how to continue. A few of those times, with enough effort I can sometimes work through it, but others I’ve had to start from scratch. I don’t know if the way I’m approaching the project is fundamentally flawed, or if I just have a perfectionism problem.

I can say that I usually start to get lost when I’m beginning to tie a bunch of features together. I also get lost (and a bit frustrated) when ever I have to spend significant amounts of time working on styling. I’ve found I don’t enjoy css.

Any suggestions of what I can do to work through this problem? Suggested readings maybe?

Hi @ablueblaze, unfortunately there’s no solution that fixes everything.

It mainly boils down to two items:

1 - Organise your work.
Here many people will have a different approaches. What I can vouch for is to skim task into smaller chunks.

I personally like trello for this, as it helps me keep things organised. But I’m sure you’ll find something that suits you.

2 - Accept imperfection.

Eventually you will also have to come to term with the fact that you cannot reach perfection. You should aim for it, but you have to also be realist and consider that you’ll never reach it.

So starting all over again is often not a possible solution, so keep moving forward and do the best you can with what you have. Every mistake is a lesson for the future.

Hope this helps.
Good luck and happy coding :sparkles:

4 Likes

Identifying why you want to start from scratch is at least a helpful learning experience. If you can identify why restarting the work you already did is worth more than marching on with the work you haven’t done, then you can at least learn from the experience.

What you don’t want to do is restart for the sake of restarting because “something is wrong”, and you can’t identify it. The reasoning behind is is primarily due to the fact there are infinitely many ways to mess something up. No project is perfect, stuff “goes wrong” all the time. Knowing how to tackle these challenges, fix them, or even just accepting them is all part of the process.

There is also the acceptance that doing a project, preferably ends up with it being “finished” at some level. Its easy to start and quick projects, which could be a good and bad thing. I personally think if your at least learning while doing it, its a worth wild endeavor, but it all depends on the goals for starting out a project.

I usually call this “building the bridge” from your current knowledge to the knowledge you need to know to build what you want. Its the “putting it together” aspect that is often overlooked, because there are plenty of ways to put stuff together, so its easy to get lost doing it. I use the analogy of “building a bridge” because at a certain level if your way out of your element on what your doing, its similar to building a bridge over a river where you can’t even see the other side… or even know which direction is the other side of the river (!) You can try your hardest with your “bridge building skills” with what you know, and find your just going in the wrong direction. Regardless of how your skills are at “building a bridge”, you need to apply those skills in the right direction.

To help with that you usually want to “expand your knowledge horizon”, which is another analogy I use, which represents knowing what you don’t know. IE you might know you know some CSS, but don’t like it. You also might not know you can easily use a CSS library to build nice looking UI’s without doing much. Knowing about these sorts of tools is that “horizon”. Where you can know about it, but not “know it”.

Going back to the bridge analogy (no more analogies this post I promise ;D), its similar to figuring out which direction you need to build your bridge to cross the river. Sure you don’t know how to build a bridge correctly, but at least you know which direction you can go. Similarly knowing tailwindcss is popular, and can be used to build your UI relatively fast means you can start learning that tool to solve your CSS problems (or at least help).

To “expand your knowledge horizon” I recommend just reading about what you currently know, and finding connections to things you want to know, or just want to learn about. You don’t need to be an expert, you just want to “know what you don’t know”. Its that context that helps guide you on larger more complex projects, as you only know what you don’t know, but there is always the realm of “not knowing what you don’t know”, that is the horizon you want to push.

Finally its worth pointing out there are plenty of ways to help you organize a project over time. However, no level of organization will help guide you to where you need to go to “build the bridge”, or as you say “tie a bunch of features together”. That comes with some experience, and understanding the context of each individual part.

Keep building, keep learning :+1:

3 Likes

Thanks! This was my first time Posted an open-ended question like this, and I was kinda expecting people to be upset that it wasn’t a specific code question. It’s nice to get help on the more esoteric problems related to coding.

I personally like “open ended” questions, as there isn’t a well defined answer, and can be a wide variety in responses. However if it’s too “wide” you might get too varied responses, or none at all ;D

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.