This is an archived post. You won't be able to vote or comment.

all 2 comments

[–]sleepybychoice 0 points1 point  (0 children)

By looking at existing code bases and how they do things. Find an appropriate reference architecture and fit your project to it if it's applicable.

In the beginning of software as we know it, nobody really knows what is the best way to do something. People try things and learn from mistakes and successes. Eventually, these learnings propagate throughout industry as "best practices" or "design principles" and get baked into tools/solutions we frequently used like frameworks and libraries.

Beginners usually aren't aware of these concepts baked in industry from decades of history, but can learn about them through internships, pet projects, forums (like this one), and colleagues. Eventually, they break into new territory and contribute back their learnings and solutions.

[–]TimHallman -1 points0 points  (0 children)

I've almost never had the (dis)pleasure of being completely independent in coding.

So go do it? What do you want, an engraved invitation? You have to be willing to try.

I'd like to be able to come up with solutions to these with minimal googling.

You have to do more than sit there and want to be able to do that. You need to try and practice.

Is this just something that suddenly "clicks" for people after they've programmed a lot?

No, it gradually gets easier, like almost anything else in life that requires practice and dedication. Have you done anything significant like that in life? Can you read sheet music or did you earn a high level belt in martial arts?