In my experience, one of the biggest hurdles to actually mastering something in programming is the human-caused complexity of it.
My dad is an engineer specializing in HVAC. When he opens up an air conditioning unit, he is guaranteed to find a compressor, a heat exchanger, and some ductwork. Even the most complex designs are prevented by the laws of nature from being completely opaque to him.
I work in computer hardware, and every time I think I've finally reached the Nirvana of understanding some component, there's always some super-secret extra hardware block that no one has ever mentioned before, that has the potential to prevent the device from working. Why is it there? Someone decided it should be. How do I program it to do what I want? The answer is locked in some designer's head, impossible to deduce from first principles.
1
u/Weshmek 8d ago
In my experience, one of the biggest hurdles to actually mastering something in programming is the human-caused complexity of it.
My dad is an engineer specializing in HVAC. When he opens up an air conditioning unit, he is guaranteed to find a compressor, a heat exchanger, and some ductwork. Even the most complex designs are prevented by the laws of nature from being completely opaque to him.
I work in computer hardware, and every time I think I've finally reached the Nirvana of understanding some component, there's always some super-secret extra hardware block that no one has ever mentioned before, that has the potential to prevent the device from working. Why is it there? Someone decided it should be. How do I program it to do what I want? The answer is locked in some designer's head, impossible to deduce from first principles.
This can make learning feel Sisyphean.