I would imagine the condition is sufficient (or ought to be sufficient, but apparently isn't in my case), but not necessary. Also, from the hints you've dropped about your job, it is clear that your practical experience in computer science far exceeds my own! (My own being effectively 0.)