
Why Are There No Technicians in Software Engineering? - cgenschwap
https://www.worldofbs.com/software-02/
======
lambdatronics
I'd argue that a sizeable fraction of jobs titled software engineer would be
more properly categorized as software technician or software designer.
Designers tend to use flexible materials (clay, Python, breadboards) that are
easy to prototype in, even if they don't stand up well in industrial settings.
Technicians can rig up serviceable systems just by plumbing pre-engineered
components together. Not everything needs to be engineered.

Also, why do we have to put up with advanced tools being pains-in-the-arse? I
really like Julia's manifesto: "Even though we recognize that we are
inexcusably greedy, we still want to have it all."
[https://julialang.org/blog/2012/02/why-we-created-
julia/](https://julialang.org/blog/2012/02/why-we-created-julia/)

~~~
cgenschwap
I think you make a good point here, that the majority of software jobs could
be classified as software technicians. I feel that designers have a slightly
different role that I can't quite put my finger on. For instance, I feel that
clay is a different concept from Python or breadboards -- since clay design
usually only has the abstract function designed, and doesn't actually
implement it (ie. it is not prototype functionality).

I think Python and breadboards are rapid-prototyping materials (possibly
similar to 3D plastic printing?), but especially with breadboards, I've found
EEs tend to forgo them entirely during prototyping phase since once you've
learned a proper engineering tool it is _really_ hard to go back.

Certainly many advanced tools are a pain-in-the-ass due to poor UX, but there
is also the idea that a complicated problem can only get so simple. To deal
with complex problems -- which advanced tools should do -- they will need to
have some level of complexity that needs to be learned.

Julia is an exciting language, but even there it has its own levels of
complexity. A complex problem can only get so simple, and proper engineering
tools expose this leftover complexity to the engineer. Whereas beginners tools
tend to hide this.

