You are NOT a Software Engineer!


News: You are NOT a Software Engineer!

  1. You are NOT a Software Engineer! (7 messages)

    Chris Aitchison posted "You are NOT a Software Engineer!" saying that you're a Software Gardener instead. An engineer knows what his output is supposed to be, a gardener works by gently tending his garden to a hoped-for result. Good writeup.

    Do you try to plan your gardens in such detail that you know where each leaf will be positioned before you plant a single seed? Do people expect estimates (or are they promises in your organisation?) on exactly how many flowers will have bloomed in one years time? Do you have a bonus tied to that? Things that would be perfectly reasonable to plan for a skyscraper seem a little ridiculous when you are talking about a garden.

    You probably have a good idea of what your garden should look like a week into the future. You might even have a rough idea of the shape you expect it to be in a year from now. But you have no idea of where each branch, leaf, stem and flower will be a year from now, and if you say you do then you’re really only guessing.

    If you were building a bridge or a skyscraper and you told me, before you began, that you knew exactly how it would look when it was finished – I would believe you. If you told me that you knew to some insane degree of accuracy how long it would take to get to ‘finished’ – I would believe you again. That’s how Engineers roll. Tell me the same thing about your garden and I’m gonna call bullshit. Tell me you are going to make it grow faster by hiring more gardeners and I’m gonna laugh at you.

    Threaded Messages (7)

  2. Super[ Go to top ]

    Super definitions, looks like we have to agree.

  3. > Why do so many "gardens" fail and so many skyscrapers succeed?

    Because almost nobody tries to build a skyscraper in his backyard in his free time? ;-)

    There are professional gardeners, and they really know what they are doing.

    Engineering is not about knowing where every leaf will grow.

    I guess the guy is neither an engineer, nor a good gardener ;-) (I didn't check)

    Sounds like marketing-managing unverified crap.

  4. You are NOT a Software Engineer![ Go to top ]

    I like the metaphore, it's very poetic BUT...

    While a lot of people in our industry can be characterized as "software gardeneres", that's not the way it should be. We've all been able to get away with it for a long time, making people believe that what we do is somehow inherently complicated to the point of being completely unpredictable. That building software is so hard that it can only be understood by a select few and that questioning that is in itself a proof of ignorance.

    Reality is starting to catch up though and customers aren't buying it anymore. As tools and methods evolve, so do expectations. We are expected to properly estimate the efforts involved in any given development and we are expected to deliver what was agreed upon - on time and on budget.

    Iterative, agile processes are great, as long as they deliver value. But when they fail to do so, we (software "gardeners") can't just blaim the customer or the organization or anyone but ourselves anymore. The "software as a garden" is not an evolutionary thing. The process may be based on continuous improvement, but it's still expected to proceed towards a specific goal, and according to a predictable schedule.

    I guess my point is that we need to be more engineers than "gardeners" because this industry will not accept the idea of software development being unfathomably complicated for much longer. And I have this nagging suspicion that this article is a push-back against these new (very reasonable) demands that are starting to materialize in the IT industry.

  5. Please...[ Go to top ]

    Are engineering principles applied to software?  Of course they are.  They are used when building software for a fighter jet or power station.  Why is it not used for business/desktop software?  Because nobody is going to pay six figures to manage a list of customers and contacts.  Comparing skyscrapers to 98% of software is comparing apples to oranges.  The tenants/users have completely different expectations about the product.  They don't expect their skyscraper to expand with their business and get taller each year.  They don't expect their skyscraper to be equally useful as a factory or hotel in a few years and they don't expect it to cost $1000.

  6. I mostly agree with the author about software that is developed in a cultural environement like enterprise software. Human factor makes building and using software a cultural event but it is not true for software where human is a weak factor such as system software. Those software are really engineered.

  7. After all is said and done, Chris' article is nothing more than a quibbling over semantics.

    To imply that, in order to be an engineer, you must know where every leaf and branch will be placed ahead of time, is absurd. There is a reason that, in our profession, "engineer" carries the modifier "software", which implicitly means the product is pliable, moving, not-fixed.

    Merriam-Webster offers definition 3c for engineer:

    "a person who carries through an enterprise by skillful or artful contrivance."

    The word "artful", in and of itself, carries the understanding that the process may be more fluid, dynamic, and subject to change on the spur of the moment. This properly defines some of the newer methodologies, such as Agile, which relies on continual changes introduced through a prototype/feedback loop.

    Anyone who has developed software knows you are a damn fool to plan an exact position for every leaf and branch up front. As soon as the end user gains a visual perspective of the project, you can guarantee yourself, those leaves and branches are going to change locations.

    The beauty of software engineering is that, if built correctly, I can dynamically place those leaves and branches anywhere I want, anytime I want, and the product will function perfectly. Such is not true if you limit yourself to the narrow concept of engineering that Chris takes, which relegates that term only to builders of solid objects.

    Ron Grimes


  8. Hi,[ Go to top ]


    Have you ever wondered if what you know about is accurate? Consider the following paragraphs and compare what you know to the latest info on pass4sure 642-982.


    The information about  presented here will do one of two things: either it will reinforce what you know about  or it will teach you something new. Both are good outcomes.

    In most countries, Engineers need a license to build a bridge. pass4sure HP2-Z17 Gardeners have no such government-mandated quality control. Unfortunately, the quality of your gardeners is going to have a bigger influence on your gardens success than any other factor – so you’d better be good at picking the wheat from the chaff. pass4sure JN0-332 Only an experienced gardener really knows another good gardener when they see them. Someone who has merely managed gardening projects will have no idea what they should be looking for (though they won’t know this). So if you are not a gardener, but need to recruit good gardeners, pass4sure 642-874 then quickly find an experienced gardener you trust to vet your candidates.

    There's no doubt that the topic of  can be fascinating. If you still have unanswered questions about , you may find what you're looking for in the next article.