A full-stack developer is a type of software engineer who has a broad skill set encompassing both the front-end (what users see) and back-end (what engineers see) of software development.