I feel like my projects take longer and I get more easily confused if I start coding and figure it out as I go along.
I would like to be able to plan out my whole project so that I can code more efficiently, but I cant figure out the right tools or process.
(im talking about back-end projects btw)
Hello @alkapwn3d. If you face difficulties in designing your project, then I will give some tips:
- Sketch your project’s design in a paper (wireframe).
- Create high-fidelity prototypes of your project’s design with Figma, XD, etc.
- Now when you’re coding, you can use this prototype as your reference and it will make things easier for you.
The above way is what I do before creating my projects. I design it first in Figma and then I start coding by using it as a reference.
i mean back end not front end
Then you need to think very well on how you are going to do the project. Decide which tech stacks are best for your project. Peek into the code of other similar projects and understand how people did it (GitHub is good, I think). Watch some tutorials if you want.
I’m in no position to give a detailed guide on how to plan your project but I had that habit of figuring out what I’m going to do while I’m doing it but i came out of it so I’m just gonna share what works for me .
A little planning can do wonders.
Just take a moment and think about the whole structure of what you are going to build. Divide it into smaller parts or functionalities small enough that you can name them just to have a big picture in your mind and make some flow charts . DON’T think about how you are going to implement that functionality when you are just planing it, thinking about the implementation while planing will take you down the same road which you were on already.
Physical sketches and diagrams are as important for designing a back end as they are for a front end.
One way you can approach it is imagining what the manual process would be, and then writing out the steps on a board or paper. What most often forget is that all computer programs (web, software, mobile) have been conceived from a manual process. After all, computers help us automate these said processes.
Once you write out the manual process, then it’s time to draw out visually how the application will work. That can be done by a simple diagram or flow chart. Try not to dive too deep when writing it out as you want to keep it as high level as you can.
Most of the other details like what the business logic should look like or what types of technologies you choose to use can be made during the implementation or the coding of your project.
Just to mention: Something many employers (if you care about what they think) will be happy with, is if you know UML (Unified Modeling Language). Its use is mostly apparent, when describing your project to others (developers), but I have also found use in it with starting out ensuring I have the functional layout described.