I just got my first Technic joblot and now I am thinking about adding motors. I already have some - cheap ones from Amazon. I attached 1 axle pin to such motor with glue gun, works well except one thing - very often they are not powerful enough to run. I am thinking about getting starter set (8293), but at the same time I know I will enjoy adapting my own engines - question is which motors I should get in order to run builds that has lot of gears, hence lot of friction?
If you're interested in comparing motors regarding to torque and what they can deliver, I would recommend reading Philo's excellent motor comparison page which has a lot of detailed information, very much useful for tinkerers.
Of course not all of these motors are readily available nowadays and depending on your project some may be less suitable; but there's a good chance PF motors are what you're after.
While 8293 which you mentionned is a simple way to get one motor, keep in mind you're also getting a lot of extra stuff which may or may not be useful to you. In particular, battery boxes tend to get superfluous very fast (YMMV on this). So buying motors only might be a cheaper route; they are available per piece on LEGO's online shop - 8883 is the same as the set 8293; 88003 is a more Technic-oriented version and 8882 is the "XL" motor: slower, but with a lot of torque. (Again, read Philo's comparison). On the other hand, if you do want a battery box, it might be more interesting to buy a full motorized LEGO set, in which case you also get tons of additional elements, and the added thrill of building an official set. Beware that some motorized sets also come with IR remote & receiver, which may or may not interest you.
Note that the Power Functions system itself is going to be phased out by LEGO in favor of the newer Powered Up; but so far it's not quite clear if and how you can control those without a remote or app, as there's no "dumb" battery box so far - only hubs with more or less smartness.
And of course, since you're a programmer, you may want to have a look at programmable solutions, either EV3 or the upcoming Spike.
Given your background and overall goals (using 3rd parties motors currently and hoping to power creations using Arduino or Raspberry Pi), I wouldn't go with the starter kit. For my money, I'd buy an M-motor or two and see if they meet your needs. These are currently $7.49 individually on LEGO.com:
As Joubarc pointed out, the starter kit comes with lots of "extras" (switch, lights, battery box, etc) that may add little value for you.
Given your background, you should have no problem modifying that motor to be driven from any source you like, and it will interface better physically with the LEGO Technic system than most solutions you'd come up with using off-the-shelf motors.
PF motor wiring is very simple, as the middle two wires (C1 and C2) simply connect directly to the motor. You can also pop the cover off and solder on your own wires.