As I understood from some Q&A sessions (see this and this), unit tests should be written by developers.
At my previous workplace we tried to give this task to a QA Engine
The developer has to write the unit tests. Otherwise it is like the developer doesn't have to care about the quality. In addition, unit tests help the developer to write better code.
Maybe you've heard about TDD? "Test Driven Development" is a really a good practice for development. Its main purpose is to develop unit tests before write the actual code (which is a strange thing, when we start using TDD, I admit)...