Hacker News new | past | comments | ask | show | jobs | submit login

> Most programmers have an intimate understanding of CPUs and sequential programming because they grow up writing code for the CPU

Maybe it’s just where I work, but I feel like even this isn’t true. A lot of the newer/young employees don’t even seem to have a lot of OS/system understanding. A lot of the higher-level languages abstract the immediate need of having any “intimate understanding” of CPUs.




Yup, I was coming up under a senior at my work one day and he tried to very incorrectly hand wave how a browser uses a GPU to accelerate draw calls.

I had done work in the C/C++ code modifying Chromium directly and went, “that’s not how the browser talks to the OS to use the GPU for acceleration”. They immediately tried to argue I was wrong and made some more nonsense up.

This person is a very competent coder, but we got into further discussions and it was made very clear they had lived in a JavaScript landscape for either far too long, or had only barely gone over basic computing concepts. Their understanding of computers largely ended at “and then v8 does some stuff”.

It was weird cause this person had an honours level computer science degree from a very prestigious university and they were not from some rich family that could have paid their way through schooling.

They also had over a decade of experience shipping numerous projects. It really threw me for a loop as to what a software engineer needs to know to succeed at very high levels professionally.


> and they were not from some rich family that could have paid their way through schooling

Huh? If they'd got private tutoring, that wouldn't make them understand things any less?


The suggestion is that they got there on merit, intelligence, hard work. Not family influence, money, low key corruption in support of the academic career of an idiot.


It just seems like a very low resolution view of the world. Getting through on family influence is vanishingly rare, to my understanding.


George W. Bush. Hilary Clinton.

Legacy admissions exist.

There are of course a million other ways people fail upwards.


> I was coming up under a senior at my work one day

> It really threw me for a loop as to what a software engineer needs to know to succeed at very high levels professionally

he is arguably more successful while you have prematurely optimized

do things that make money, since that’s clearly the priority and context here


> he is arguably more successful while you have prematurely optimized

Sure--until he isn't. And that happens north of "senior".

I've had a lot of I-shaped people reporting to and taking direction from me in my career, and I'm not as deep at any one thing as many of them. But I'm deeper at a lot of things than most of those folks, and I can synthesize solutions to more complex problems because of them. Heck, things I learned writing games in my teens still come up on occasion twenty years later.


Senior seems to be lacking knowledge that OP has and acts like it. No matter his backstory he shouldve acknowledged his defieceny. Since OP seems to be newer in the industry comparing success isnt really fair, he might make it out on top in the future, we dont know.


It's not just where you work, in my experience.


Ealier today, a post titled "We have used too many levels of abstraction" was on HN top...

https://news.ycombinator.com/item?id=37965142


True. It's becoming a lost art. Although, I think anyone who takes a CS program probably learns enough about CPUs in a Computer Organization or Computer Architecture course. Even if they never have to use that knowledge ever again. :)

On the other hand I agree that people who take the non-CS route may not be that intimately familiar with all the details.


What is the non-cs route?


Meh, I was lucky enough to start my career in embedded and stay in it for a decade before I started delving into higher level stuff. Not everyone is that lucky to be at the right place right time receive guidance from the right people.


Do you have any recommendations to learn CPUs and Systems well ?, thanks


The Patterson Hennessy computer architecture textbook is the classic and still the best IMO.


Not the GP, but I recommend reading (or watching lectures based on) the book “Computer Systems: A Programer’s Perspective.”


Onur Mutlu puts his computer architecture lectures on youtube, their really good.


not sure if this is what you have in mind but Code by Charles Petzold might be worth checking out


> A lot of the newer/young employees don’t even seem to have a lot of OS/system understanding.

This is largely irrelevant to the concept of sequential programming.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: