Smart Contracts are pieces of software that are deployed in Blockchain infrastructures to enable the interaction (and production of value) between unknown parties, without intermediaries, but in a trustworthy and transparent manner. A key to Smart Contracts’ success is their delivery to excellent standards of quality (e.g., security, documentation, code understandability etc.). To achieve this goal, the development of Smart Contracts needs to be driven by proven software engineering practices. In this paper, we conducted a systematic mapping study to get a comprehensive overview on how “good” software engineering practices are applied to Smart Contract Development. To identify primary studies that lie on the intersection of software engineering and smart contract development, we have selected specific publication venues and queried the literature. After applying the selection criteria, 113 studies were identified, analyzed, and synthesized results have been reported. The results provided some actionable implications for researchers and practitioners.