Pro Developer: Creating Your Dream Project
Making the Sale
You now know what you want, who can give it to you, what needs to be done, and what the company or individual really cares about. All that remains is for the decision maker to see that you have the ability to bring this to life and motivate them to let you do so. By the way, I did notice that the moment I mentioned the word "sale," some of you started fidgeting uncomfortably and sneaking your hands over towards the slide ruler. Look very closely and you'll notice that I'm still holding that white board eraser. And my aim is deadly accurate. So relax. This is not as hard as it may seem.
The first thing you need to know about making the sale is you don't want to come off like a salesman. Just be your normal, geeky self. It'll only put them off and raise their resistance if you start acting otherwise. Phoniness is a turnoff for everyone. Besides, you're not selling used cars here. You're simply talking to people you work with every day, and making a casual suggestion or two. What makes it effective is that you're keeping their personal interests, not your own, in the spotlight. That makes all the difference in the world.
You're not here to suggest cool new technologies to them, you're here to offer ideas that will improve their personal or professional position in life. That's how you get, and keep, their attention. In fact, as much as possible, avoid even getting into implementation details if you can. That just creates something that they might want to argue about. Also, keep it quiet. You don't want to advertise your campaign to anyone unless they are trusted allies who are absolutely essential in making the sale. Otherwise, you simply create competition as word gets around and others start jockeying for position to get the goodies for themselves.
Get Them Excited
The next item on our agenda is prototyping. I'm generally opposed to prototypes in production scenarios for reasons I won't get into here. However, when you're making a sale, they can be a great tool. Spend some of your spare time throwing together a purely smoke & mirrors demo to show them exactly what you've got in mind. It works for you in a couple of ways.
First, they can actually visualize the path to the benefits. Second, when someone sees a user interface, against all common sense they assume that it's "mostly done." After all, they can select from a menu. How much more could there be to do? It doesn't matter if this is throwaway code. Your job is to get them excited about it, and to show them that it's so close they can almost taste it. Because you're proposing something that benefits them personally, they're going to want to believe in it, and very much so.
Show Them How Easy It Us
Now that they're drooling over the great tool you're proposing that will help them get that promotion they've been dreaming of, you have to show them how you're available to do it for them. I'm assuming you're currently working on a project, since you have a job there. What you do now is give them a road map to success. Either show them the exit strategy you have for your current work ("You know, that new guy is pretty much up to speed on all my stuff, anyway") or demonstrate that you can accomplish this without impacting your "real" job ("Look what I've accomplished already by making productive use of the bits of down time we have here & there"). In the case of the latter, don't despair. Part-time gigs magically turn into full-time ones once your manager starts to see some benefits and gets impatient for the results. Also, know where you can get the additional resources you may need ("By the way, Joe over in maintenance is really in a slow period right now, and I know we could count on his help").
Ask for the Sale!
You've now got the decision maker excited about something that you want to do, and you've shown them how you can be available to do it. The critical mistake that even experienced salespeople make at this point is that they forget to ask for the sale. Don't assume that simply showing the decision maker the benefits will prompt him to say, "Hey, that's great, why don't you get started on it?" It doesn't work that way. Instead, you need to close the transaction. The best technique for this is extremely easy, and is known as "assuming the sale." This means that you simply continue on with your conversation as if they already said yes. One of the best ways to do this is to talk about the next step you'll be taking, and just let them bob their heads up and down. By the way, this stuff really does work. Salespeople have been doing it to you for years. Why do you think I had you buy those guys in Marketing a drink, anyway?
Some of this stuff has been rather conceptual in nature, so let me give you a working example to put it into a practical, day-to-day context that you can relate to. A programmer friend and I were working at a large corporation where our team had to implement a new dynamic link library for data entry forms & validation each time a new sale was made, to match the client's requirements. Each iteration was taking them around 6 months to complete because the validation logic was complex.
Our project manager was constantly being harassed by management about timelines, missed deadlines, impatient clients, abd so forth. He also had the typical headaches of the requirements changing more often than the wind changes direction. In short, he wasn't having any fun. Neither were we. As projects go, this one sucked.
My friend observed that this was obviously a job for a form generation tool. We brainstormed, put together a quick dog & pony app, and explained to our manager how we could kick out this tool in less time than it took for one customer's form library and that when we were done, what took 6 months to code by hand could be accomplished in a couple of weeks. He only had two words to say to us. "Do it." We then went off and played with the latest technologies and had a blast. When we were done, the tool truly delivered as we promised.
By the way, remember the bit about not advertising what you're proposing? The other programmers got wind of our little scheme after the decision was already made, and were unhappy. They were contractors (as were we) and they were afraid that this would put them out of a job. (I'll skip my normal tirade about ethics for the sake of expediency.) So, after we delivered a killer tool and moved on to the next contract, they scrapped it and went back to 6 months of coding by hand. What did we care? We had a blast, delivered on our promises, and left a project manager with the impression that we were equal to the gods of old Olympus. In fact, the only reason the programmers succeeded in scrapping the tool in the first place is because our manager got promoted. If that doesn't sound like the classic win/win scenario to you, then you've been fiddling with that slide ruler when I wasn't looking instead of paying attention.
One last bit of advice. Start small. You'll get better at this as you go along, and nothing increases your ability to succeed like previous successes. You'll soon build a reputation as a "make it happen" person. In fact, before you know it, you'll probably be ushering the rest of us out of your well-equipped office and closing the door so you can talk to your girlfriend. Of course, we'll all just think you were lucky.
About the Author
Christopher Duncan, President of Show Programming of Atlanta, is author of The Career Programmer: Guerilla Tactics for an Imperfect World (Apress). He can be reached at Chris@ShowProgramming.com.
Copyright © 2002, Christopher Duncan.
Page 2 of 2