Fog Creek Software
Discussion Board




Cowardly Programmers???

Noticed all the heat that Joel's comment about the a "pointless" bookmark redirect dialog caused. Quite a few voices raised explaining that the user knows what's best. The user should run the show.

Can that go to far?

Having worked on projects where users are supposed to come up with the requirements, I've seen programmers turn meek at the hint of a decision. Users own all the business knowledge - what would you do if you have a choice of functionality between A or B?

Yes, ask the user. But sometimes users don't understand your A and B, and sometimes users don't have time and yes obviously there's not a lot of buy-in on projects of that nature.

But I have seen a *lot* of situations where the developers code in either (a) BOTH A and B with an internal switch which adds redundancy or (b) ask the user EVERY time which one they want.

Anyone else encountered this kind of thing?

Gordon Freeman
Friday, June 20, 2003

Yep. Personally I suspect that's what's lurking under the surface when developers want to create requirements documents to the nth degree - they don't want to have to make choices; they want a complete roadmap for the entire application.

Philo

Philo
Friday, June 20, 2003

It's the duty of a professional in any field to forge a usable and beneficial result out of raw user wishes and wants.  The real problem is that the programmer is not being acknowledged in the relationship as the party best able to create the result.

In short, most organizations don't treat the programmer as a professional. They shortcut the programmer's stature to happy fingers on the keyboard. That is the real problem.

Programmers may be whipsawed by user demands for a number of reasons. Management may take a political stance that the user (or surrogates thereof) are "God". Or, as you posit, the programmers may be meek or overly humble. Or there may be other pathologies at work.
But if doctors or lawyers took their clients' "wishes" as a literal directive, the patients would die more often and the defendants would lose their financial asses with regularity...

This is just another point that proves that programming is not really a profession, because it's generally not respected as such.

Bored Bystander
Saturday, June 21, 2003

Board,

I think you have it right. Of course part of the problem is that, unlike doctors and lawyers, we lack a baseline standard of what a programmer is.

One group might classify a programmer as a practitioner of computer science. Another might say it is more of an artistic discipline. If you ask 100 people and you get 100 answers.

The truth is that they are all correct. There is a scientific component, an artistic component, and even a sociological component. And I bet you could think of a number of others as well.

The question is; can we ever come up with a baseline? And even if we could, would a medical board/state bar organization for programmers be accepted? Even more importantly, would a “Board Certified Software Engineer” be treated any differently? Something tells me that the current climate may be too ingrained for it to matter.

Marc
Saturday, June 21, 2003

Marc,

I don't get my hopes up for respect to ever visit programming. If anything, we live in a time where hard work and virtue are sneered at and deliberately disrespected, often due to powerful financial incentives to emasculate certain classes of workers. Engineers have had this state of affairs for years, now it's our turn. See my thread:


http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=52143&ixReplies=7


I have an exit strategy of sorts, but I give little hope to a resurgence of "programmer pride". Most are too clueless to realize when they're being given the shaft.

Bored Bystander
Saturday, June 21, 2003

And worse, they are often given the shaft by other Programmers.

Marc
Saturday, June 21, 2003

"This is just another point that proves that programming is not really a profession, because it's generally not respected as such."

As long as the IT profession is percieved as something that any long-haired, sandal wearing, goatee sporting, I don't need no stinkin college degree, loner, dropout, hacker kid can do, the profession will get no respect.  In all honesty, would you respect someone like that? 

Think of the other professions that get respect and recognition: doctor, lawyer, engineer, etc.  They all have several factors in common:  high-barrier to entry, profession education, accreditation, licensing, certification,
professional societies etc etc etc.

If software development wants to establish itself as a serious profession then it's time for this field to grow up and follow the road to establishment as other professions have.  Otherwise, quit your bitchin and take it in with a
smile, all the while saying "Thank you sir, may I have another".

Quicherbichin
Saturday, June 21, 2003

> I've seen programmers turn meek at the hint of a decision <

Sure. They've been trained to do it. They make a decision and it comes back and bites them. Even a silly arbitrary and entirely temporary decision that the user is meant to change.

"Why did you make the button red?"

"The color of the button is trivial, what do you think of the application."

"I think it would be better with a blue button... maybe a navy blue."

I speak from experience.

www.MarkTAW.com
Saturday, June 21, 2003

Yes, but how often do you then find yourself arguing violently and passionately in defence of your lovely red button when really it was an arbitrary decision and you couldn't give a damn?

I speak from experience ;-)

SteveM
Saturday, June 21, 2003

I can see that if some developers get beat up by users then, sure, it's a conditioned response. Trouble is, I can take it, but now the developers take their turns beating me up to stop me before I get near a decision.

Gordon Freeman
Saturday, June 21, 2003

Gordon, the thing about software development is that there are continually other groups  - non-developers -claiming greater expertise.

UI design is one of these. It used to be very fashionable for "UI experts" or even graphic designers to claim superior knowledge of software design. One of their shibboleths was that users are always right etc etc.

During the 90's, as HCI people starting doing real UI design, that discipline slowly discovered an uncomfortable reality - users don't always know what they want, and are sometimes plain dumb. Sometimes, egads, programmers were even right.

Programming needs advocates to stand up to all these various know-it-alls from time to time.

.
Saturday, June 21, 2003

Quicher ... the term: "IT professional" is actually is used by people who are really just para-professionals. They can't call themselves programmers, so they use a vaguer term.

.
Saturday, June 21, 2003

Actually this time I didn't agree with Joel. Normally I do or have no opinion.

But I would like to get a message is something has changed. The same reason why I don't let IE autosearch when I entered a wrong URL. I prefer to receive a list of options and choice my own. However I'm not your every day user. So maybe for computer handicapped people its usefull.

Smurf975
Saturday, June 21, 2003

I'm just saying this because I have had programs who do everything automaticly mess up.

Smurf975
Saturday, June 21, 2003

Don't take past failures as an indication of the soundness of an idea.

"Programs in the past that did things automatically screwed up." That tells you that they made bad decisions, not that doing things automatically is bad.

As a hypothetical to illustrate my point, imagine looking for someone to compute some mathematical equations for you. In the past, you had someone try to do it with a computer but they failed. So now you summarily reject anybody who uses a computer to do math because of this past failure? The failure was a failure of person, not necessarily a failure of idea.

Evaluate the soundness of an idea independent of any perceived past failures of implementation.

Brad Wilson (dotnetguy.techieswithcats.com)
Saturday, June 21, 2003

Brad, I don't think that's quite what Smurf was saying.

If I'd hired a mathematician in the past and he used a computer and failed, I'd want to double-check the work of the next one I hired. The previous failure would make me wary. I wouldn't just not hire one that used a computer - we all agree that'd be ridiculous.

It's the same with these auto-fix-it features. I've been burned by them in the past, and so now I want to double-check each decision they make. I don't want to get rid of them, I just want them to tell me before they make a change. If I find myself always selecting the same option for the change the dialog wants to make, eventually I'll click on the "don't remind me again" tickbox.

But those dialogs have to earn my trust first!

Darren Collins
Sunday, June 22, 2003

I didn't notice when I looked at the site but can SQLite be used in a multi-user environment? I'm thinking 5-10 users or so.

Marc
Sunday, June 22, 2003

Yeah I meant what Darren told in his last post.

I can't think of software that 100% knows what all its users want.  What may look garbage data to the software. May be realy important to a user.  Well maybe this is why a lot of *nix developers call users lusers. As (l)users are more difficult then then the highest form maths.

Never expect that your interface is the best in the world or your brand. Why else would there be some many diffirent brands of the same product? (cars, televsion, video, game consoles, operating systems and more)

Smurf975
Monday, June 23, 2003

*  Recent Topics

*  Fog Creek Home