One of the most important things for a recruiter to understand about the psychology of technical people is the difference between (1) systems analysis & design and (2) programming. The skills required of a systems analyst, or the programmer analyst or business analyst who functions as a systems analyst, are different than a programmer or technical professional.
Analysts Are Industry Experts
Analysts with experience in a specific type of vertical application, such as insurance and manufacturing, are more valuable to another company with the same application. Since there are fundamentals that apply to all information systems, analysts occasionally do cross industry lines. For example, good listening and interviewing skills are as important as technical knowledge in designing information systems. An analyst with an abundance of these skills can work with new applications successfully. However, analysts with moderate listening and interviewing skills are generally more successful in the same niche industry, because they are more familiar, hopefully, with the nuances of the business.
Programmers Cross Over More Easily
Programmers are also sought with application experience, for example, a C++ programmer in banking. However, programmers can cross application boundaries a lot more easily than systems analysts. Programmers often have little allegiance to their company's industry in the first place, being more concerned with the software environment they work with. It can also take years to learn the nuances of a language, and many programmers do not like to learn a new one.
As far as getting work done on time, it is more important that the programmer have experience with the type of functions required in the program than the nature of the business. If the functional specifications have been well designed (because of skilled analysts), coding the program should be straightforward.
People Are Different
What takes one programmer a month to do can take another a day. There is that much of a difference, and it all depends on the person's innate ability, level of experience and tools being used. These variables should not be underestimated.
Analysts also come with different skill levels, and the talent for bridging the technical world while having sufficient people skills to obtain meaningful requirements should also not be underestimated. Projects often get out of hand, because the business requirements were not carefully analyzed from the start.
Programmers can cross industry lines easily as long as they continue to use the same languages and support tools as they did in their previous jobs. Analysts can, and indeed do, take jobs in different industries, but their greatest asset is often their business knowledge, which can vary greatly from one type of business to another. See programmer
and nerd rustler