Brendan Tompkins

Sponsors

The Lounge

Wicked Cool Jobs

News

Advertisement

Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
Applying Behavior Analysis Theory to the Software Industry

Citing Bob Reselman’s “Coding Slave” Darrell gives his take on how to fix the software development industry

In addition to paying great programmers more, we need to pay crappy, or maybe "less sophisticated", programmers much less.

On one hand, he’s absolutely right : great programmers should be rewarded. On the other hand, I don’t normally see overpaid software developers.  And the “fat” that I do see that should be cut, can never be because of politics, policy, etc.  I do, however, run into lots and lots of under-paid, overworked developers – this the is part of the problem that the guild idea from Coding Slave is meant to address. But the interesting thing about this thread, however is Bob Reselman’s comment to Darrell’s post:

You bring up some interesting thoughts on the nature of human motivation. I am very interested to know your thinking on this question: What do you suppose motivates (motivated) an artist such as Van Gogh, Jackson Pollock or Charles Ives? Pollock made some money for his art, but Van Gogh and Ives made not a cent from an endeavor to which they devoted their lives. I wonder, is there something intrinsically motivating in the act of creation?

In my previous life as a student of behavioral psychology, one of the things we were taught was to be very careful about guessing what may be motivating for someone.  We called this Putative thinking.  What is motivating to one person may not be for another – there aren’t really any generally accepted motivators. 

Say you take Darrell’s assumption that money is motivating and you give your good developers raises.  You may find that you wind up reinforcing some adjunct behavior - behavior that has nothing to do with your target behavior.  Wearing ties, showing up early, speaking up in meetings, gossiping, whatever.. The point is, you have no idea if your money has had any real affect on the target behavior writing better code, until you see the better code being written.

Okay, now take Bob’s idea that the act of creating is motivating.  Well, he could be on to something here, and it certainly costs a lot less than Darrell’s idea, but I have a feeling that this may only be motivating for some. Again, the idea is Putative.  You may end up affecting your target behavior, you also may reinforce some other strange behavior that you didn’t intend to reinforce.  You may even end up with some avoidance behavior.

So what you do to increase the target behavior of writing better code?  Well, my point is, you won’t know until you try something, and see what happens.  Now, this idea isn’t any great help if you’re an IT manager, but a behavior analyst would change the environment until there was an increase in the target behavior. When they see an increase, they know that the change they made had an effect. They've then isolated the variables that affect their behavior, and they can begin to make real changes.

What I do like about Darrell and Bob’s ideas are that they focus on the environment.  This is in stark contrast to what I’ve been noticing lately – a lot of what I call “individual differences thinking.” In this type of thinking people say “some developers are good, others aren’t, that’s just the way it is.”  This kind of thinking focuses on identifying and weeding out the superstar developers, not on creating the conditions that foster coding better. 

Since I’ll always be a behavior analyst at heart, I believe this type of indiviual differences thinking is flawed, and is a bad trend in our industry.   I think we all can learn to code better, superstar or not.

-Brendan


Posted Tue, Mar 29 2005 1:15 PM by Brendan Tompkins

[Advertisement]

Comments

Ben Bryant wrote re: Applying Behavior Analysis Theory to the Software Industry
on Tue, Mar 29 2005 3:27 PM
This is a nice post. Being from Washington D.C. area, I see a lot of overpaid programmers. But I completely agree with Bob Reselman's point. The true engineers and disciplined developers should be paid even more, while all the others carried along by the current and revenue of this industry ought not to be paid as well as they are. One of the things that irks me is that many people providing health care (such as nurses) have a REAL JOB where every hour is REAL WORK. There is no way the majority of these slacker developers and IT industry folks with their cushy soft work environments should be paid more than nurses. However, there are often great developers (real "engineers"), that do the brunt of the work for an entire department yet others around them are actually paid more. Finally, I would just say that I agree with your points about motivators, and the problem with paying the workhorses a lot more is that you may set off a chain of events that ends up taking them away from you -- money can give people the luxury of turning their attention elsewhere...
Brendan Tompkins wrote re: Applying Behavior Analysis Theory to the Software Industry
on Tue, Mar 29 2005 4:22 PM
Ben,

You're right, nurses and um how about teachers? They're the real underpaid professions here... They have the same problems as us, I'm sure. Education is always struggling with how to teach better.

Funny, I've always said - pay them more. I wonder why I think that would work for them, but not for us....
JuanBarbatos wrote re: Applying Behavior Analysis Theory to the Software Industry
on Tue, Mar 29 2005 6:45 PM
I agree with alot of what is said here. This doesnt just apply to programming. A while ago I read an article that dealt with non monetary things that could be done which could have the same effect, such as more vacation time or something as simple as a group lunch/outing.

It does kind of suck to know you are way more productive then other people, but paid an equal amount or less then them for whatever reason. It's really difficult when these people are stubborn, like you said we all can learn to code better. It just seems like some choose not to.
Ben Bryant wrote re: Applying Behavior Analysis Theory to the Software Industry
on Tue, Mar 29 2005 6:56 PM
Brendan, yeah, the thing about paying teachers more is to get more capable people willing to do it as a career. Its the reverse problem of the computer industry. If teachers were paid a lot you would still have the same issues with the brilliant ones kept at the same level as the regular ones. But anyway, the big thing is that there is the freedom for the brilliant ones in any field to pursue entrepreneurial aspects of their industry and satisfy their need to excel and succeed by finding and creating new ways. So ultimately there is no way to "fix" the software industry despite inequities, the thing is to protect our freedoms to branch out and find our own business opportunities, and in that sense it already "works". It is every mature person's challenge and responsibility to find their success, the unfairness will always be there... and that's okay. :)
Ben Bryant wrote re: Applying Behavior Analysis Theory to the Software Industry
on Tue, Mar 29 2005 7:04 PM
Oh, and the glaring problems we see in the companies where we work are symptoms that generally lead to the downfall of the company, at least when there is a competitor that does not have the same glaring problems. Good startups are built around certain star performers who end up making a lot off of the company's success while sending those dumb companies to their end. That's the kind of turnover I like to see.
Udi Dahan - The Software Simplist wrote re: Applying Behavior Analysis Theory to the Software Industry
on Wed, Mar 30 2005 6:31 AM
If there's one motivation that I think will positively reinforce the wanted behaviours, I'd have to say that it's training.

Send your best people to the best conferences. Make sure developers have all the books they need, motivate with the technical books they want; "I know we're not using BizTalk today, but I'm really interested in it, do you think we could get a book?" is just the sort of thing you want.

The higher quality developers are always looking for ways to improve themselves, subsidized training both rewards them and makes them more productive. It also positively affects loyalty, which is a tricky thing when only rewarding with money. There will always be someone who can pay more for your best developers.

Like all the "marketing-heads" say, don't compete on price, compete on value. It's true for products, and it's true for employees.
Darrell Norton wrote re: Applying Behavior Analysis Theory to the Software Industry
on Wed, Mar 30 2005 6:49 AM
You can't correlate "overworked" with "underpaid". It all goes back to the business value created. I didn't make that clear in my post, and I'm going to address that in my next post.

I didn't target writing better code because I don't feel like motivating people that don't want to be motivated is a good use of my time. In "First, Break All the Rules", one rule (haha) is that you don't spend a lot of time, money, and effort putting in something that isn't there; instead you work with what they already have.

Also, there are plenty of people out there educating, so no need to go where everyone else already is.
Brendan Tompkins wrote re: Applying Behavior Analysis Theory to the Software Industry
on Wed, Mar 30 2005 8:59 AM
Darrell,

I hate to be argumentative, but I really think the kind of thinking that says "Developer A is motivated, so let's get more like him" is counterproductive in the long run.

The biggest problem here is that it leaves the motivation issue to chance - since you never figured out why developer A was motivated in the first place, your never going to figure out how to get your other developers to be more like him or her.

A lot of places are pretty much stuck with the developers they have. Making them better coders is their only choice.
Dan wrote re: Applying Behavior Analysis Theory to the Software Industry
on Thu, Mar 31 2005 10:16 AM
Great post and comments!

Just my 2cents : What motivate me is the promise of new challenging projects to work on. The human side is often underated, i've seen a group of good developpers code for peanuts just because they were a team and they had a carte blanche to work as they wanted. Also, when people do a good work, i think we should listen more to them, it's motivating.

Joel on Software had an interesting opinion about rewarding employees :
http://www.joelonsoftware.com/articles/fog0000000070.html

Add a Comment

(required)  
(optional)
(required)  
Remember Me?
Devlicio.us