I have been learning javascript and react for longer than I would like to admit and have 0 projects that I am proud of. I feel like I know a lot and can put it together but can't bring projects across the finish line. I end up archiving -> deleting -> recreating a lot of projects. I have tried only focusing on one project and get pretty far with it but then something happens and I never finish it. I like web development and would love to be able to work as one but I've been feeling lost for awhile and don't know what to do.
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (22)
I think most of us has this problem to some extent. When it's our own projects, we have no accountability and no one but ourselves to tell us to stay on track. I have a sort of checklist that I go by in order to stay on track with my projects.
Be the User
Whatever the project is, make sure it's for something you'd actually use and benefit from. If the project is just another note taking app or quiz app, chances are you aren't going to care if you end up scrapping it halfway through. I could start a graveyard with all the unfinished quiz apps I've never finished 😬. Pick something that you can't wait to finish and start using yourself.
Break Down the Tasks
Create a trello account. Use Github Projects. Heck, get some sticky notes and a whiteboard if you want to get old school with it. Using some form of project management, even if you're the only person going to work on it, has multiple benefits:
Talk About What It Does, Not What It WILL Do
A lot of the time we like to talk about all the stuff we're going to add to our app idea to our friends, and while it's good to think about all the cool bells and whistles we plan on donning on our brain child, we end up digging our own motivational grave. By talking about what we WILL do, we're setting expectations on ourselves and creating witnesses at the same time. When we end up not being able to add that feature, it can be demoralizing because now you have to either explain the app won't have that feature to your friends or just completely separate yourself from the friendship altogether! (but most likely the former 😉)
Talk about what you've already got working on your app instead! You just finished a really cool feature of the app that you're proud of? Go out there and gloat about it! This keeps your interest on the app at the front of your mind without pigeonholing you to uncertainties. This also adds buzz about your project and your friends may even become invested and hold you accountable to your work (that's a good thing)
Get Public About It
Don't just talk to your friends, let us in the community know what you're getting done, too! We're all trying to work through all of our collective procrastinations. If we see our peers getting through it, it can help us push through, as well. This motivation can be cyclical and come right back to you.
Understand that there is no such thing as FINSHED
In this day an age, we don't finish anything. Tech is always evolving and mutating. Your goal is to get to production not to the colloquial finish line. Get the MVP done first. Rave about your accomplishment. Then get your 1.x done. Rave about your accomplishment. Go on a mini vacation. Then think about what 2.x will look like. Wash Rinse, and repeat.
Well this ended up being more of a whole dang post rather than a response. I may turn this into a post myself, but I still wanted to make sure I got these points over to you. The last point I say is the most important one of them all. We need to redefine what "finished" means to us to be more relative to our industry. I hope any of this helps! I understand this stuff is way easier said than done, but I'm an aaaawful procrastinator, and if I can finish projects, I KNOW anyone can.
This is such a great response, thanks for taking the time to write it all down.
I agree that "scratching your own itch" will make you keep working on a project like nothing else. Even if nobody wants to use it in the end, it doesn't matter. At least you got a great product that is tailored perfectly to your needs. 😉
Definitely, and realistically, whatever it is that you make for yourself, others are bound to find useful as well! If it helps you, it's highly unlikely it won't help anyone else.
This response is golden and would go a long way in helping me. Thanks a lot for this response
Great explanation! I think for a newbie like myself, it's overwhelming, but as I'm are not given up I'll get there
Please make it a post, I want to bookmark this :)
Really it was very useful content to basic learners and i hope your posts like more this ....Thanks for share with us.. ghdsports.net/
My problem was often that I underestimated the effort. Just last month I spent weeks on a K8s project I thought would only take me a few days.
For a frontend beginner I'd recommend:
Try beginner projects.
Stuff you know other beginners actually finished.
Don't be too smug to choose something simple.
Can't create a blog? Try a todo-list!
Can't create a todo-list? Try a simple notepad!
Can't create a notepad? Try to convert some static HTML to "static" React.
For a beginner, even a project without interaction can be educative. At least, you learn how to split the UI into components!
I think having unfinished projects is part of being a developer, so you shouldn’t be worried about that. If you want to take your new skills to a new level, maybe you should consider doing a freelance project for someone — it will be a good learning experience and help you start getting professional experience. How does that sound to you?
I create personal/portfolio projects for not getting lost track of technologies i'm using.
One project using Laravel,
One project using React,
One project using Flask
Each project above has its own main core feature like TwitterAPI, GIS, and SNA. So, the projects still has potential to improve more and it can never be finished.
And make you proud of them by hosting them in free plan platforms like Heroku, Netlify, Firebase, or GithubPages and let anyone see your project and hopefully they could give positive feedback for improvement unless your projects are secret.
As i see you made progress but not finish it, i think your issue is at project management where you lost the motivation to complete the project.
When starting a project, try to create a Minimum Viable Product (MVP) first. List the features that it must have. Then divide it into smaller tasks that you will achieve each step at specific time/day. It is important to keep the goal realistic. Don't put too much features on MVP and don't add too much tasks on daily basis. Having too much tasks and failed to do so will make you feel bad, vice versa.
Then keep the list of your completed tasks, whenever you feel unmotivated. Look at this list and realize what you have achieved.
Another tip is to accept the reality that the first project will not perfect, it's okay. What important is you complete the project based on MVP and deliver. Then we can always improve the project incrementally.
I used to follow that same exact path for every project I attempted. The most important thing is to smart out small, then build your way up. An easy way to start doing this is to develop open-source modules/packages for your tech skill. Make sure these are small enough for you to finish within 1-3 days. I made the mistake of trying to start out with large projects while using a hammer to screw in a nail (I think I butchered that idiom but whatever). These projects would definitely take me a month at the time. However, after working on 20+ mini open-source Deno modules, I've got the self-control to pick a project that will not be too hard for me. If the project does end up being too hard, just leave it and come back later with a complete refactor, (mostly) no harm done. Another thing to note is that you should never really have to force yourself to work on these mini-projects. If you have to, then it's not the project for you. Anyways, hope you got something out of my ramble and good luck coding!
Having finished projects is also part of being a developer. Do you Git?
Sounds like your projects take a wrong turn somewhere along the way. Version history would help you figure this out imho? As in, exactly where.
Have a minimal goal from the start. Make sure you're working towards that goal. When you reach it you'll feel proud about what you've finished. You can then decide on a new goal, or a new project without feeling like you've left something incomplete.
That's a good way to start. I appreciate your work here!
Work: catmouseapk.co/
I'm pretty much sure that more than half of the devs commented here went in a similar phase as you do. Even I still have that effect but it gives me more options than before.
History
in 2016 after I graduated and wanted to start from scratch on my own, lots, and lots of points to consider, and had to do it fast but soon I realized that I'm not going anywhere and this happened.
archiving -> deleting -> recreating
so without leaving that circle completely I started getting some small portions from all of the stages into a giant document and worked from that. after months of time doing with the project (creating -> updating -> deleting -> recreating) I simply started to understand the core and internal workings and got a transcript of all the bits and pieces which I had to touch in each step.
looking back the past years with a similar dev lifecycle, I don't think that it is a full waste of time but to some extent an investment (I mean it depends from one dev to another but for me it is.)
Reflection
It is really nice to have an open discussion of the most stressed questions among devs. just like Keith Charles commented here are things I hope that I had 4 years back.
Not really "finish my own projects" related, but it does help with getting your hands dirty in meaningful ways:
Find some open issues on open source projects on Github. This takes the burden of getting your own projects up off the ground and into production all by yourself while still getting stuff done and documented. And it puts your name out there by being listed in the contributors lists of all the projects you helped out with. You can look back at all the pull requests you've gotten merged into production level code out there in the world and be proud of yourself. 👍
Some comments may only be visible to logged-in visitors. Sign in to view all comments.