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
Yes.
A developer writes the unittest te ensure that the "unit" does what it suppose to do. A QA person test the whole application.
Besides, a unit test is code, and developers write code. Most of the times QA engineers don't write code.