Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

A mechanical engineer knows about the properties of the metals, plastics, etc. he uses. A civil engineer knows about strengths of steel I-beams, etc. An electrical engineer knows about capacities of cables, switches, etc. So, these engineers can do real engineering and have transmissions run, electric power networks provide the power, and tall buildings and long bridges stand.

A software engineer knows about the capacity of a server? With what I/O rate, TCP/IP data rate, memory locality of reference, independent threads, memory that can be effectively cached, the memory usage, errors and their consequences?

E.g., one of the problems of doing optimization of assigning programs to servers in a server farm is knowing what (1) the servers can do, also considering other programs the server is running, and (2) what resources the software needs, and it's too tough to know either and, then, in a significantly large and complex server farm, fully to exploit this data for full optimization.

Software engineers are working with at best rubber specs on both the resources they have and the resources they will be using. So, can't really do engineering on the work, e.g., really can guarantee next to nothing. Or, would you want to bet the life of your wife or daughter on some software doing its work without errors and on time? Neither would I!



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

Search: