Over 2,000 mentors available, including leaders at Amazon, Airbnb, Netflix, and more. Check it out
Published

Mini Project for the win!

Mini projects are the best way to learn new technology. A mini project is a project you can complete in under a day. Mini projects usually target a specific thing you are trying to learn.
Noah Glaser

Senior Software Developer, Aloft

Why do mini projects?


Mini projects help you get out of tutorial hell by having you do something directly related to what you are learning. Mini projects validate that you understand the concept and can apply it. If you watch the tutorial, there is a good chance you will suffer from fluency illusion. Fluency illusion is when you think you know something but don't know it. Mini projects aim to see what you know and to force you to recall what you have forgotten. Active recall is a common technique for learning something new.


The other fantastic thing about mini-projects is that you start building a library of skills for your more significant projects. Let's say you do a mini project showing and hiding HTML elements on the page. Now you have it for later, and you have an example you know will make sense because you created it.


Mini projects also help you create something from scratch. It's easy to get scared when looking at a blank IDE, and you don't know where to begin because you could go in so many different directions. Mini projects help you cut down on those directions, making starting easier.


Mini-projects also can be used for mini-talks on a topic. Meetups often have five-minute talks where you can present an idea or concept you have learned. These speed talks are great for getting your name out there and meeting people who might hire you. They also give you practice in talking about the code you wrote. This is a critical skill for interviewing.

The problem with big projects


So big projects are great for your resume but terrible for learning something new. The reason is that people are terrible at estimating how long something will take. You think it will take a month, but then it takes six months, and you get discouraged. You start to want to give up and realize that you need to learn more to complete the project. It's super frustrating, and we've all been there.


The other problem with big projects is that they can take you in multiple directions. Let's say you want to build an app that tracks food wasted for a restaurant. You are learning React and need to know how to save the data onto the server. Now you have to decide which language you will use, which database, what kind of token management, and on and on. The scary part is that if you start learning all this stuff, your React skills will get rusty.


How to create good mini-projects for yourself?


The most important thing about a mini-project is it's targeted at something specific. Mini projects should take at most three hours to complete. If you think it will take longer, it's probably not a mini-project. If you spend more than two days on it, it's no longer a mini-project, and I would try something more straightforward. This is why having a mentor who creates mini-project challenges is so helpful. It's hard to know how long it will take when you are starting out. So go easy on yourself if you give up on a few mini-projects that were too big, to begin with. You can always revisit them later once you have more experience.

What is an excellent example of a mini-project?

Create a right-click menu that shows a list of your menu options. Be sure that the parent component has some way of knowing which menu item was clicked.


https://phptuts.github.io/react-mini-challenges/5-right-click-menu/
https://codesandbox.io/s/yjpr60


If you complete this mini project, it shows that you know jsx, javascript map function, events, useEffect, useState, and much more. This project is specific to someone learning to use useEffect to register custom events. It proves that you understand a lot of concepts. This mini-project might be too advanced or too easy. If you are starting to learn javascript, you should avoid trying this mini-project; it would be too much!


The other great thing about this mini-project is that you can use this elsewhere. There are tons of websites with custom right-click menus. I have used this mini project to create other projects and other effects in React, like click and drag select. You never know when you will use a good mini-project.


When should you start doing more significant projects?

As a rule of thumb, once you have done 10 to 20 mini-projects. I would do the mini-projects based on what you are trying to build in your more significant project. For example, suppose you want to create a firebase application. In that case, you might do a mini-project on logging in, a mini-project on saving a firestore document, and another on saving a file to firestorage. Save all these mini-projects because you will be using them later, I promise!
How do big projects?


You can break it down into a series of mini-projects. Say you are building a mini project for an apartment package management system. Part one of the project is making an admin page to save a package. Mini project two could be building the email code to notify the user that they have a box. The significant part about all this is how it works on the job! So you are getting practice breaking down problems into bite-size chunks. You can save all this project management stuff in a Trello board to document your progress. The Trello board will impress non-technical members and show you can communicate effectively.


In conclusion

Mini projects should take about a day to complete. They should be laser-focused on a specific thing you are learning. They teach you how to break problems down into bite-size chunks you can handle. They are also great for presenting at meetups. They also help you build up your confidence by completing something. Be bold and ask for help with a mini project from someone with more experience, especially if you get stuck!


One last piece of advice

Please do not compare yourself or the time it takes you to complete a mini-project. Everyone learns at different speeds, and that's ok. It's important to celebrate your wins!  


Find an expert mentor

Get the career advice you need to succeed. Find a mentor who can help you with your career goals, on the leading mentorship marketplace.