I posted a comment to Michael Eisenberg’s blog entry in which he warns of a dearth of programmers in Israel familiar with what he considers important technologies.
In addition to my rebuttal points there I sent him an email with a couple of others, which I’ll share here:
· Training people on non-Microsoft technologies is not such a big deal, assuming that they’ve got a good grounding in the discipline. Unfortunately, that’s unlikely because of the academic situation, which is a better candidate for your vituperation than the use of Microsoft in the Army. Academic degrees in CS here tend to be heavy on Math and theory and light on understanding how computers actually take the code that you write and do things with it. I got that in grad school at NYU and use the knowledge almost daily. On the other end of the spectrum are the technical degrees, which give more practical training in programming but even less fundamental understanding than the academic programs. And neither of them teaches any Software Engineering principles (like why OO is good or when Agile is appropriate).
To paint with a very, very broad brush, I find that the major problems faced by startups are managerial and due to a lack of philosophical bent (usually accompanied by extreme arrogance) on the part of the executive team. Among other things, this tends to make them go straight from too small and harried to develop anything efficiently to too big to be flexible.