In this paper, we study the design of linear dispersion (LD) codes for uplink multiuser channels with multiple antennas at the base station and each mobile unit. In the considered scheme, each user employs LD codes to transmit the data, i.e., the transmitted codeword is a linear combination over space and time of certain dispersion matrices with the transmitted symbols. The linear space-time spreading can also be utilized to separate multiple users at the base station. We propose a simulation-based optimization method together with gradient estimation to systematically design the multiuser linear space-time coding under either optimal or suboptimal receivers. We perform the gradient estimation through the score function method. The proposed method can also be applied to design codes under different fading statistics. Simulation results show that under the optimal maximum-likelihood (ML) receiver, the codes obtained by the new algorithm provides roughly the same performance as the low-dimensional spread modulation, as well as the interference-resistant modulation. Moreover, the new codes perform significantly better with suboptimal multiuser receiver structures.