Experience and knowledge sharing on software development, engineering practices and programming languages