Is it common for a postdoc to develop the whole commercial systems on his own for his supervisor's industrial customer If a postdoc has strong coding technique, can he be assigned to develop commercial systems from the scratch on his own, including user requirement developing, model design, algorithm design, GUI and database design, system realization and testing, and deployment? You know, a postdoc is usually paid less than industrial employees, it results in relatively lower costs of the system than software companies.

At the same time, is it possible to publish?
As vonbrand mentions, whether the postdoc legally can be assigned to a customer project really depends on the funding source. For instance, we have recently explicitly hired a postdoc to lead a transfer project (essentially a "development project" that will hopefully end in a real product). The funding we use allows and supports this so I see no issues at all. Of course, if we used money that was given to us for some other cause (e.g., to conduct some fundamental research) it would be a different story.

However, I have the impression that the issue here is something else entirely. Notably, I suspect that the OP got hired under the pretense of a regular postdoc (i.e., on a position that is usually considered a stepping stone for a professorship) and is now pushed into what is essentially an industry development job due to her/his specific skills. Such situations are not uncommon in industry - people get reassigned to different roles based on changing company needs all the time. However, in academia, this (while maybe legal) is a rather shady move. Given how competitive academia is, there are strong career implications in working for a substantiated time in a specific role that does not progress the metrics that are typically required for the next career step (publications and acquired funding, typically).

As such, the OP should definitely discuss her/his career plan with whoever wants her/him to work on this customer project, and decide whether these career goals are consistent with the management goals of the lab. In the worst case, a move to a different lab may be a better option than working on a project that ends up a negative factor in the career progression.


  You know, a postdoc is usually paid less than industrial employees, it results in relatively lower costs of the system than software companies.


I am not sure whether this is correct (I certainly make more than many entry-level professionals), but anyway it does not seem to be the important issue here.


  At the same time, is it possible to publish?


Maybe? This is impossible for us to tell from the outside. But anyway, the question should not be "can I publish anything at all?", but rather "how much less am I publishing, and how much weaker are my scientific contributions, because I work on this product rather than on my science? Essentially, what are the opportunity costs in terms of scientific productivity for working in a developer role?