Earlier quoted context omitted.
In all fairness, there has never been anything quite like "architecting" software, or "engineering" software. As Brooks put it, software is the most complex thing humans have ever built; perhaps we should find some other term that sets us apart from ordinary engineers and architects. Or we could just continue working, not caring what other people think. That's usually what I do, after I tell people I'm a "code monkey…
I don't see the issue. Software is very abstract and tons of our vocabulary is stolen from concrete counterparts as metaphors, I can't see how you can object to "architect" without it being totally arbitrary or fundamentally not understanding computers. Just a short list of terms which we've appropriated for software: Bugs that don't bite, computer mice that don't squeak, bits you can't bite, windows you can't see th…
If we're going to perform all these pedantic semantic antics (did I really just do that?), then allow me to ruminate a moment: I do "develop" software. "Develop" has this connotation in my mind of a slow, meandering, possibly goal-free path. You "develop" skills over time - are they ever fully developed? Also, you "develop" film (and its prints) which certainly takes time, but is also kind of a curated, artistic process. Although I do feel that, at times, I sculpt, craft and develop a bit of software, I do this with ideas that are not quite formed; goals which are unknown; a kind of "I'll know it when I see it" project.
I do "architect" systems. I have to decide on a backing store and the shape of the data in the store: RDBMS? KV Store? binary blob on disk? I have to decide on a communication method between the app and the data store: local, native API? Network socket using the store's client libs? HTTP CRUD? I have to consider the ways the user will use this app: touch? mouse? keyboard? does it need new gestures? "hot keys" or "chording"? I'll admit the user interaction is a bit more art, but there's usually some kind of specification for it.
I do "engineer" systems. This feels more like implementation to me: I implement that data design; I implement the communication code (APIs don't plug themselves in to my project); I work around pitfalls and shortcomings continuously ...
I am an artist, a sculptor; I am an architect and engineer; I am a handy-person and problem solver. Hi, I'm delinka and I create software.