Ask Slashdot: How Best To Teach Programming To Salespeople? 211
First time accepted submitter greglaw writes "Our company makes development tools, meaning that all our customers are programmers. If you'll forgive the sweeping generalization, on the whole good programmers don't make good salespeople and vice versa. However, it's important that our salespeople understand at some level the customers' problems and how exactly we can help. The goal is not to turn the salespeople into engineers, but just to have them properly understand e.g. what the customer means when he uses the term 'function call.' Most of our customers use C/C++. Does anyone have any recommendations for how best to go about this? Online courses or text books that give an introduction to programming in C/C++ would be great, but also any more general advice on this would be much appreciated."
Don't look for one person to fill two roles (Score:5, Informative)
Pair someone with strong programming skills with someone with strong sales skills. Lots of tech companies supplement their sales staff with "sales engineers" who know the technology. It's not unusual, and many IT organizations are impressed to have someone with expertise sent along with the sales people.
Customers != Gateway (Score:5, Informative)
Which word didn't you understand?
I can see you may not be very familiar with corporate sales.
Sure all of the people using and even buying what they are offering may be programmers... but that does NOT mean they are the only people at the company you will talk to about a purchase, in fact there are usually business owners that have to OK expenses too and need justification/reassurances. The sales guy is there to make them feel comfortable that buying your product is good for the company.
In fact the very existence of sales people in the equation straight up says that somebody will non-technical will be talked to at some point, or else they could simply market over the internet. You do not need sales people for something programmers would buy directly, like a book or a really cheap text editor.
Thus, both a sales engineer and a sales person are required if sales people are needed but they are selling to programmers.
Re:Hire bad programmers with good social skills (Score:5, Informative)
"Hire bad programmers with good social skills"
"You want to hire people who have programming background, but weren't interested or talented enough to pursue that full time"
And the good news is that these people are in abundance in the lead architect/team leader/technical manager positions. I can confirm their existence and numbers (did I mention abundance?) from all the organizations I have worked with.
System level developer, now instructor says.... (Score:5, Informative)
That said... I spend a huge amount of time trying to figure out how to teach topics that are "advanced computing" related to people who need it fed to them in small words and made as simple as possible. I create analogies for things like understanding binary by making an imaginary currency called Binaries (sounds like dinaries) which come in coins starting at one and doubling for each denomination and ask them to make change and put the coins in the proper drawers (which happen to start empty) of a cash register without using the same coin twice. When you remove the math aspect from it and make it a simple task which they have done each time they visit a new country with a new currency they stop being afraid of it and move on.
Programming is often easiest to teach to non-programmers by asking people to "write a program" telling someone how to get from the airport to their house. Things like "If Shell gas station on opposite corner from me and hours of opening are from 6am to 11pm, then turn left". To describe functions, I would ask them to place each actual part of the directions on separate page of a document... mix them up and then on a single page, create a master document which refers to each page as a function to produce the program flow. Do the same with making dough for bread... "Kneed bread violently for 10 minutes"... "If the dough has dried out... add a sprinkle of water." "If the dough is too moist or is sticking to the cooking surface, add a little flour", "Repeat previous two tasks". "Loop back to the kneeding process if the dough has too many bubbles". etc...
I think two hours of this kind of instruction at lunch is enough to teach structured programming. Object oriented programming would require a much longer post
EDA industry is very different (Score:4, Informative)
Yes, thats how it is in EDA industry.
The "requirement" bit is mostly done by the AE or Product engineer, who knows the product.
Sales guy job is to
1. Arrange for an EVAL, i.e, get a foothold in the customer
2. Post EVAL, negotiate a deal
Unfortunately, many other tech vendors do not follow this route.
Re:MBTI oh no (Score:5, Informative)
To quote from Wikipedia
Myers-Briggs Type Indicator
The use of the Myers-Briggs Type Indicator as a predictor of job success has not been supported in studies,[15][16] and its use for this purpose is expressly discouraged in the Manual.[17]
Another case of HR pretending to have a scientific basis for predicting job fit to a profile, and totally missing the point of the original question. Presumably these guys know how to get the sales people they need, but realize that they need to speak the language of their customers.
I would suggest that the best way to train sales staff for any technical product is to take the best communicator from your technical staff and get him (or her) to run a regular seminar on the product, explaining the kind of problem the product is designed to solve and how the customers are likely to use it. Over a shortish time, the seminars will get better and you might even find that involving more techies actually improves the sales and the product.