Do you want to build projects, but you struggle to get programming project ideas? Do you wonder how you could get some ideas? In this article, I will explain how you can get some inspiration to practice your programming skills.
It does not matter what type of developer you are because the advice applies to all areas of development.
Warning: Before going further, I want to mention that it does NOT mean copying. You should acknowledge and make it obvious whenever you take a piece of code from a tutorial. You should clearly state what you built and what you took from somewhere else.
Find existing tutorials online
Let's assume you are a front-end developer. However, you do not have any project ideas to practice your skills. Thus, you can go on YouTube and find a person that creates back-end tutorials. Pick the ones where the instructor does not build the front-end part.
Now, you could build the application from the tutorial and create the front-end for it. Be aware; I do NOT say to copy someone else's work. You should credit the other person and explain clearly what you did and what you took from the tutorial. I never encourage copying because that is unethical. Putting copying aside, you can switch scenarios if you are a back-end developer. Find good front-end tutorials on YouTube, and build the back-end for them.
Besides improving your existing skills, you might also learn new skills. Doing this technique over a period of time, you might transition yourself to a full stack developer.
Alternative
However, it is not necessary to build the full application from the tutorial. If you do not want to follow the tutorial, you can only "borrow" the idea and build the front/back-end. I use this method with great success. By doing this, I never run out of project ideas.
Alternatively, you can find more project ideas in this GitHub repository. You can see the project name, description, and tier. The tier indicates the difficulty - i.e., beginner, intermediate, and. It is a great repository with lots of project ideas.
Combine the technique with the GitHub repository, and you will have project ideas for a while.
Find existing businesses
Another method I used to learn new skills or practice the existing ones was by finding existing businesses. For instance, in my area, I found businesses that had poorly designed websites. Thus, I re-created the websites, and I also tried to improve them.
However, it's not necessary to find badly designed websites. Find a website you would like to replicate and try to do it. This way, you improve your searching skills because you have to search for how to do specific things. This is opposed to tutorials, where you blindly copy > paste what the instructor does.
For example, you could search for local, small businesses in your area. Or you can go bigger and re-design/re-build websites like HackerNews. An example would be this article, where someone improved the HackerNews feed. These are just two examples to emphasize the idea, but the list is endless.
Therefore, by trying to replicate existing websites, you learn much more than by following tutorials. You are more likely to learn and retain information when you struggle to build the features yourself.
Conclusion
Getting programming project ideas is as simple as that. To recap:
- Find tutorials online, and build the part (back/front-end) you want to learn about or practice.
- Find businesses online with poorly designed websites, and try to improve the website. Or try to replicate existing websites.
- If the above methods do not work, try the GitHub repository with the article's application ideas.
What I want you to emphasize again is that you must not copy someone else's work. Build the application from the tutorial, give credit to the author, and add your part. Additionally, you could even message the author and ask for approval. However, given that he/she published the tutorial online, I would assume he/she is fine with it as long as you give credits.
Catalin publishes programming and software development articles on his blog.