Electric motors - what for beginning?
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 &amp; 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.