Ask HN: How to develop better technical decision-making as a beginner?
I'm at that intermediate stage - comfortable with programming concepts and implementation. I can build functional applications and understand how things work. Not a beginner, but not yet where I want to be.
Most online content seems heavily skewed towards complete beginners or specific tools/frameworks. I'm looking to grow as a developer in general - not just learn another technology.
The gap I'm struggling with isn't technical knowledge - it's about making better engineering decisions and writing better code. I want to understand how to design robust applications, choose the right approaches for real-world scenarios, and make informed technical decisions when faced with multiple valid solutions.
What pushed you beyond the basics phase? Please share your advice about the same.
Seeing a lot of code. I work with Ruby/rails a lot and try to expose myself to core rails code much as possible, or react, or whatever other core code. But at jobs it’s viewing code from as many people as possible too.
Practice.
Question whether what you're doing is the right way, or the easy way.
Participate and observe discussions. Learn by osmosis.
Refactor. Question your earlier assumptions. Which were correct, which weren't? What mistakes were foreseeable in retrospect? How would you do things differently?
Often the starting process of a refactor - working out what you'd change - is about 50% of the learning and 25% of the effort of actually doing it.
That said, I'm 18, I'm going through this process as well. There's a big difference between making something work and making something work properly.
> There's a big difference between making something work and making something work properly.
In the real world is there? You make money by making things work not making things work properly.
Median tenure is like 2 years or thereabouts. In most cases you’re going to be long gone by the time any cost of not doing things The Right Way come due (if they ever do).
That said, I’m 45. I’d rather work with people who get things working rather than people who insist upon getting things working properly.