As a software engineer, what do most people get wrong about coding that drives you crazy?

Most people don’t understand what we do at all, and don’t care, and we don’t care whether they know or care.

The only thing that annoys me about public perceptions of programmers, is that everyone I know wants me to fix their personal computer for free. “Since it would be so easy for you.” Knowing how to write a program isn’t the same as knowing how to fix one, when you don’t have the source code or access to any of the internal structure. And it probably isn’t a software bug at all. More likely they don’t know how the app is supposed to work, and I don’t know either, unless I use that app a lot. We don’t know how to fix computers better than anyone else who works with them regularly, unless we have studied up on that for other reasons. Such as providing free tech support to our relatives.

Same with writing software - you have to do more than just type in stuff. You have to understand your presentation platform, your service and data layers (if applicable), the performance implications of the decisions you make, interoperability concerns, modularization, architecture, networking, etc. A lotgoes into developing software, and it takes a lot of work to do it, and do it well.

That it it not "engineering", and the spec can change mid development because it is just code! I wrote the control system for a supersonic wind tunnel. The facility manager kept adding features, which caused months of code to be thrown out. After 4 cycles of throwing up to 6 months of code at a time away, I refused to make any changes without a software specification. The manager was a mechanical engineer, so I asked him to design a gearbox for my truck, then I kept changing the specs. He got rather upset and stopped working on it for me. After asking why he can't just hack the gearbox because it is just gears, he started to see why I wanted specs. My job got far easier after that.