top | item 43307463

(no title)

Ghos3t | 11 months ago

I agree with a lot of the points mentioned in this article. But one thing I'm not sure of is how does knowing the deep underlying fundamentals of CPU, memory, http etc . Help you be a better engineer, cause most engineers just work at a very high levels of abstraction and the languages and framerorks used at that level don't allow low level access for memory etc anyway. I mean you should not be clueless about these basic things buy I don't understand the day to day application of it, outside of academia.

discuss

order

dondraper36|11 months ago

I think it all boils down to a certain degree of mechanical sympathy:

https://wa.aws.amazon.com/wellarchitected/2020-07-02T19-33-2...

Based on my understanding, this is similar to how commercial pilots are trained. They are nowhere near the level of understanding to build or repair aircraft systems, but they need to understand the basics of systems to make informed decisions and have the "mechanical sympathy" not to be clueless when operating the aircraft.

At least, that's how I motivate myself to learn more about low-level stuff while setting up CRUD endpoints at work.

Ghos3t|11 months ago

I guess that makes sense if you are building something that needs a high degree of efficiency or sits closer to the metal, but most of the day-to-day tasks in corporate work aren't really in need of this level of mechanical sympathy, you can implement a slightly unoptimized logic and still have the system perform at an acceptable level, the bigger causes of latency will likely be IO like DB access anyway. And the bigger challenge when working on these tasks are the people problems, where you have to work with others who give vague requirements that they then keep changing after the work has already started while still holding you to the fixed deadlines, I wouldn't waste time writing the most elegant and per formant code in this scenario because it won't be appreciated by anyone and will lead to penalty for delays for me.