
I've enjoyed reading some the the Spolsky-generated articles recently, but I was snagged by the viewpoints put forth by Daniel Auger in his post "The State of Spolsky or How I Learned to Ignore my Legacy Programmer Boss". That post was furthered by Krishna over at Thought Clusters in "The Legacy Programmer Boss".
Daniel Auger says:
The Legacy Programmer Boss is the manager who had a successful programming career in the past but sees many modern concepts as language baubles, academics, and anti-patterns because they are out of the loop. The fact that they once had a high degree of expertise gives them confidence in making mis-judgements.I wanted to focus on this concept because I believe that every programmer will eventually become a "Legacy Programmer Boss" or a "Legacy Programmer Architect". It is almost universal that this phenomenon will occur in older,experienced software professionals. It is also guaranteed that every programmer will at some point have a legacy boss lead his team. It only helps us all if we can communicate better. When you, the young turk, run into this surly skeptic, try to remember these 7 tips to help work together...
1. Have Respect
First -- and it's first because at this point in my own career, I more resemble the surly skeptic than the young turk -- show some respect! That legacy programmer has some deep experience, and has written some good stuff. He's seen many a revolutionary concept that doesn't quite deliver or evaporates entirely. So, he has earned the right to be a little skeptical. Don't make the mistake of thinking because he's never coded in the latest tools that he can't possibly understand the concepts inside of them. Concepts do not often change dramatically across incremental technologies.
2. Just Explain It
Whether the idea is a new pattern, approach, or construct, just sit down with your boss and explain it to him. Don't expect him to read the documentation and don't send him links to long-winded technical articles. He's not going to fish for himself. It's not his job to be up to date on the latest and greatest coding technique. That's your job. He will grasp the important concepts soon enough, and he does not need the deep knowledge that you do.
3. Find Familiar Ground
Work with him to find a similar, more familiar concept that was commonly used in the past. Compare and contrast the two concepts. Talk, first, about how they are similar, and then how the new way is an even better extension. As I said before, concepts don't often change, so there are usually constructs or techniques in the not-so-distant past that you both know well that are useful analogies. If those are hard to find, is there a real world metaphor that is useful or a comparison to the mechanical world?
4. Bring the Value
Work from the real business value of the advancement. How does this new stuff help your organization in hours saved, bugs avoided, or tests passed. The legacy programmer boss is today more likely to be budget minded and target driven. Make sure the thing that your pitching provides those values. If you can't explain the business value in those terms, you better ask yourself why you are in his office. Because if you don't, he surely will.
5. Be Honest
Be realistic with yourself. You are excited about a brand new technique. The technique is fresh, new, and fun, but won't immediately turn your company's business model on its head. Be aware that because you are offering it up, you might be personally invested. Accept that this at least has a small possibility of not delivering what you expect. Don't oversell it or embellish the advantages. You definitely don't want to risk being associated with what turns out to be some vendor's snake oil.
6. Bring a Plan
Understand how you will introduce the new technology into the landscape. If a big bang approach is your only option, you probably won't find the boss willing to take that risk. Start with a smaller proof of concept, and build from there. In your plan, explain what metrics you are going to track and how they are going to be measured. Show him that you're willing to let the results speak for themselves.
7. Make him look good
Understand that there are a number of priority items that he's trying to address that have been handed to him by his own boss. Introducing your new code construct is probably not one of those. If possible, understand what his objectives are and explain how this new technique can help him reach those objectives. Use these objectives when you're talking about (#4) the value and (#6) the plan.
Follow these tips and you'll find that partnering with your legacy programmer boss can bring even larger value to your organization by understanding both the old and new technologies.
Do you have experiences with a Legacy Programmer Boss of your own? Share them in the comments below.
photo: monkeyc.net
0 Response to '7 Helpful "Legacy Programmer Boss" Tips'
Post a Comment