4200
For this problem, imagine having the 10 programmers line up randomly, assign the 1st 3 programmers to the 1st job, then assign the next 3 programmers to the 2nd job, and finally assign the remaining 4 programmers to the last job. So with that in mind, let's look at the numbers: 1. There are 10! different ways to arrange the 10 programmers in the line.
2. Of the 1st 3 programmers, we really don't care what their exact order is, so we divide the total by the number of ways of arranging those 3 programmers which is 3!
3. Of the next 3, once again, we don't care about their exact order, so we divide again by 3!
4. And of the final 4, we still don't care about their exact order, so we divide by 4!. So the number of ways of arranging those 10 programmers is 10!/(3!3!4!) = 3628800/(6*6*24) = 3628800/864 = 4200