Yes, definitely the engineer should code and write tests. (That's why they're called engineers.) The analyst is the one who doesn't need to, but of course it couldn't hurt either.
I recommend python for simplicity and power. But perl or ruby would be fine too if they are a core tech at your company.
I recommend python for simplicity and power. But perl or ruby would be fine too if they are a core tech at your company.