My experience is that raw coding ability is basically unteachable. At least by the time someone looks to be hired. The more "soft" stuff is easy to teach. Once an engineer burns their fingers on it he will learn it. So I would definitely look for raw coding skill. The rest is relatively easy to pick up.