7 ms·
I was at a networking event once, and handed a gentleman my business card. My title listed on the card was 'Software Architect'. He himself was an actual Arch
by binarymax 13y ago
I was at a networking event once, and handed a gentleman my business card. My title listed on the card was 'Software Architect'. He himself was an actual Architect (who designs physical structures), and he became upset and claimed I had absolutely no right to that title. I had never given it much thought until that point, but some folks are very protective over that sort of thing.
- umsm 13y agoI think he was over-reacting. Titles describe what we do, and to a certain degree, there can be a number of titles that can describe the work we do.
- delinka 13y agoI hate to break it to the guy, but if you architect software systems, you are indeed a Software Architect. You're not "an architect," you did not call yourself "an architect," but it's the word that fits the job. Now, if the World of Academia could attempt to catch up with technology (I know, it's a mad mad world that travels at high velocity and may even continue to accelerate, but a guy can dream) and start offering detailed courses of study for Computer Engineers & Architects, Data Engineers & Architects, Software Engineers & Architects, etc ... will the physical engineering world still have a problem with sharing their title?
- npsimons 13y agoIn 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".
- evilduck 13y agoI 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 through, desktops which do not involve desks, perls you can't wear, pythons which are neither British or snakes, rubies which are not red, gnu's which do not roam plains, dog-fooding which involves neither dogs or food, running which does not involve feet, killing things which does not involve death, zombies which are real, frameworks which do not involve lumber, libraries which do not involve books, bricks which cannot be built with, ajax you cannot clean with, bandaids that do not stop bleeding, androids which are not humanoid, chatting without talking, hits that are not violent, etc.
- npsimons 13y agoYou forgot monkeys that fling code instead of feces ;)
- delinka 13y agoI can't figure out which comment to reply to, so allow me to stick this comment here... 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.
- hcarvalhoalves 13y ago> 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. Developer.
- catenate 13y ago> 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. Peter Naur (of Backus-Naur form) called it "theory-building". https://dl.getdropbox.com/u/502901/naurtf.pdf https://dl.getdropbox.com/u/502901/naurtf.pdf
- zalzane 13y agoI dunno about software architects, but it's not terribly surprising that people are defensive over the engineering title. The difference in difficulty between computer science courses and the engineering courses is like night and day, so it doesn't really surprise me when my EE/CE friends are frustrated when compsci majors try to call themselves engineers.
- npsimons 13y agoIf a University's CS courses aren't hard, their CS grads will be worthless. Not only that, but if their CS program doesn't include at least the same freshman level classes that the other majors have to take (phys, chem, EE, etc), then their CS grads will be ill-equipped to work in the domains they need to. The attitude you describe of your EE/CE friends very much reminded of a fortune file quote that's been floating around for quite some time: "Yes, I am a real piece of work. One thing we learn at ULowell is how to flame useless hacking non-EE's like you. I am superior to you in every way by training and expertise in the technical field. Anyone can learn how to hack, but Engineering doesn't come nearly as easily. Actually, I'm not trying to offend all you CS majors out there, but I think EE is one of the hardest majors/grad majors to pass. Fortunately, I am making it." -- "Warrior Diagnostics" (wardiag@sky.COM) "Being both an EE and an asshole at the same time must be a terrible burden for you. This isn't really a flame, just a casual observation. Makes me glad I was a CS major, life is really pleasant for me. Have fun with your chosen mode of existence!" -- Jim Morrison (morrisj@mist.cs.orst.edu)
- nrivadeneira 13y agoI graduated with an ME degree and I now work as a software developer. I find that the traditional engineering coursework is more difficult than what I find with regards to CS. It's pretty easy to become a self-taught developer and even go through the online courses coming from MIT, etc. It's significantly more difficult to do the same for traditional engineering. In addition, as someone mentioned elsewhere in the comments, the cost of failure in software doesn't often result in death.
- 13y ago
- nutmeg 13y agoI know a software architect who was formerly an actual architect. His Facebook profile says: Architect (Buildings, not computers) and Architect (Computers, not buildings)
- mturmon 13y agoThanks for that. Whether or not he was "right", it's salutary to be reminded of the relation of what we do to the more established "professions" requiring licensing, passing exams, and continuing education. My father was a CPA, and he used to occasionally go on a little rant about the distinction between CPAs and accountants.