4 ms·
It's a slightly flowery (haha) way of putting it, but I agree whole-heartedly. I recently held a talk at a Python conference and I asked the question: degrees a
by polemic 13y ago
It's a slightly flowery (haha) way of putting it, but I agree whole-heartedly. I recently held a talk at a Python conference and I asked the question: degrees and job titles aside, are we scientists, engineers, artists or a combination of all of these. The overwhelming response was "all of the above".
My preferred term is "artisan". A software developer is applying techniques acquired primarily through experience, supplemented by training and outside knowledge. The artisan has a clear vision of the end result in high-level strokes, but the actual process and implementation is strongly dictated by experience and intuition.
Obviously there are different branches of software developer that have more characteristics of engineering, others of science, but I would hazard to guess that 80% of software development is essentially a guided artistic process.
- sz4kerto 13y agoYou should have said to them: 'you're only f* programmers'. Just as a joke. As a software engineer (?), I am quite fed up with people in their early 20s calling themselves 'architects', 'artist', etc. You're not a scientist, and not an artist. Being a scientist and a programmer is extremely different because of a simple, seemingly minor thing: the lenght of the feedback loop. As a programmer, your feedback loop is sometimes an hour, sometimes a few minutes, sometimes a second (IntelliSense/other IDE help), sometimes weeks. But for scientist, it's sometimes forever. So it's for very different personalities.
- polemic 13y agoHeh, well I actually say "developer", because "artisan" sounds douchey, "engineer" is (imo) incorrect and "programmer" tends to be a very narrowly defined role. Design and operational sides of a "developer" are not really adequately covered by "programmer". But that's semantics really. We're talking about what sort of techniques do you employ. It doesn't really help to say that programmers use "programming" techniques because it says nothing about the common attributes with other industries / professions. Which is where "artisan" comes in. A good developer is, IMO, more like an great chef - excellent technique, a wealth of experience across many disciplines and the best tools are the (ahem) recipe for success, not "good process".
- cconroy 13y agoI think "Process Implementer" is best. I can see both a mathematics and engineering of processes. Processes instead of computer, because it is more general and applicable to fields like biology. Also computer science might be the worst -- there is zero science in CS. Science has to do with nature![0] [0] R. Feyman: http://www.youtube.com/watch?v=lL4wg6ZAFIM http://www.youtube.com/watch?v=lL4wg6ZAFIM
- yohanatan 13y agoThere is a lot of overlap between CS and Physics. For one example: http://en.wikipedia.org/wiki/Digital_physics http://en.wikipedia.org/wiki/Digital_physics
- jaegerpicker 13y agoThat makes very little sense. I'm not saying all developers are scientists but the length of the feedback loop as absolutely nothing to do with the scientific method, which is the only real defining character of a scientist.
- deleted 13y ago[deleted]
- jacques_chester 13y agoLike in most professions, there are multiple feedback loops of varying length. A lot of the accidental complexity in each profession arises from the shearing effect between the different loops.
- hackula1 13y agoUnfortunately "programmer" has come to be synonomous with "fancy typist" by the people who pay the bills. "Engineer", "architect", and "developer" all imply someone who codes with a focus on X, whether it be low level reliability, high level design for scalability, or general competence and requirements gathering skills.
- kabouseng 13y agoNo that's not right. I would rather state software developers are not scientists since they don't have to conform to a scientific peer review process (journals etc.). (Please don't come with code review as peer review... just don't). Just the same software developers are not engineers since they don't have to uphold an industry certification process nor are they held to public safety and ethic standards.