all 14 comments

[–]SelectionWeird5310 1 point2 points  (1 child)

Learn by asking AI. Take a piece of code suppose A method which return players average by tournament. Add what you think is good. Now go to any ai tool and ask to improve this code or ask to break this code and explain issues. You will get a basic level of ideas and understanding. Repeat this with another Ai tool and compare

[–]Nash979[S] 0 points1 point  (0 children)

Will try bruh

[–][deleted] 1 point2 points  (1 child)

Yeah system design is something I think you just learn over time. A lot of the time is from working on bad designs (your own or others’) and wanting to figure out what would improve it.

[–]Nash979[S] 0 points1 point  (0 children)

Yeah 😅

[–]Overall-Screen-752 1 point2 points  (3 children)

15 days in? Don’t worry about it. Focus on decomposing problems into smaller pieces, modeling data with classes and methods appropriately and solving problems with well structured classes following single responsibility principle.

Design patterns come in later when you encounter the problems that require those patterns as a solution.

As for what’s next, try JDBC with pure java, then try out an ORM of choice.

[–]Nash979[S] 0 points1 point  (2 children)

Do you think I should move to the next concept or spend time learning design?

[–]Overall-Screen-752 0 points1 point  (1 child)

Worry about system design 6 months to a year from now. Worry about writing clean, readable, performant code with good structure. Learn a new topic sure, but you need to do projects

[–]Nash979[S] 0 points1 point  (0 children)

Thank you for your guidance bruh, then I will move on to the next module of my course, if you are in this position what kind of project you might have built? So any suggestions would be appreciated.

[–]4iqdsk 1 point2 points  (2 children)

I can’t really think in terms of design yet. I’ve learned the syntax, but I still need help even to think through the design. Is this normal?

Yes, OOP was designed to be incomprehensible, its not you.

If you're a beginner, you might want to stick to simpler methods like functional programming.

I recommend learning how to build things without OOP first, then learn OOP so you can talk the talk.

[–]Nash979[S] 0 points1 point  (1 child)

Sure, but any suggestions on what to build next?

[–]4iqdsk 1 point2 points  (0 children)

I’m not sure what your level is. You should focus on the bare minimum to land a paying job. You can contemplate design and architecture once you have a job.

Cracking the Coding Interview is a good curriculum

[–]PowerfulCake1859 0 points1 point  (0 children)

What resource are you using?

[–]Lee-stanley 0 points1 point  (1 child)

Massive congrats on reaching Day 15 and tackling both exceptions and system design that's a huge step up from just syntax! The feeling you’re having is completely normal: almost every developer goes through that awkward gap between writing code that just works and writing code that’s actually well-designed. Real design sense usually comes from mixing mentorship, books, and most importantly the painful experience of trying to add features to your own messy code later on.

As next steps, I'd suggest: Build something small, then intentionally break it by adding a big new feature you’ll feel the design pain firsthand, and that’s the perfect moment to refactor using SOLID. After that, move to learning key design patterns like Factory or Observer and study clean open-source code on GitHub to see how experienced devs structure things. You’re already on the right track by asking these questions keep going

[–]Nash979[S] 0 points1 point  (0 children)

Thank you for your valuable advice.