I'm learning Java and Kotlin for backend work and TypeScript and React for frontend work. I've built a few hackathon projects and a full-stack app that already does what I need. What should I work on next to improve and build a portfolio?
How should I practice software development when I don't have a big project idea?
Answers
You don't need a big project idea. Pick a concept you're curious about and make a small thing that uses it. A real-time game, a tiny backend service, or an experiment with a React feature can all be useful practice.
Keep the scope small enough to finish. You can always expand an experiment later if it turns out to be interesting.
Reply to this answer
Take your existing app and change it. Add a feature you didn't originally plan for, like notifications or a dark mode setting that persists between sessions. The interesting part is figuring out where the new behavior belongs without making the rest of the app messy.
You could also start a small new app with just the minimum features, then add requirements afterward. That gives you practice adapting code instead of designing everything upfront.
Reply to this answer
Put the current app online if you're comfortable doing that, then ask a couple of people to try it. Fix the problems they find, add tests for the bugs, and make the setup instructions clear enough for someone else to follow.
That gives you a portfolio project with more to show than just the initial build. You can explain what changed and why.
Reply to this answer
Another route is to work on the stuff around the app. Add tests, try packaging it with Docker, set up automated checks, or look into deployment and monitoring. Pick one at a time rather than trying to bolt everything on at once.
Those are different skills from building screens and endpoints, and they're worth showing in a project too.
Reply to this answer
For open source, you don't have to start by tackling a huge feature. Look at projects you already use and read their contribution instructions. A documentation fix or a small bug fix can be a way to learn how an unfamiliar codebase and its review process work.
Reply to this answer
Add your answer
Answers are reviewed before publication.
q.509__zipperclip:
Even a feature you don't personally need can expose edge cases. Try writing tests around the behavior as you change it.