DEV Community

Cover image for How to Plan and Build a Programming Project – A Legitimate Guide for Beginners

How to Plan and Build a Programming Project – A Legitimate Guide for Beginners

Peter on April 12, 2021

This is a post I have thought about writing for a long time, I originally published it on my blog in more detail here. But, I thought it could help...
Collapse
 
makeshift_name profile image
Alex Longsdale

Thanks for writing this post, I have experienced the frustration of asking for help being told to build projects and having no idea how to build them.

This post makes it really clear how I can now start building my own projects without having to follow tutorials.

Collapse
 
peterlunch profile image
Peter

Hey that's awesome I'm glad this post was helpful. Share your progress on twitter and I can check it out.

Collapse
 
theowlsden profile image
Shaquil Maria

Thanks for writing this post.

This is a very important topic, most people either get stuck in tutorial hell, or they have an amazing idea but due to lack of planning, they never start or finish them.

Personally, I will be following these steps on a current project and see if I can finish it in a relatively small amount of time.

Collapse
 
peterlunch profile image
Peter

Thanks for the kind words.

Let me know as you go if you feel the post was missing anything. Good luck.

Collapse
 
dastasoft profile image
dastasoft

Very useful article! Tutorial hell is real and many go through that process and it's not easy to get through that phase.

My rule of thumb for this is to think that there is no course, tutorial or guide that eliminates the need to get your hands dirty and work hard, you may need them to know how to get started or to know what things you are missing, but the concept of "from zero to hero" without practicing and doing projects on your own is totally false.

The other barrier may be "having ideas", but now there are a lot of websites or posts here with cool and easy to do projects.

And don't worry about building something that isn't perfect, a finished project will always be better valued and more useful than a super elitist half-finished one.

Collapse
 
peterlunch profile image
Peter

Great points.

100% agree with not worrying about building something that isn't perfect, always better to have something finished that you can show vs. something half done buried in your projects folder.

Collapse
 
incrementis profile image
Akin C.

Hi Peter,

thank you for your article. I had a good time reading it :)!
In my opinion, learning how to deal with your own work is a skill, that is very useful in many aspect of life. That's why I'm all the more pleased that your article exists.

Collapse
 
peterlunch profile image
Peter

Thanks for the support. Glad you liked it.

Collapse
 
roycechua profile image
Royce Chua

Great work. One thing I have to note is that planning is burdensome if you're not really feeling the inspiration to do the project. So my advise is to find a project you actually want to do or care about. Like if someone wants to build a CRUD and they like to play DOTA 2 for example, they could make a CRUD App of their favorite Dota 2 item builds for some character. The more motivated, the more likely they'll push through.

Collapse
 
afiasori profile image
AfiasOri • Edited

Great post!
As a professional developer for 3 months(ish) I can relate with the frustration while facing a complex project, and Trello became my best friend.

I've started building a "Personal API" to CRUD some information about my work-shifts, bookmarks etc, and I'm planning to extend it with a GUI (not sure yet if web or mobile).

The project is in it's early stages so I didn't add all cards yet. just the backend stuff, yet I would like to share a screenshot of my board, it may help somebody one day.

Trello

Collapse
 
peterlunch profile image
Peter

Amazing! Thanks for sharing the Trello board with a real world example. I think this will definitely help people.

Collapse
 
aminmansuri profile image
hidden_dude

What we usually do (even in huge projects) is we just start by defining the UI.
Once you have the UI you can break it into tasks.

But I'd say that if you're doing a personal project just go screen by screen till you're done. Also, make it work first, don't get too fancy. You can always make it better later.

I learned as a beginner that when I tried very very hard to come up with a good design that I'd end up throwing it away anyway. So don't try. Just make a minimal thing work and then refactor it into shape later.

Nothing better than watching something work rather than a bunch of code that does nothing yet because you still have to implement 20 classes.

Collapse
 
viniciusquare profile image
Vinícius Quadrado

Thanks for the post!
I think that's an idea that I had but now reading and it self being broken into steps it's more clear to me... I set a challenge to myself, complete a little project I wanted using your model, lets see how I go

Collapse
 
peterlunch profile image
Peter

I hope it helps, great idea to set a challenge.

DM me with how you're going with it on twitter.

Collapse
 
viniciusquare profile image
Vinícius Quadrado

Ooh, sure! It'd be nice to talk about it! Thanks for the attention

Collapse
 
pragyes31 profile image
Rahul Nayak

Thank you for the advice. Much needed.

I do use GitHub issues sometimes to track all the features I'm going to build and bugs I have found but after reading the post, I think trello is more organized.

Collapse
 
stremovsky profile image
Yuli

You are missing a privacy section.

Privacy by design compliance

Privacy by design compliance is a challenging task for most startups. It is better to build it from the first steps of the product. Otherwise, you will have to add privacy to an already developed product. It is much more complicated and much more expensive.

Self-promotion

I am an open-source security developer. I build and maintain the Databunker project (databunker.org/). Databunker is a network-based, self-hosted, GDPR compliant, secure storage for personal data.

Databunker will make your company or service privacy by design compliant and it is absolutely for free.

BR, Yuli

Collapse
 
fer1xr profile image
fer1-xr

Thank you for posting this !
Right now I'm stucking in tutorials, i want to start building my own project but i always don't know how to start, don't know how to resolve a problem.

This will help me

Collapse
 
gecikadm profile image
GecikaDM • Edited

Thanks for sharing your experience, that is exactely I needed to read as I feel the same frustrations which can give me doubts and feeling no confident at all.
A good post for me!

Collapse
 
peterlunch profile image
Peter

Pleasure, I was hoping it would resonate with others who felt the same frustrations.

Collapse
 
titaniumcoder477 profile image
TitaniumCoder477

I've read this kind of thing a half dozen times but never as concise and helpful, with examples, as today! Thank you!

Collapse
 
martygo profile image
Martins Gouveia

I am already starting on the new project of the company here.

Bedside article.

Collapse
 
deepcjoshi10 profile image
Deep

thanks for the guidance

Collapse
 
ngamsomset profile image
Brian Ngamsom

Nice one!! I’m always curious what it means by break down the components. Thanks!!

Collapse
 
spyda247 profile image
Babajide Ibiayo

Thanks a million for this

Collapse
 
aalphaindia profile image
Pawan Pawar

awesome

Collapse
 
brad profile image
BrandonKMLee

A major concern about this, is the idea of "how many lines of code in language X should I churn out a day, accounting for debugging and testing suites?"

Collapse
 
brad profile image
BrandonKMLee

Another problem I can think of:
"am I overplanning? am I procrastinating on library finding?"
"how many feautres/LOC should I churn in a day?"
"should I focus on documentation (if it is a library)?"

Collapse
 
ademdj19 profile image
ademdj19

thank you , that was helpful

Collapse
 
wellzenon profile image
wellzenon

Thank you for this post 🥰 I'll start planning even if it seems a small project

Collapse
 
peterlunch profile image
Peter

My pleasure glad you like it. It doesn't matter what size the project is, just as long as you can start planning and building it.