This paper deals with a Software Defined Radio (SDR) receiver capable to process GPS and Galileo signals jointly. A large set of possible solution can be implemented, with the main aim of assessing the performance of the receiver for the considered architectures. For this reason, software receivers, either real-time or non-real-time, are fundamental tools to enable research and new developments in the field of GNSSs. In this paper our intent is to discuss some of the choices one can face when implementing an SDR GNSS receiver, switching from the theory to the practice. We focus our attention on the pseudorange construction and the Position, Velocity and Time (PVT) estimation stage, discussing different algorithms to implement these blocks. ...