programmers are weird. you'll hear them say things like this:
code is unique. it's original sin so pure that even the catholic church is jealous. code is like nothing that has come before, and code will change everything that comes after.
and almost in the same breath, you'll hear something like this:
actually code is like engineering in that we make big and impressive things, or like art, because people think art's cool, and we're cool. code is exactly like some other profession with status, but with harder problems.
it might seem like cognitive dissonance but the truth is simpler: programers want you to think they're cool, which means programming has to be like some other cool thing, or just simply cooler than anything else going around.
now, it would be easy to dismiss these ideas off the bat, but some people take a more evidence based approach.
one person emailed a bunch of engineers, and the engineers wrote back to say "yes, code is like engineer". science works, etc. if only we had emailed social science students to ask if coding was like a survey, they could have checked our methods.
one fatal issue with the survey? engineers like to think everything they do is like engineering.
one engineer might tell you "running is engineering" because they've spent three days drawing route maps. another engineer might tell you "cooking is like engineering" and i barely need to tell you why. engineers are like that.
programmers are like that too: we like to pretend the skills we learned are unique, and thus applying those skills to a new subject is novel, creative, and interesting. it's probably the one thing we have in common with actual certified engineers.
in practice, programming and engineering are miles apart.
in engineering,
- there are legal consequences for poor construction, and sometimes they're enforced
- companies hire certified engineers to pass the buck to them
- certified engineers get to say no, albeit not easily
- certified engineers have a professional body, or union, backing them up
i'm not sure we can easily say the same about programming.
- there's fuck all consequences, if any. data loss is routine. breaches aren't reported.
- companies will fire you for saying no, and they'll blackball you if you speak out
- good luck convincing the ACM to back you up in court. the EFF or ALCU might help you if you're a nazi, but you're shit out of luck otherwise
now if someone asks you, "is programming like engineering?", you can tell them, "well, we are cowboys in a wholly unregulated market, but yes, we also do some project management" and hopefully change the topic onto something more interesting.
really, the truth of the matter is far simpler. programming is a medium. you can put engineering in it, art in it, whatever you like.
it's still for nerds though, sorry you'll never be cool.
i know i said "code is a medium" and "you can do art, design, engineering, whatever with code"
but it is very funny to me that programmers go "we're like engineers" when bureaucrat is right there
"what do you do" i create forms, send them to people, then people fill in the forms and i approve or reject requests with a 200, 400 or 500 code number. "it's just like building bridges"
