5 Lessons Learned From My Last Side Project

A good side project is a critical part of any developer portfolio. That is obvious, but what is not obvious is the good structure for that process. And the secret is there is no best structure. That is a boring introduction, but the main idea of this post is 5 tips for side projects I got from my mistakes/good practices I did in my last side project. Get Ready


What Is New Or What Is The Purpose Of that Project

It is not really a tip, but it is an important thing. The best way to complete your side project and stay motivated is to have a reason for that. You should know why are you creating that project. something like you are trying new technology, want a new amazing project in your portfolio, or trying to improve your technology skills. If you don't really feel like you want to complete that project then I think there is no need for it. You know what, I think anyone has his reasons to create a project. Go for the next section.

Always Specify The Deadline

any project that doesn't have a deadline will not end, there is always a place for improvement, and there is always some feature to add to your project. So before you do anything in your project always specify the deadline. most of the time you will not follow it strictly, but a deadline is enough to make you create clear progress because it is a tool for measuring success. you always need to know where are you going and When, so whenever you don't reach your destination, at least you will know that there is something wrong. That was my first mistake in my side project. I didn't really set a deadline for my project, and I ended up spending about 3-4 months on only one project(I was focusing on learning MERN as well) but 3-4 months are a lot for the end product I imagined and created. Again, Never Forget Your Deadline.

Never Go Without Your Figma File

If you are a front end, you normally don't have to have a perfect UI/UX design, but you have to have a design, at least a good design. There are some features that should be in mind when creating a side project like consistent design, (100%)responsivity, colors, and fonts. So you should always get back to your Figma or what you use in design to see what will you create. To be honest, I am not really good at UI/UX design for my projects, I just learned how to use Figma, and read some articles in design, and that is it. If you have UI/UX knowledge that would be great, but in the real world you will not need to manage this as the UI/UX designer is responsible for giving you a sketch of the website, the colors, and fonts, and you just code it.

Before You Start, What Are The Project Features?

"Before You Start" is important, Not to know all the project features will you implement as you always will edit these features most of the time. But It is because you will define the base of your project. There is something called MVP I learned in Chingu(you should take a look at it) which is the minimal viable product. It basically defines the minimum features that you will implement and will be acceptable for the project requirements. There will be features will be divided into 'must have', 'should have', and 'nice to have'.

Must-Have: these are the features that your project cannot go without, it is a mandatory part of your project and it is what you are Required to complete.

Should Have: these are the features that will help the users the most, it is not strictly required, but it will improve the user experience very well.

Nice To Have: are the features that will help the user, but it has lower priority than 'should have'

Okay, just define your project features and take this information to the next section. let's go

How Will You Measure The Success (Backlog)

okay, you defined your features, and I think you could determine what 'must have', 'should have', and 'nice to have'. And you started to implement your application. How will you see what you accomplished and what is left for you to accomplish. Let's agree that without reviewing, and seeing what you did related to your tasks, even in general life, can be confusing. When you don't measure correctly, you will feel that you don't make progress, and that can cause disappointment. For example, if you decided to walk 3km, how do you know that you walked 3km if you didn't measure the distance from the starting point? The same is true in side projects. You should create a backlog with tools like Trello, Jira, Notion, ....anything you prefer, and put the features that should be implemented. then add the task in progress, complete it, and then put it in done. In that way, you know how did you start, and where you are. Congratulations.

Conclusion

We always get better at what we do as long as we practice it, these tips aren't really that magical but it is a good base for me and you to start, try, and discover new ways.

Remember To: remember your reasons for that project, specify deadlines, create a good/acceptable design to follow initially, define your MVP, create project backlog

That's it. thanks for reading. I should go to see why my side project deployment is not working