What kind of non-technical training course do you suggest for a programmer? Example could be public speaking course, presentation skill, English, business writing, or anything not related to programming or software engineering itself.


Question: Why does Eliezer change facts in retelling what happened at the well?
Answer: According to the meforshim, he changed the narrative in order to convince them that matters proceeded "from Hashem".

Rav Hirsch says


  The reason for all the little differences can at once be seen to be
  based, either on considerations of politeness, to which we have
  already referred above, or to make it more plausible to his hearers
  whom Eliezer seems to have perfectly understood.


They would not have appreciated what actually happened. Note that he said that he first verified who she was before giving her the presents, rather than the actual truth (which was that he gave her the presents first). He also emphasized that she acted exactly as he had asked Hashem in order to show them that it was part of the miracle. They would not have appreciated her actually going to the work of watering the camels without being "influenced" by Hashem to match the request.

In addition, he hinted that if they said no he had other alternatives (right and left meaning other elements of the family - Yishmael and Lot). 

He did not exactly lie (since Yishmael and Lot were not valid possibilities) he just let them make their own assumptions.

One of the meforshim (Rabbi Sorotzkin or Rabbi Munk? - I do not have their chumashim here) points out that they would not have believed him. Lavan (for example) was of the character דבר הרבה ועשה מעט and would not have believed him if he had told the truth and shown that Rivkah was דבר מעט ועשה הרבה In fact, they would have actually looked down on her for acting in that manner.

He had to be careful to make his story believable to superstitious reshaim such as Besuel and Lavan.