Basic guide for software developers