
If Architects Were Developers - justin_allen
http://forward-slash.in/2017/04/23/if-architects-were-developers/
======
lotyrin
In my experience, places that can't hire talent tend not to filter to people
with strong skills (either in specific or in general) and just want bodies in
chairs that they can use to manipulate <specific material>, so they write that
into descriptions.

Also in my experience, places that can hire talent tend to get to be picky and
can look for folks which have the general skills (which they interview for)
but also can look specifically for people that already have experience with
<specific material> so they write that into their descriptions.

In neither case does it make sense to write a description that asks for skills
that require subjective self-assessment, since people who don't know what they
are doing also have no ability to accurately self-assess. In neither case does
it make sense to look for generic skills and train for specific ones when you
can just acquire specific ones.

Conversely, there's no way for the organizations to put an honest signal into
a job posting that distinguishes them as one or the other class of
organization above; anyone can (and probably will) say "we only hire the
best", "our product(s) are high-quality" or "we take engineering seriously".

There's too much money to be made as it is, with e.g. the average enterprise
IT team or the average startup, software teams don't generally have to be both
effective and efficient with their labor, just maybe or the other if either.

------
ccvannorman
As a Unity3D game developer, I find tech jobs that get specific about what
tools are used to be _helpful_ to me.

I _want_ to stay in my toolset and do things I'm especially experienced with
and good at.. there _is_ , for me, a significant difference between using
Unity3D and Unreal or making 2D games versus 3D games. Sure, I could move to
other domains but I _would_ be less effective (at first).

I feel like this is a false problem with a few valid points that are blown way
out of proportion.

------
apostacy
One thing I've pondered a lot is where UX fits in the domain of software
engineering.

While we should certainly be open to new ideas, I think there is too much of a
tendency to completely ignore the medium. Imagine if we did physical
construction like this. Since building construction analogies are often used
to describe software development, we can get a really good idea of what's
wrong with neglecting the medium.

Here[1], a UX designer ponders why we can't "deprecate" door handles, and asks
why we can't simply rip out all load bearing door frames, which would incur
great expensive and compromise structural integrity, all in service of
removing a feature nobody wanted removed.

[1] [https://ux.stackexchange.com/questions/60287/why-don-t-we-
re...](https://ux.stackexchange.com/questions/60287/why-don-t-we-remove-door-
handles-and-let-doors-open-both-ways-inwards-outwards/60294)

------
officialchicken
The statements made in the article do not align with reality - just the idea
of what an architect does. After many delivered buildings and many delivered
systems/apps/API's I can say for certain that the analogy just doesn't hold
any water. It's probably worse than the 'car engine' mechanic analogy to
software.

Software is missing a layer of people that role of the Architect provides.
They are used more like your lawyer - acting as an advisor and agent on your
behalf in your best interest. And allowed to make certain kinds of decisions
for you when you are not present (ask to see the contract first!). It just so
happens that there is a 'creative' step at the beginning.

I wouldn't spec (which is a written doc accompanying the drawings) which brand
of steel is used, only the size (W10x44 36ksi). And I don't spec what brand of
concrete is used (4" 2500 psi on WWM and #5 rebar on 4" crushed rock on top of
a VB, maybe the color and finish if it's fancy). I do spec that it's a brick
wall, some steel columns, and the use of bar joists for the membrane roof. I
would spec where and how your fire alarms and exit signs are placed due to
codes, and I would determine the maximum building volume that could be put on
site. And certainly have some details on how to work with seismic-related or
energy conservation issues such as the R= value of insulation.

But it's up to the General Contractor to submit to the architect during
construction - and sometimes provide an 'Alternate bid' during the bidding
phase that all of these details get worked out. In other words, after the
design is completed but before construction (and finance) has begun. That's
when the Software engineer says, 'Hey, let's use Python and Django' to build
this - it meets or exceeds all the constraints and fits in the budget.

~~~
davidbanham
Exactly. For the kinds of job ad the author describes I think a metaphor of
developer to framing carpenter is more apt.

------
zeveb
Part of the issue is that our profession is so young. Engineers, in
particular, have had centuries to professionalise. I our field, though, there
are still lots of open questions, particularly with regard to the economic
tradeoffs between development speed and code safety, and much of the argument
is qualitative vice quantitative.

