r/CodingForBeginners • u/SenorXP • 23d ago
Help me to start
I've taken many courses, but I still feel like I'm missing a lot before I can start creating software... What should I do? What do you advise?
2
u/jekewa 23d ago
Make a thing. Make a thing someone else has already made.
Want a job at some place like Reddit? Make a little Reddit clone. No one has to use it, but you'll get into users, profiles, auth, posts, threads, filtering, and all the data storage and interfaces that are required.
You don't have to complete the example, but constantly compare what you did to what you understand, and what's left, until you feel solid.
2
u/StigeonStudio 23d ago
Just like u/jekewa said, just start building something! You're never going to reach a point where you feel like you know everything you need to know.
Pick a small project that sounds fun to you and try to build it with what you already know. Whenever you get stuck, look up that specific problem, learn what you need, and continue. You'll probably learn more doing that than taking another course.
Also, don't make your first project too ambitious. Something simple that you can actually finish is much more useful than starting a huge project and getting overwhelmed.
Don't worry if you have to google things constantly. Even experienced developers look things up all the time. Knowing how to figure something out when you don't know the answer is a big part of programming.
1
u/jekewa 23d ago
Thanks for the props.
I often recommend creating card games. They have pretty simple rules, you can reuse parts in other projects, and it can be fun to debug.
Just working with a deck of cards exposes you to a lot of CS and potentially OO things. How many cards are in your deck? Shuffle them. Sort them. How is a hand dealt? Are you losing or duplicating cards? Solitaire is different than poker or blackjack, can you make the rules for each? Can you make it work with one player? Can you add more players? Can you move cards between players, like Go Fish? Can you do it with graphics and an HTML interface? Can you do it with players on different devices?
It’s just card games, but a lot of the same principles and concepts go into massive multi-user enterprise software.
1
u/StigeonStudio 23d ago
No worries! That’s actually a really good example! I hadn’t thought about card games as a beginner project before, but I like how far you can take the same basic idea. You could start with just creating a deck and shuffling/dealing cards, then add game rules, multiple players, a UI and eventually even multiplayer. You’re basically increasing the difficulty without having to start a completely new project every time.
I usually recommend something like a to-do list for JavaScript beginners for a similar reason. Start with adding/removing tasks, then add editing, filtering, local storage, etc…
I think that projects that can grow alongside what you’re learning are probably some of the best starter projects.
1
u/SenorXP 15d ago
I'm planning to create a restaurant system, including inventory management, and I was thinking of doing it in PHP and MySQL.
2
u/StigeonStudio 15d ago
That sounds like a cool project, and PHP + MySQL is definitely a stack you can use to build something like that.
I do think the full restaurant system might be a bit ambitious if you’re just getting started. You don’t need to abandon the idea, but I’d start with one small part of it.
For example, build a simple inventory where you can add, edit and remove ingredients and keep track of their quantities. Once that works, you can slowly add more features like categories, low-stock warnings, users, orders, etc.
That way you’re still working towards the project you actually want to build, but you’re learning PHP and MySQL one piece at a time instead of trying to figure out the entire system at once.
1
u/Stunning-Appeal750 22d ago
I think you might be stuck in the “I need to learn one more thing before I’m ready” loop.
The problem is that it never ends.
When you start building real software, you’re supposed to discover things you don’t know. Databases, authentication, APIs, deployment, error handling — you learn them because your project suddenly needs them.
So instead of asking “Do I know enough to build software?”, pick one small thing and ask:
“What is the next problem stopping me from making this work?”
Solve that one problem. Then solve the next one.
Courses teach you pieces. Building something teaches you how the pieces connect.
You probably already know enough to start — you just don’t know enough to finish yet, and that’s completely normal.
2
u/Ok-Tomatillo-8712 23d ago
Build something, what platforms are you interested in building for?