I know, right? And the reason that would be so weird is because we, as a society, have agreed on the minimum standards that must be met in order to call yourself a doctor. You can’t practice medicine w/out a license, and you can’t get a license w/out a medical degree (although, as soon as I typed that I realized I don’t know if that’s strictly true; but I also can’t imagine an example where it wouldn’t be – what would “or equivalent experience” look like for a doctor?).
But we don’t have anything like that for software development (or IT in general). Did you ship some code? Congratulations, you’re a programmer! Or are you? It depends on who you ask.
Same here. And again, I’m not knocking folks w/out credentials, and I totally agree that the web is the place to go to keep up with the current state of the art (such as it is). Just imagine what it’d be like if doctors had to deal with the same pace of change we see in technology:
Sure, you’re an established physician, well-versed in anatomy and how the various organs interact to keep us hale and hearty (and alive), but check this out: from now on, some portion of your patients are going to have more than one liver. They’ll have 2n (where n >= 1) livers, to be precise. Multiple livers greatly increase throughput for the processing of ethyl alcohol, thus allowing people to operate at “lush scale”.
[12-18 months later]
OK, I know you’re just starting to feel like you’re finally getting the hang of troubleshooting parallel metabolization issues, but never mind all that. The new thing is Liverless! You should plan to remove all your patients’ livers as soon as possible.
This is a really interesting question.
My gut reaction is “no.” Software is at least nominally intentionally designed, and who would deliberately build a system as convoluted as the human body? I mean it’s a mess: multiple incompatible interfaces, many many layers of abstraction, overloaded operators, functions with side effects, global state, too-clever-by-half encodings, and worst of all, no documentation.
OTOH, sufficiently long-lived codebases can, I think, accurately be described as having evolved over time (due to different environmental pressures, even). And if you spread out enough of those systems and let them interact according to a few simple rules or protocols, such as we have with the internet, then it’s not too much of a stretch to describe it as an ecosystem with it’s own emergent properties, similar to biological systems.
My money’s still on biology being hella’ way more complicated than technology, but give it time, maybe. If you subscribe to some version of the singularity, then it’s only a matter of time before our tools become more complex than we’re even capable of understanding.