Demystifying Large Language Models: A Guide for Software Developers