small gems of software development