And Get Rid Of Those Pesky Programmers

Every now and then some email or website comes along promising to prove Fred Brooks wrong about this crazy idea he wrote in The Mythical Man Month (highly recommended reading!) that there is no silver bullet which by itself will provide a tenfold improvement in productivity, reliability, and simplicity within a decade.

This time around, the promise was much like others, but they felt the need to note that their revolutionary new application/framework/doohickey will allow business analysts to directly build applications 10 times as fast without the need for programmers!revenge-nerds

Ah yeah! Get rid of those foul smelling pesky programmers! We don’t need em!

Now wait one dag-burn minute! Seriously?!

I’m going to try real hard for a moment to forget they said that and not indulge my natural knee jerk reaction which is to flip the bozo bit immediately. If I were a more reflective person, this would raised a disturbing question:

Why are these business types so eager to get rid of us programmers?

It’s easy to blame the suits for not understanding software development and forcing us into a Tom Smykowski moment having to defend what it is we do around here.

Well-well look. I already told you: I deal with the god damn customers so the engineers don't have to. I have people skills; I am good at dealing with people. Can't you understand that? What the hell is wrong with you people?

Maybe, as Steven “Doc” List quotes from Cool Hand Luke in his latest End Bracket article on effective communication for MSDN Magazine,

What we've got here is a failure to communicate.

Leon Bambrick (aka SecretGeek) recently wrote about this phenomena in his post entitled, The Better You Program, The Worse You Communicate, in which he outlines how techniques that make us effective software developers do not apply to communicating with other humans.

After all, we can sometimes be hard to work with. We’re often so focused on the technical aspects and limitations of a solution that we unknowingly confuse the stakeholders with jargon and annoy them by calling their requirements “ludicrous”. Sometimes, we fail to deeply understand their business and resort to making fun of our stakeholders rather than truly understanding their needs. No wonder they want to do the programming themselves!

Ok, ok. It’s not always like this. Not every programmer is like this and it isn’t fair to lay all the blame at our feet. I’m merely trying to empathize and understand the viewpoint that would lead to this idea that moving programmers out of the picture would be a good thing.

Some blame does deserve to lie squarely at the feet of these snake oil salespeople, because at the moment, they’re selling a lie. What they’d like customers to believe is your average business analyst simply describes the business in their own words to the software, and it spits out an application.

The other day, I started an internal email thread describing in hand-wavy terms some feature I thought might be interesting. A couple hours later, my co-worker had an implementation ready to show off.

Now that my friends, is the best type of declarative programming. I merely declared my intentions, waited a bit, and voila!  Code! Perhaps that’s along the lines of what these types of applications hope to accomplish, but there’s one problem. In the scenario I described, it required feeding requirements to a human. If I had sent that email to some software, it would have no idea what to do with it.

At some point, something close to this might be possible, but only when software has reached the point where it can exhibit sophisticated artificial intelligence and really deal with fuzziness. In other words, when the software itself becomes the programmer, only then might you really get rid of the human programmer. But I’m sorry to say, you’re still working with a programmer, just one who doesn’t scoff at your requirements arrogantly (at least not in your face while it plots to take over the world, carrot-top).

Until that day, when a business analyst wires together an applications with Lego-like precision using such frameworks, that analyst has in essence become a programmer. That work requires many of the same skills that developers require. At this point, you really haven’t gotten rid of programmers, you’ve just converted a business type into a programmer, but one who happens to know the business very well.

In the end, no matter how “declarative” a system you build and how foolproof it is such that a non-programmer can build applications by dragging some doohickeys around a screen, there’s very little room for imprecision and fuzziness, something humans handle well, but computers do not, as Spock demonstrated so well in an episode of Star Trek.

“Computer, compute the last digit of PI” - Spock

Throw into the mix that the bulk of the real work of building an application is not the coding, but all the work surrounding that, as Udi Dahan points out in his post on The Fallacy of ReUse.

This is not to say that I don’t think we should continue to invest in building better and better tools. After all, the history of software development is about building better and better higher level tools to make developers more productive. I think the danger lies in trying to remove the discipline and traits that will always be required when using these tools to build applications.

Even when you can tell the computer what you want in human terms, and it figures it out, it’s important to still follow good software development principles, ensure quality checks, tests, etc…

The lesson for us programmers, I believe is two-fold. One, we have to educate our stakeholders about how software production really works. Even if they won’t listen, a little knowledge and understanding here goes a long way. Be patient, don’t be condescending, and hope for the best. Secondly, we have to educate ourselves about the business in a deep manner so that we are seen as valuable business partners who happen to write the code that matters.

What others have said

Requesting Gravatar... beefarino Jun 12, 2009 9:27 PM
# re: And Get Rid Of Those Pesky Programmers
Interesting post - I see this sentiment quite a bit, and it makes me wonder: do other engineers have to cope with the same thing? I mean, are there city planners out there who really want to do civil engineering themselves? Are there car designers who want to usurp the role of the mechanical engineer?

From my limited experience, the answer is no. I've worked with optical engineers - no they were not revered as gods or shunned as unwashed nerds, but they were respected and trusted as a valued part of the business plan. I've also worked with civil engineers who seemed to be held to the same measure.

So what exactly is it about *software* engineering that promotes the attitude you describe?

Software engineering is unique in the respect that change plays such a huge role. Not just requirements change, I mean environmental change. E.g., the civil engineer doesn't have to worry about the gravitational constant changing, right? But the software engineer does have to cope with dynamic fundamentals, such as OS behavior, an impossible-to-comprehend matrix of hardware configurations, etc.

Moreover, one can become a software engineer though experience alone, with absolutely no formal training or certification. I've done it, I've seen it - swing a dead cat at an MSDN event or user group and chances are you'll hit someone with a psychology degree. This is not possible for most other types of engineering. "Well, no, I haven't designed a steel building frame, but I have built a few treehouses in my spare time. They're probably similar enough, so let's get started..."

I often wonder if these two things - the uniqueness of software engineering and the absence of any required formal education - contribute to the attitudes you describe in this post.

Or maybe software guys are just jerks.
Requesting Gravatar... Colin Jun 13, 2009 2:03 AM
# re: And Get Rid Of Those Pesky Programmers
Am I a bad person for asking Wolfram Alpha to compute the last digit of PI? Unfortunately it's not got anything interesting to say about that.
Requesting Gravatar... Andy Jun 13, 2009 7:00 AM
# re: And Get Rid Of Those Pesky Programmers
This time around, the promise was much like others, but they felt the need to note that their revolutionary new application/framework/doohickey will allow business analysts to directly build applications 10 times as fast without the need for programmers!


And this "revolutionary new application/framework/doohickey" is developed by who? ;) The irony is that they need programmers to get rid of programmers...
Requesting Gravatar... KevDog Jun 13, 2009 7:02 AM
# re: And Get Rid Of Those Pesky Programmers

So what exactly is it about *software* engineering that promotes the attitude you describe?


As a corollary to your comments above, I'd like to add that part of the problem is the underestimation of difficulty by stakeholders on what it takes to create software. I mean really, all the coders do is type, anyone can type, we all learned it in junior high for heaven's sake.

When you look at a civil engineering project, say a bridge, you end up with a massive structure. But no matter how sophisticated a piece of software is, the user sees the same thing: a window on a monitor. So there is a disconnect between level of effort and perceived result. All of which combines to form an opinion on the part of our stakeholders that software engineering is far easier than it actually is.

This leads to a defensive attitude on the part of software engineers. Back when I was younger and a much bigger asshole than I am now, my typical response to a marketing or project mangers types assertion that the current project was "easy" was to offer them my keyboard and to call me when they were done. I have much gentler ways of communicating the same idea these days.
Requesting Gravatar... beefarino Jun 13, 2009 9:02 AM
# re: And Get Rid Of Those Pesky Programmers
@KevDog - excellent point. Software is deceptively simple, a bridge is not.

One more example - having worked on software teams for defense projects or healthcare equipment has been a *very* different experience from the rest of my career - and I think it's due to the lack of marketing / sales during the development process.
Requesting Gravatar... david.adsit Jun 13, 2009 9:48 AM
# re: And Get Rid Of Those Pesky Programmers
What baffles me most is that the programmers I work with who are in the mediocre to poor skill levels and yet have significant years of experience all seem to want to be replaced by software. We regularly go round about round about whether this or that designer will allow the business to make their own software without us. It never works, the software is always slow and buggy and never very useful. What I want to know is, why would someone WANT to replace themself with a bit of software that does their job less well? Is there no pride? Building elegant, effective software is a joy. Communication is an integral part of the "effective" requirement. Skill, training and aptitude are integral to the "elegant" requirement.
Requesting Gravatar... Ben Taylor Jun 13, 2009 9:50 AM
# re: And Get Rid Of Those Pesky Programmers
"Why are these business types so eager to get rid of us programmers?"

Because we cost a lot and many of the projects we work on completely fail or deliver little/less over what was in place previously.

While, many of us strive to improve our skills and work hard towards providing business value, many do not. This (majority?) often do more harm than good on a project, but unfortunately the people that hire and fire find it hard to differentiate ("He has WCF, BizTalk & MCSD on his resume? Cool. Hire him.")

IMO we are still an immature profession but we get away with it via a cloak of technical obfuscation i.e. our bosses have no idea what we are talking about.
Requesting Gravatar... Haacked Jun 13, 2009 11:12 AM
# re: And Get Rid Of Those Pesky Programmers
@Ben Taylor great point. We can't control the behavior of others, but we can control ourselves and make ourselves better. Given the software project failure rate, it is kind of no wonder that some biz types feel this way.

Of course, I sort of feel the same when I look at how the so called biz types have run our financial system to the ground in the past year ;) Maybe we can replace Quants with software. ;) I digress.

The important take away is to look at what we can do to make the profession of software development more mature and better. Part of that is educating others without derision and scorn. :)
Requesting Gravatar... The Luddite Developer Jun 13, 2009 11:41 AM
# re: And Get Rid Of Those Pesky Programmers
Your post put me in mind of the rise of the machines and the fall of mankind (or programmer kind).

So we develop A.I. software that can write programs, perform business analysis and write specs. Now we programmers are redundant. In even less time the business men (the suits) would be replaced. After all we (programmers) have already figured out the true worth of the suits, the machines will have them and the bankers in the shredder in no time.

The problem we now have, until we write such A.I. software, is watching for terminators returning from the future.

We programmers need to keep to luddite code.
Requesting Gravatar... Ben Taylor Jun 13, 2009 1:11 PM
# re: And Get Rid Of Those Pesky Programmers
@haacked Don't get me wrong. Programmers are not the only people at fault when it comes to failing software projects! All the cogs need to look hard at the value they add.

I also 100% agree that experienced programmers have a responsibility to encourage and mentor others. However, any given project MUST be staffed with people that have the appropriate capabilities.

The "let's chuck a random mix of .NET generalists at the project" school of thought still seems way to prevalent to me.
Requesting Gravatar... Greg Jun 13, 2009 2:17 PM
# re: And Get Rid Of Those Pesky Programmers
I definitely understand this sentiment, but if anything it reminded me of a "guru" at my old job. He couldn't program to save his life, but somehow talked his way up. He ended up surrounded by people of similar skill level, but they produced very visible results. Sure, they're then debugging live projects for months, but all the managers ever remembered is that the thing went live.

Maybe that has something to do with it: there are enough terrible programmers out there who have been easily replaced that these managers have just overgeneralized the "rule".
Requesting Gravatar... David R. Longnecker Jun 13, 2009 3:13 PM
# re: And Get Rid Of Those Pesky Programmers
As some have mentioned, a bit of the 'challenge' in dealing with customers (as coders/designers/architects) is conveying value. We have a stigma within our organization (public education) that no one is an expert unless they are a) from the outside or b) carry a briefcase and wear a suit (jokingly).

Unfortunately, as I nor others in our department have "educational" degrees, we're considered lucky we can tie our own shoes. To not have a teaching degree (even though most of us have post graduate degrees in other areas) is considered blasphemy--how could we possibly understand "education" without an education degree?

We can tell customers the sky is blue and be laughed at, but once an 'expert' from outside tells them it's yellow, they're all aboard. Most of our customers agree they're not 'against' us, but that's simply "how things work" since we're an educational organization. I have my doubts with this, but with most companies the culture is king.

Our group, specifically, has gained a bit of ground in the past year. With the cuts in educational budgets, our primary focus is working with educators (classroom/central office) and focusing on process improvement (mostly through migrating paper and pencil processes to electronic systems). At that point, they can quantify the 'value' of the endeavor (savings on paper, transmission time, ease of access, etc) and we programmers again have tangible value.

It's not great, but it's a start and it's working to enhance the image of information workers within the culture.
Requesting Gravatar... Dave Jun 13, 2009 3:28 PM
# re: And Get Rid Of Those Pesky Programmers
Interesting discussion,

Back in the day, the projects I worked on, started with Mechanical Engineering, then it was turned over to Electrical Engineering (my job), then to Software. The projects were always behind schedule, but Mechanical Engineering was usually blamed because they always had something that didn’t work right. These were not trivial projects, major surface mount pick and place machines costing major bucks. So while they were fixing the hardware, Electrical and Software could fix their bugs. Now software is in the cross hairs, Mechanical and Electrical is done waiting on Software. The problem is management can see Mechanical and Electrical hardware, can’t see software. They put up with Software BS for awhile, now they are getting hammered, party over. I am talking major hammering. Haven’t been in that rat race for a year, suspect it is still the same.
Requesting Gravatar... configurator Jun 13, 2009 3:48 PM
# re: And Get Rid Of Those Pesky Programmers
@Ben Taylor great point. We can't control the behavior of others, but we can control ourselves and make ourselves better.


We can make ourselves better. The problem is that we, the ones reading these very words, are never the problem. If we didn't want to make ourselves better, we wouldn't be reading this. The problem is none of us can control the rest of the so-called software engineers.
Requesting Gravatar... Dave Jun 13, 2009 3:52 PM
# re: And Get Rid Of Those Pesky Programmers
One follow-on to my comments above. Usually the Mechanical and Electrical engineers worked pretty well together. They usually broke up the software to various engineers, so what you got was “not my job”, I am waiting on so and so to finish. As I mention above, this BS worked for awhile, not anymore. The problem as I see it was the Software engineers were in their own world, they didn’t look at the whole project just their little piece. Just my observations, spent 35 years in this environment. The world has changed, Software can’t BS management anymore, at least at the company I work for.
Requesting Gravatar... Haacked Jun 13, 2009 6:39 PM
# re: And Get Rid Of Those Pesky Programmers
@configurator, David made a good point. Maybe it's not making ourselves "better" developers that will solve this (though I don't see why we wouldn't continue to try bettering ourselves anyways), but becoming better at conveying the value of what we do.

That's something I learned a while back as a consultant was finding ways to convey value by having the people we were pitching define in their own words how much money the project would either save them, or make them. When they were the ones producing the back of the napkin estimates, that usually helped sell the project.

It's amazing that many of these guys would come into a meeting not having thought of how much it's worth. Then you ask them to estimate and they're eyes bulge open. "Wow, this will save us $10 million a year!".
Requesting Gravatar... Lenny Jun 13, 2009 7:09 PM
# re: And Get Rid Of Those Pesky Programmers
I started reading this, but you lost me (ironically) just at the following paragraph / line
What we've got here is a failure to communicate.


So what exactly is the point of this post, in 2 lines please !
Requesting Gravatar... Tim Scott Jun 13, 2009 9:55 PM
# re: And Get Rid Of Those Pesky Programmers
There's not much that needs saying about idea of removing software developers from software development. Have at it! I am reminded of the words of Will Rogers, "Sometimes the best way to convince someone he is wrong is to let him have his way. "
Requesting Gravatar... Andrew Steele (ahsteele) Jun 13, 2009 10:54 PM
# re: And Get Rid Of Those Pesky Programmers
I read this post in Google Reader and decided to come to the original post because I knew there would be good discussion surrounding the topic. I certainly was not disappointed by conversation.

@@Ben Taylor, the Wikipedia article on Software Engineering is especially pertinent to your point.
Since the field is still relatively young compared to its sister fields of engineering, there is still much debate around what software engineering actually is, and if it conforms to the classical definition of engineering.
It is this point specifically that generates the debate about the value of a software engineer is.

Further, companies are selling CIO's on the idea of Business Process Management (BPM) and Service Oriented Architecture (SOA) as an answer to the high cost of internal enterprise development. The idea is setup simple services to accomplish business tasks and then allow business analysts to assemble those services into a business process. A good example of this is IBM's BPM Suite.

Finally, @haacked thank you for an excellent and thought provoking blog post.
Requesting Gravatar... Matt Sherman Jun 14, 2009 1:43 AM
# re: And Get Rid Of Those Pesky Programmers
I think what we'll find is that there is always a need for logicians (and linguists). Even if the languages become perfectly declarative, the ability to describe processes unambiguously (and understand their dynamics) will still be required.

People who can do that might or not be called "programmers", but that's ultimately why we're valuable.

http://clipperhouse.com/-y
Requesting Gravatar... David Nelson Jun 14, 2009 8:30 PM
# re: And Get Rid Of Those Pesky Programmers
I think Andrew Steele hit the nail on the head with his quote from wikipedia. It has long been my belief that the biggest difference between software engineering and other engineering disciplines is that it is still so young, and yet so incredibly vital. The computer age snuck up on the world so quickly, that governments and corporations and anyone trying to get anything done in the modern world have had to throw any willing warm body they could find at the problem just to keep up. Its shocking when you stop and think about it, but the internet is only about 20 years old, and has only really been in wide-spread public use for about 14 years or so. That has left us with a glut of under-educated, under-experienced, under-motivated developers trying to keep the software infrastructure of the world in place with duct tape, while the foundations of that infrastructure are constantly shifting underneath them.

Unlike the vast majority of other scientific and mathematical disciplines - where the benefits and perils are fairly well known, because we have had time to discover them - we are still blazing the trail of "best practices" and even the basic theories of man/machine interaction. We are still trying to figure out what we want from computers and, therefore, from computer programmers. Its no surprise then that outsiders have a hard time seeing our value, even if they still believe that we are necessary. We simply don't have enough experience as an industry or a discipline to be able to truly articulate or demonstrate our own worth.

Add to that the still-staggeringly-high software project failure rate (duct tape doesn't scale well), and its no wonder that business types are jumping at the chance to replace programmers with something more "reliable", something that can be more easily quantified. We can shake our heads in dismay all we want, we can warn them that it won't work, but we won't be able to convince them until we can show them in no uncertain terms that we have a better way. So far we, as an industry, haven't been able to do that. Unfortunately, the biggest obstacle standing in the way of that goal is time: time to grow, time to mature, time to learn. In the meantime, I am afraid we will have to continue to grimace and suffer through misguided attempts to find the silver bullet.
Requesting Gravatar... Umer Jun 14, 2009 11:50 PM
# re: And Get Rid Of Those Pesky Programmers
What a looooong story to tell haan!
I think such stories are not morethank just talks leading further talks.
Programmers have lot to do in the future. If a team is not productive to the level then it should be analysed more in a context rather than making such statement for all 'X'. Remember we are talking baout human and every human by Nature is unique.
Requesting Gravatar... Filini Jun 15, 2009 2:03 AM
# re: And Get Rid Of Those Pesky Programmers
I work for a company that makes one of those frameworks, a program that should allow Bank Business Analysts to create credit acquisition flows, designing the flow of activities, designing the user Forms, connecting to external data sources, and so on.

The truth is that big companies, like Banks, go totally NUTS when your salesperson goes there shouting "yesterday you needed analysts AND programmers, but from now on, with my program, you will only need analysts". The customer really goes in frenzy mode, sometimes acquiring your software even without getting a deep demo!

Eventually, the customer realizes what common sense would always say:
- Business analysts are good at designing activity flows
- Designing complex user Forms requires some usability and technical knowledge, which the average business analyst does not have
- Connecting to ancient systems, calling web services and manipulating data... well, that actually requires the technical dude :-)
Requesting Gravatar... Craig Jun 15, 2009 6:13 AM
# re: And Get Rid Of Those Pesky Programmers
Developers really can be expensive. And frankly, as a developer I have always known that it is part of my job to put myself out of a job. In other words, given a perfected business process, if I develop a perfect complementary system, then I will no longer be needed. (At least not until a business process change occurs.) But most companies miss the first part you need to perfect the business process before you toy with the idea of getting rid of software devs. Just ask any Six Sigma expert and they will tell you that...
Requesting Gravatar... webdev_hb Jun 15, 2009 6:22 AM
# re: And Get Rid Of Those Pesky Programmers
@David Nelson - Very well said!
Requesting Gravatar... Michael Myers Jun 15, 2009 6:29 AM
# re: And Get Rid Of Those Pesky Programmers
I believe that most of us (programmers) have seen our usefulness potentially evaporate over time, if not for the constant acquisition of new knowledge. We are always learning and changing. I once read that the U.S. patent office actually closed down for a brief time, the justification being that so much had been invented, there was no need for further patents. We are not in a static business like buggy whip making. We are in a fluid business, with unlimited applications (no pun intended). The reason we do our jobs, I would hope, is the satisfaction we get when a few small flashes of brilliance and a lot of effort enable us and our organizations to "go where no man has gone before." As long as people thirst for new products, services, or better ways of doing things, the talent we provide will be indispensable.
Programmers bring value to organizations because they represent a form of genius that helps others express their dreams.
Requesting Gravatar... Robert R. Jun 15, 2009 7:58 AM
# re: And Get Rid Of Those Pesky Programmers
A couple of years ago I started a new job at an engineering firm that was just getting their feet wet with developing custom GIS systems. For about a month I was trying to fit in, a programmer in a world of P.E.s and EITs and project managers, trying to find some way to describe how what I did was different from what they did. When I hit my 90 day mark I got reviewed by my boss, his boss, and one of the engineering managers. The engineering manager simply didn't seem to get why I was still working there and since he'd hardly ever interacted with me before, he was very vocal about how I wasn't "a contributing member of the team."

The following quote is my sig on CodeProject, and it's a small excerpt of what I told him in response:

Imagine that you are hired to build a bridge over a river which gets slightly wider every day; sometimes it shrinks but nobody can predict when. Your client provides no concrete or steel, only timber and cut stone (but they won't tell you what kind). The coefficient of gravity changes randomly from hour to hour, as does the viscosity of air. Your only tools are a hacksaw, a chainsaw, a rubber mallet, and a length of rope.

Welcome to my world.
Requesting Gravatar... Mike Jun 15, 2009 5:46 PM
# re: And Get Rid Of Those Pesky Programmers
"Every now and then.." ? How about, every next middle manger I've ever met will suggest that he's already accomplished this!
Requesting Gravatar... Horus Kol Jun 15, 2009 11:13 PM
# re: And Get Rid Of Those Pesky Programmers
I think the only real answer is to do what other engineering disciplines have been doing for a long time - setup professional bodies which promote best practice, develop professional certification, and then keep promoting the certification.

Civil engineers are respected because they have to be registered with some professional body, and the requirements for that registration are minimum educations and continuing professional development. At least, that is now - used to be that anyone could put up a house/bridge/cathedral (Isambard K. Brunel wasn't what we'd think of as a civil or nautical engineer - but he built bridges and ships and a whole railway network).

My point is - if we want to break software engineering out of its 'bedroom amateur' public perception, we need to get ourselves organised into a properly self-regulated and outwardly respected profession - but the respect won't come until we get the regulation.
Requesting Gravatar... Dekoracje Okien Jun 16, 2009 4:02 AM
# re: And Get Rid Of Those Pesky Programmers
But why would you want to get rid of programmers. They don't want a lot of moeney and bring great profit for the company. It's worth hiring someone if you have a great idea.
Requesting Gravatar... Mike Jun 16, 2009 6:33 AM
# re: And Get Rid Of Those Pesky Programmers
@Horus Kol: And we also need to get paid for every moment worked, like other professionals (lawyers, doctors, engineers, plumbers, electricians, etc). We are treated like artists and expected to paint them a Rembrant for nothing so they can hang it in their lobby and use it to attract people(customers) with it. Sorry. Unless we ALL start charging for our work and stop giving away our hard work - we will never be respected by anyone. I for one wouldnt mind seeing programmers unionize. No more unpaid overtime. No more robots doing our work (as some suggest might/will happen, or has happened in some areas already!) and no more changing of requirements 1/2 way through the project with that all too-known demand (this change can not affect the delivery date). Yea. Right.

Want to be respected, start acting like the other professionals that wont do work for us - for free!!! I dont blame them, I blame "us".
Requesting Gravatar... Louis DeJardin Jun 16, 2009 1:11 PM
# re: And Get Rid Of Those Pesky Programmers
Coming to the conversation fairly late, but still going to throw two cents in.

@Sherman comes closest to the point I would try to make. You can't get rid of the Programmer any more than you can get rid of the floor. Cover the dirt with cement, cover that with plywood, cover that with carpet... No matter how hard you try, you'll still be standing on something you call the floor.

What I mean by that is the job of the Programmer has been eliminated several times as the state of the art has advanced, yet you'll always have the role. Programmers are the people who can cross the final step of getting an idea into the machine.

So I agree with the conclusion - it's best to improve communication between the last hop (the dev) and the rest of the humans. Trying to skip the last hop to the machine isn't possible, because the second-to-last hop would simply become the last hop on the next generation toolset.
Requesting Gravatar... Ric Jun 16, 2009 6:56 PM
# re: And Get Rid Of Those Pesky Programmers

just posted a reply to this blog post. Very interesting topic and one that has come up time and again throughout my entire career unfortunately :)
Requesting Gravatar... imu Jun 17, 2009 7:50 AM
# re: And Get Rid Of Those Pesky Programmers
The last digit of pi is 3.

Prove me wrong.
Requesting Gravatar... Richard Morgan Jun 17, 2009 10:19 AM
# re: And Get Rid Of Those Pesky Programmers
Not to nit-pick, but The Mythical Man-Month did not originally contain No Silver Bullet. Oh, it's in there now, but NSB dates from 1986, while TMMM dates from 1976.

I guess I care because it gives perspective to how long these ideas have been around and how, sadly, we haven't learned.

Great post.
Requesting Gravatar... David Nelson Jun 17, 2009 4:50 PM
# re: And Get Rid Of Those Pesky Programmers
@Horus Kol

"...used to be that anyone could put up a house/bridge/cathedral..."
"Civil engineers are respected because they have to be registered with some professional body..."

I think this is an important point. Why do you think the requirements for civil engineers changed? Do you think it was because the civil engineers all said "We need to start taking pride in our work and differentiating the real engineers from the Morts"? Not even close. What actually happened is that people were maimed and killed and property was destroyed from buildings falling down, and local governments finally said "You are not ALLOWED to build a building unless you are certified." This *desperately* needs to happen in the software industry. Software developers need to be held accountable when their products fail to live up to specification. Lawsuits only help after the damage has already been done, and it's rare for a successful lawsuit to be brought against a developer for anything less than massive loss of life. The qualifications have to be demanded *before* the job starts; there is no other way to enforce the kind of standards that we have to employ if our discipline is ever going to be taken seriously.
Requesting Gravatar... Peter.O Jun 18, 2009 3:17 PM
# re: And Get Rid Of Those Pesky Programmers
I would rather compare software engineering with linguistics (language engineering). Everyone thinks they can whip up their own flavor of the language (English, French or Igbo). And journalists think they can do all the linguistics themselves.
High school kids who can build websites are also called computer gurus.
I don't think there is much we can do about it except wait till the bridge collapses and they call us in. Then, they'll learn from pain that they needed us in the first place. The more traditional way is to get lobbyists and politicians to make some law that ensures that an important .NET application, for instance, must be certified by a .NET Expert who in turn must be certified by a body.
That's how it works elsewhere: medicine, civil engineering, pharmacy, etc. Without those laws, everyone will try to play doctor when they see the sick.
Requesting Gravatar... psy à domicile Mar 21, 2010 2:39 PM
# re: And Get Rid Of Those Pesky Programmers
My point is that if we want to break software engineering out of its 'bedroom amateur' public perception...

What do you have to say?

(will show your gravatar)
Please add 3 and 1 and type the answer here: