4 ms·
Not everyone studied at the same university as you. And after having worked full time for over 10 years now, I never needed any of those skills.
by Semaphor 3y ago
Not everyone studied at the same university as you. And after having worked full time for over 10 years now, I never needed any of those skills.
- mgaunard 3y agoMany jobs wouldn't hire you if you couldn't demonstrate solid understanding of how computers and operating systems work. Myself I don't understand how one could write any code without understanding how the code gets run.
- intelVISA 3y ago> Myself I don't understand how one could write any code without understanding how the code gets run. I've got bad news if you work anywhere that is web or web adjacent then :)
- imdsm 3y ago> Myself I don't understand how one could write any code without understanding how the code gets run. I think this perhaps says more about you then it does the people to whom you're referring. If you can't understand how someone can write code to perform tasks and extrapolate from that ways that programming can be used to perform tasks, without any underlying knowledge of the architecture that it runs on, then I would suggest your education is currently incomplete. How far down does the full stack go? Hardware? Digital electronics? Analogue electronics? Physics? Further?
- mgaunard 3y agoCode is not just to perform tasks, at least not if we're talking about software engineering, rather than mere scripting. Code is typically used to run a service running for a potentially long time leveraging hardware resources which are made accessible and shared with other processes through an operating system. To ensure that the service runs well and doesn't hamper other services sharing those resources, you need at least high-level understanding of how the hardware and operating systems work.
- j33zusjuice 3y agoWe’re not talking about software engineering. The recommendation to read a book about basic computing is obviously not intended for computer scientists. Depending on your definition of “service” here, I’d argue that most code is not written to run services, and certainly not long-running services. Like, core-utils is a shitton of programs, and a shitton of code, and none of that runs as a service. Most of what you mentioned in your first comment aren’t services. Bio researchers don’t write long-running services. They don’t even really understand how computers are allocating resources. They don’t know shit about putting an HPC cluster together and managing it. Are they not writing code? I agree with the other person who said your education seems incomplete. Yours is a very narrow view of computers and computing.
- kiitos 3y agoThe vast majority of software written is private code that serves specific business requirements. That's not always going to be services, but it often is. Coreutils is statistically zero percent of all software.
- mgaunard 3y agoA compiler is certainly a service, as is an interactive shell.
- quickthrower2 3y agoI had a skim of the book posted here, and it looks very interesting, and it goes into a lot of detail, for example there is a page on the ELF format and how the data is packaged. Are you saying you NEED to know all this to write useful code? I sort think you don't really, not at least since high level languages came out. That said this book looks very interesting to read for curiousity.
- mgaunard 3y agoKnowing how ELF works is certainly useful for many reasons, at least if you are building applications that compile down to ELF. You may want to know why they are the size that they are, be able to extract meta-information, configure how the dynamic linker works, extract debug info, etc. Some of things are actually critical for installation or deployment.
- shak1 3y agoYou clearly live in a bubble if you think that high level programmers need to know assembly to be productive.
- solumunus 3y ago[flagged]
- umustknow 3y agoIt's wild that we expect doctors to know anatomy and lawyers to know legal reasoning, but software developers get some kind of magical pass on understanding how computers work. And not just a pass, a very aggressive, defensive one, too. I think it's unconscionable to call yourself a developer and not know how the computer works, because underneath all of that NodeJS magic garbage is the same operating system, processor, and logic gates. Effective developers have, at a minimum, a basic understanding of what all of those things are doing. No, you don't need to hand-roll assembly, but maybe understand what memory is and how it's allocated, for example. Except you'd be hard-pressed to find (web) developers who can even tell you the basics of memory allocation now. And people lament that software is slow and terrible. I wonder why.
- metabagel 3y agoThat has not been my experience, working in the embedded space. Certain concepts are important, but you don’t have to fully understand operating systems.