This chapter concentrates on practical tips and tricks for improving the efficiency of computer simulation programs. This includes the effect of using truncated and shifted potentials, and the use of table look-up and neural networks for calculating potentials. Approaches for speeding up simulations, such as the Verlet neighbour list, linked-lists and multiple timestep methods are described. The chapter then proceeds to discuss the general structure of common simulation programs; in particular the choice of the starting configuration and the initial velocities of the particles. The chapter also contains details of the overall approach to organising runs, storing the data, and checking that the program is working correctly.