Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re: code-sharing at work.

by 5mi11er (Deacon)
on Mar 23, 2005 at 21:44 UTC ( #441898=note: print w/replies, xml ) Need Help??

in reply to code-sharing at work.

Yep, I agree with most all the posts above. Time is going to be the biggest key. The only way I can think of to make the time shorter is if you or your manager or his/her boss can create some sort of personal benefit for the individuals who start to incorporate parts of the "library" into their code.

Examples off the top of my head are

  • Cash for each library used within a certain time frame
  • Lunch out for those who've migrated to using x modules at the end of a month
  • Golf day
  • etc...
After about 3 of these, there should be enough momentum toward change that the rewards can decrease/cease.


Replies are listed 'Best First'.
Re^2: code-sharing at work.
by geekgrrl (Pilgrim) on Mar 23, 2005 at 22:02 UTC
    hmmm - since we are government, won't be able to do those type of rewards.
    Though I do have a mean brownie recipe that many of my coworkers are fond of...

      Hey, that's a pretty good idea ... you can give out "brownie points" - literally! As a "team motivator", keep an eye on the situation, and give out points, and when the team reaches 20 points, you bring in a batch of brownies...

      Although, admittedly, it would be much nicer if everyone just got along and you didn't need to bribe 'em.

      Personally, I am the one that gets to dictate the coding standards for perl in our team, and I've found that pointing out problems during code reviews is extremely useful in getting people to think my way. That is, pointing out what scenarios the person's code doesn't handle, why it isn't flexible, what type of future requirements to keep in mind when coding.

      And then I also point out in future code review sessions where these changes have come in useful. Changing requirements sometimes end up meaning no code change because of how flexible the code is1. And it's those lightbulb moments that really get us all on the same page. Our manager sees "changing requirements" and equates it to "delta work" (extra work we didn't sign on for). And when we actually don't do any extra work, even though our manager thinks we did, that just improves our perceived performance. And my teammates love it.

      1 I didn't take any computer science, so bear with me if my terminology is a bit off. I subscribe not only to object-oriented methodologies2, but also to what I call data-oriented methodologies. What I mean is that I put the common stuff into a data store of some sort (even if that's a hard-coded hash or array), and then loop through the data to do what I need instead of unrolling the loops and duplicating code. 90% of our data for my primary project is stored external to the code, and I'm trying to find ways to get the other 10% moved out, too. I do this in perl, C, C++, Java ... and am trying to do it in shell script, too, but Bourne shell is extremely limiting for this ;-)

      2 I like OO, but I am not a purist. I probably use OO more than many people, but definitely not 100%. Not everything is an object. Lots of stuff is, but not everything. For example, using perl6-isms, I'll probably like to be able to do something like @list.=sort(). But that's largely due to a more generic built-in (non-OO) sort that will be available from the core, using callbacks (such as sort in perl5).

Re^2: code-sharing at work.
by skyknight (Hermit) on Mar 24, 2005 at 01:28 UTC
    Ugh. Developers who have to be "motivated" in such a childish fashion ought to be fired.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://441898]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (6)
As of 2018-04-23 13:53 GMT
Find Nodes?
    Voting Booth?