I had an interesting and valuable experience last weekend. I’ve meet my cousin’s friend that need help regarding online marketing and do search engine optimization for his existing website. My cousin is great at marketing and sales, but I’m not. So I’ve got a good chance to learn the sales tips personally.
I’ve made a mess there, with my developer mindset. However reflecting from my past action, I think there are some points that I can improve, and share.
Developer is weakness / problem oriented
As a developer, I usually need to either improve the functionality of a system or fix the problem there. Both tasks require me to look for the weakness of the system so that I can either improve or fix it. And to fellow team members or developers, we usually straightforward enough to tell that this is bad, this won’t do, this isn’t working, this’ll bring problem, etc. We usually express it starting with problem and weakness first, then suggest the ideal condition and plans on how to improve it.
That way of expressing matters won’t work to normal people outside of developers.
Sales promote a product
Now let’s say that you meet a salesman that promote you a beauty product. Let’s say that it’s cosmetics for women and hair gel for man.
During the entire promotion, do you think that the sales will say something like: “you are ugly right now, but after using this beauty product, you will be beautiful like celebrities” or “the current product you are using right now has many flaws, first it cause irritation to skin, which will bla bla bla…”. That may sounds promising, but in the same time, insulting. People don’t like to be insulted.
Back to developer’s side, we accustomed to directly point the problem, like: “this system is vulnerable to sql injection, it is easily hacked. You need to use this and that to cover it up” or “this system is slow. You need to add this and that and change this so that the performance can improve”. Those statements does not differ from the sales statement previously.
Do we need to?
But, how can we point out the weakness of the system without such expression? The question is, do you need to? And even if you need to point them out, can you use a more indirect and polite way of expression?
Most of the time we don’t need. Say that if you are asked to fix the image that is out of line in the web, do you think you need to say that the performance is bad or it is vulnerable to sql injection? The answer is no, you don’t need to say it. It’s out of topic from the original request.
But then you will say that it is bad to hide the problem for them. They may be not asked it because they don’t know about it, so it’s better to point it to them. That maybe the case, but are you really sure that they don’t know? Do you really sure that despite they don’t know, will they accept the point that you are express? Do you think that they will consider the problem important, or will they think it won’t matters? If you are unsure about all of those above (and more to consider), then it’s better to not touch them.
However there is some cases where you think that the problem is critical enough and have high risk including loss of finance that you think it needs to be expressed to the client or not. In that case, you can go to the most polite way of expressing: ask for permission. You can say something like this, example: “I have some opinion regarding the security in your system, would you like to hear it?”, or “I found that there are several things that can be done to improve the search engine optimization for your website. If you are interested, I can point them all to you”.
Now what if the problem is related to their current request, but indirectly? Such as when you are asked to integrate online payment but the performance of the system is bad that it risks the payment process. Again the good advice is: state the current situation and ask for permission. Something like: “We found a problem during implementing the payment process. The payment process will fail automatically after x seconds. The current performance of system lies around x-5 to x+15 seconds, so the current performance will affect the success rate of payment process. Do you think that we need to improve the system performance?”. Then you can state the steps of improvement, and charge them.
Well, marketing and sales world is far different with developer’s world. It’s hard for developer at first to adapt into marketing world and it require different set of skills. Even if I have learn something that I can share here, there are tons of things that I need to learn.